commit 3b38c49bf03746c377137f7d95164ea4ea3ef75e Author: Ernad Husremovic Date: Fri Aug 29 15:49:21 2025 +0200 Initial commit: Odoomates Odoo packages (12 packages) diff --git a/README.md b/README.md new file mode 100644 index 0000000..5905ee8 --- /dev/null +++ b/README.md @@ -0,0 +1,62 @@ +# Odoomates Odoo Packages + +This repository contains **12** Odoo packages from Odoomates vendor. + +## About Odoomates + +Odoomates is a recognized vendor in the Odoo ecosystem, providing specialized addons and customizations. + +## Packages Included (12 packages) + +- **odoo-bringout-odoomates-accounting_pdf_reports** - Accounting Pdf Reports +- **odoo-bringout-odoomates-om_account_accountant** - Om Account Accountant +- **odoo-bringout-odoomates-om_account_asset** - Om Account Asset +- **odoo-bringout-odoomates-om_account_budget** - Om Account Budget +- **odoo-bringout-odoomates-om_account_daily_reports** - Om Account Daily Reports +- **odoo-bringout-odoomates-om_account_followup** - Om Account Followup +- **odoo-bringout-odoomates-om_data_remove** - Om Data Remove +- **odoo-bringout-odoomates-om_fiscal_year** - Om Fiscal Year +- **odoo-bringout-odoomates-om_hospital** - Om Hospital +- **odoo-bringout-odoomates-om_mass_confirm_cancel** - Om Mass Confirm Cancel +- **odoo-bringout-odoomates-om_recurring_payments** - Om Recurring Payments +- **odoo-bringout-odoomates-task_check_list** - Task Check List + + +## Installation + +Install any package from this collection: + +```bash +# Install from local directory +pip install packages/odoomates/PACKAGE_NAME/ + +# Install in development mode +pip install -e packages/odoomates/PACKAGE_NAME/ + +# Using uv (recommended for speed) +uv add packages/odoomates/PACKAGE_NAME/ +``` + +## Repository Structure + +Each package in this repository follows the standard Odoo addon structure: + +``` +odoomates/ +├── odoo-bringout-odoomates-ADDON/ +│ ├── ADDON_NAME/ # Complete addon code +│ │ ├── __init__.py +│ │ ├── __manifest__.py +│ │ └── ... (models, views, etc.) +│ ├── pyproject.toml # Python package configuration +│ └── README.md # Package documentation +└── ... +``` + +## License + +Each package maintains its original license as specified by Odoomates. + +## Support + +For support with these packages, please refer to the original Odoomates documentation or community resources. diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/README.md b/odoo-bringout-odoomates-accounting_pdf_reports/README.md new file mode 100644 index 0000000..de18de4 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/README.md @@ -0,0 +1,46 @@ +# Odoo 16 Accounting Financial Reports + +Accounting Reports For Odoo 16, Accounting Financial Reports, Odoo 16 Financial Reports + +## Installation + +```bash +pip install odoo-bringout-odoomates-accounting_pdf_reports +``` + +## Dependencies + +This addon depends on: +- account + +## Manifest Information + +- **Name**: Odoo 16 Accounting Financial Reports +- **Version**: 16.0.2.0.4 +- **Category**: Invoicing Management +- **License**: LGPL-3 +- **Installable**: True + +## Source + +Custom addon from bringout-odoomates vendor, addon `accounting_pdf_reports`. + +## License + +This package maintains the original LGPL-3 license from the addon. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/README.rst b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/README.rst new file mode 100644 index 0000000..07d47cf --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/README.rst @@ -0,0 +1,46 @@ +==================================== +Odoo 16 Accounting Financial Reports +==================================== + +This Module will provide all the financial reports for odoo 16 +community edition + +Installation +============ + +To install this module, you need to: + +Download the module and add it to your Odoo addons folder. Afterward, log on to +your Odoo server and go to the Apps menu. Trigger the debug mode and update the +list by clicking on the "Update Apps List" link. Now install the module by +clicking on the install button. + +Upgrade +============ + +To upgrade this module, you need to: + +Download the module and add it to your Odoo addons folder. Restart the server +and log on to your Odoo server. Select the Apps menu and upgrade the module by +clicking on the upgrade button. + + +Configuration +============= + +There is Nothing to Configure + + +Credits +======= + +Contributors +------------ + +* Odoo Mates + + +Author & Maintainer +------------------- + +This module is maintained by the Odoo Mates \ No newline at end of file diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/__init__.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/__init__.py new file mode 100644 index 0000000..ceea55a --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/__init__.py @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- + +from . import wizard +from . import models +from . import report + + +def _pre_init_clean_m2m_models(cr): + cr.execute("""DROP TABLE IF EXISTS account_journal_account_report_partner_ledger_rel""") diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/__manifest__.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/__manifest__.py new file mode 100644 index 0000000..dc2baf3 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/__manifest__.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- + +{ + 'name': 'Odoo 16 Accounting Financial Reports', + 'version': '16.0.2.0.4', + 'category': 'Invoicing Management', + 'description': 'Accounting Reports For Odoo 16, Accounting Financial Reports, ' + 'Odoo 16 Financial Reports', + 'summary': 'Accounting Reports For Odoo 16', + 'sequence': '1', + 'author': 'Odoo Mates, Odoo SA', + 'license': 'LGPL-3', + 'company': 'Odoo Mates', + 'maintainer': 'Odoo Mates', + 'support': 'odoomates@gmail.com', + 'website': 'https://www.youtube.com/watch?v=yA4NLwOLZms', + 'depends': ['account'], + 'live_test_url': 'https://www.youtube.com/watch?v=yA4NLwOLZms', + 'data': [ + 'security/ir.model.access.csv', + 'data/account_account_type.xml', + 'views/menu.xml', + 'views/ledger_menu.xml', + 'views/financial_report.xml', + 'views/settings.xml', + 'wizard/account_report_common_view.xml', + 'wizard/partner_ledger.xml', + 'wizard/general_ledger.xml', + 'wizard/trial_balance.xml', + 'wizard/balance_sheet.xml', + 'wizard/profit_and_loss.xml', + 'wizard/tax_report.xml', + 'wizard/aged_partner.xml', + 'wizard/journal_audit.xml', + 'report/report.xml', + 'report/report_partner_ledger.xml', + 'report/report_general_ledger.xml', + 'report/report_trial_balance.xml', + 'report/report_financial.xml', + 'report/report_tax.xml', + 'report/report_aged_partner.xml', + 'report/report_journal_audit.xml', + 'report/report_journal_entries.xml', + ], + 'pre_init_hook': '_pre_init_clean_m2m_models', + 'installable': True, + 'application': False, + 'auto_install': False, + 'images': ['static/description/banner.gif'], +} diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/data/account_account_type.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/data/account_account_type.xml new file mode 100644 index 0000000..d2d280d --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/data/account_account_type.xml @@ -0,0 +1,96 @@ + + + + + + Receivable + asset_receivable + + + + Payable + liability_payable + + + + Bank and Cash + asset_cash + + + + Credit Card + liability_credit_card + + + + Current Assets + asset_current + + + + Non-current Assets + asset_non_current + + + + Prepayments + asset_prepayments + + + + Fixed Assets + asset_fixed + + + + Current Liabilities + liability_current + + + + Non-current Liabilities + liability_non_current + + + + Equity + equity + + + + Current Year Earnings + equity_unaffected + + + + Income + income + + + + Other Income + income_other + + + + Expenses + expense + + + + Depreciation + expense_depreciation + + + + Cost of Revenue + expense_direct_cost + + + + Off-Balance Sheet + off_balance + + + + \ No newline at end of file diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/doc/RELEASE_NOTES.md b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/doc/RELEASE_NOTES.md new file mode 100644 index 0000000..880fd2e --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/doc/RELEASE_NOTES.md @@ -0,0 +1,11 @@ +## Module + +#### 18.03.2023 +#### Version 16.0.1.0.2 +##### FIX +- temp remove analytic filer in TB and GL + +#### 22.10.2022 +#### Version 16.0.1.0.1 +##### IMP +- initial release diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/i18n/accounting_pdf_reports.pot b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/i18n/accounting_pdf_reports.pot new file mode 100644 index 0000000..406a99c --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/i18n/accounting_pdf_reports.pot @@ -0,0 +1,1406 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * accounting_pdf_reports +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-04-26 14:31+0000\n" +"PO-Revision-Date: 2024-04-26 14:31+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: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +msgid ": General ledger" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid ": Trial Balance" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +msgid "Not due" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Analytic Accounts:" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_tax +msgid "Company:" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_financial +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_tax +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Date from :" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_financial +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_tax +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Date to :" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Display Account:" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +msgid "Display Account" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +msgid "Entries Sorted By:" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +msgid "Journal:" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Journals:" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +msgid "Partner's:" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +msgid "Period Length (days)" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_tax +msgid "Purchase" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +msgid "Sorted By:" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +msgid "Start Date:" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_financial +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_tax +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Target Moves:" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +msgid "Total" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Account" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Code" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_account_type +msgid "Account Account Type" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_aged_trial_balance +msgid "Account Aged Trial balance Report" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_common_account_report +msgid "Account Common Account Report" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_common_partner_report +msgid "Account Common Partner Report" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_common_report +msgid "Account Common Report" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_report_partner_ledger +msgid "Account Partner Ledger" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_print_journal +msgid "Account Print Journal" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_financial_report +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.view_account_financial_report_form +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.view_account_financial_report_search +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.view_account_financial_report_tree +msgid "Account Report" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__account_report_id +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_account_reports +msgid "Account Reports" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +msgid "Account Total" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__type__account_type +msgid "Account Type" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__account_type_ids +msgid "Account Types" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_accounting_report +msgid "Accounting Report" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__account_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__account_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__account_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__account_ids +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__type__accounts +msgid "Accounts" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_aged_balance_view +#: model:ir.actions.report,name:accounting_pdf_reports.action_report_aged_partner_balance +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_aged_trial_balance +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +msgid "Aged Partner Balance" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_report_accounting_pdf_reports_report_agedpartnerbalance +msgid "Aged Partner Balance Report" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_aged_payable +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_aged_payable +msgid "Aged Payable" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_aged_receivable +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_aged_receivable +msgid "Aged Receivable" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_balance_report__display_account__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_account_report__display_account__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_general_ledger__display_account__all +msgid "All" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_aged_trial_balance__target_move__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_balance_report__target_move__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_account_report__target_move__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_journal_report__target_move__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_partner_report__target_move__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_report__target_move__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_print_journal__target_move__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_general_ledger__target_move__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_partner_ledger__target_move__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_tax_report_wizard__target_move__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__accounting_report__target_move__all +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_financial +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_tax +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "All Entries" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_aged_trial_balance__target_move__posted +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_balance_report__target_move__posted +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_account_report__target_move__posted +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_journal_report__target_move__posted +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_partner_report__target_move__posted +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_report__target_move__posted +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_print_journal__target_move__posted +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_general_ledger__target_move__posted +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_partner_ledger__target_move__posted +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_tax_report_wizard__target_move__posted +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__accounting_report__target_move__posted +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_financial +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_tax +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "All Posted Entries" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "All accounts" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +msgid "All accounts'" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +msgid "Analytic Account" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__analytic_account_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__analytic_account_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__analytic_account_ids +msgid "Analytic Accounts" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.financial.report,name:accounting_pdf_reports.account_financial_report_assets0 +msgid "Assets" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_finance_audit_reports +msgid "Audit Reports" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__style_overwrite__0 +msgid "Automatic formatting" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_financial +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Balance" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.financial.report,name:accounting_pdf_reports.account_financial_report_balancesheet0 +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_report_bs +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_account_report_bs +msgid "Balance Sheet" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_partner_report_partnerledger +msgid "Balance Statement (Partner Ledger)" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_liquidity +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__asset_cash +msgid "Bank and Cash" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +msgid "Base Amount" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.account_aged_balance_view +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.account_common_report_view +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.accounting_tax_report_view +msgid "Cancel" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__children_ids +msgid "Children" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.view_account_financial_report_form +msgid "Childrens" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Code" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__label_filter +msgid "Column Label" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_common_journal_report +msgid "Common Journal Report" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__company_id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__company_id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__company_id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__company_id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__company_id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report__company_id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__company_id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__company_id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__company_id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard__company_id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__company_id +msgid "Company" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.accounting_report_view +msgid "Comparison" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_direct_costs +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__expense_direct_cost +msgid "Cost of Revenue" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_account_type__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__create_uid +msgid "Created by" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_account_type__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__create_date +msgid "Created on" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_financial +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Credit" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_credit_card +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__liability_credit_card +msgid "Credit Card" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +msgid "Currency" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_current_assets +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__asset_current +msgid "Current Assets" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_current_liabilities +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__liability_current +msgid "Current Liabilities" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_unaffected_earnings +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__equity_unaffected +msgid "Current Year Earnings" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_print_journal__sort_selection__date +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_general_ledger__sortby__sort_date +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__accounting_report__filter_cmp__filter_date +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +msgid "Date" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard__date_from +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__date_from_cmp +msgid "Date From" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard__date_to +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__date_to_cmp +msgid "Date To" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +msgid "Date:" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.accounting_report_view +msgid "Dates" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_financial +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Debit" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_depreciation +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__expense_depreciation +msgid "Depreciation" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__display_account +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__display_account +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__display_account +msgid "Display Accounts" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__debit_credit +msgid "Display Debit/Credit Columns" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_account_type__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__display_name +msgid "Display Name" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__display_detail__detail_flat +msgid "Display children flat" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__display_detail__detail_with_hierarchy +msgid "Display children with hierarchy" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__display_detail +msgid "Display details" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.res_config_settings_view_form +msgid "Drill Down Reports" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.res_config_settings_view_form +msgid "Dynamic Accounting Reports" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__enable_filter +msgid "Enable Comparison" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__date_to +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__date_to +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__date_to +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__date_to +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__date_to +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report__date_to +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__date_to +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__date_to +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__date_to +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__date_to +msgid "End Date" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.res_config_settings_view_form +msgid "Enhanced Financial Reports" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__sort_selection +msgid "Entries Sorted by" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +msgid "Entry Label" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_equity +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__equity +msgid "Equity" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.res_config_settings_view_form +msgid "Excel Reports" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.financial.report,name:accounting_pdf_reports.account_financial_report_expense0 +msgid "Expense" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_expenses +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__expense +msgid "Expenses" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__filter_cmp +msgid "Filter by" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.actions.report,name:accounting_pdf_reports.action_report_financial +msgid "Financial Report" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__style_overwrite +msgid "Financial Report Style" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_financial_report_tree +#: model:ir.model,name:accounting_pdf_reports.model_report_accounting_pdf_reports_report_financial +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_finance_legal_statement +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_finance_reports_settings +msgid "Financial Reports" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.res_config_settings_view_form +msgid "Financial Reports in Excel" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_fixed_assets +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__asset_fixed +msgid "Fixed Assets" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,help:accounting_pdf_reports.field_account_financial_report__sign +msgid "" +"For accounts that are typically more debited than credited and that you " +"would like to print as negative amounts in your reports, you should reverse " +"the sign of the balance; e.g.: Expense account. The same applies for " +"accounts that are typically more credited than debited and that you would " +"like to print as positive amounts in your reports; e.g.: Income account." +msgstr "" + +#. module: accounting_pdf_reports +#. odoo-python +#: code:addons/accounting_pdf_reports/report/report_aged_partner.py:0 +#: code:addons/accounting_pdf_reports/report/report_financial.py:0 +#: code:addons/accounting_pdf_reports/report/report_general_ledger.py:0 +#: code:addons/accounting_pdf_reports/report/report_journal.py:0 +#: code:addons/accounting_pdf_reports/report/report_partner_ledger.py:0 +#: code:addons/accounting_pdf_reports/report/report_tax.py:0 +#: code:addons/accounting_pdf_reports/report/report_trial_balance.py:0 +#, python-format +msgid "Form content is missing, this report cannot be printed." +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_general_ledger_menu +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_moves_ledger_general +#: model:ir.actions.report,name:accounting_pdf_reports.action_report_general_ledger +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_action_account_moves_ledger_general +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_general_ledger +msgid "General Ledger" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_report_general_ledger +#: model:ir.model,name:accounting_pdf_reports.model_report_accounting_pdf_reports_report_general_ledger +msgid "General Ledger Report" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.view_account_financial_report_search +msgid "Group By" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_account_type__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__id +msgid "ID" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,help:accounting_pdf_reports.field_account_report_general_ledger__initial_balance +msgid "" +"If you selected date, this field allow you to add a row to display the " +"amount of debit/credit/balance that precedes the filter you've set." +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__initial_balance +msgid "Include Initial Balances" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_revenue +#: model:account.financial.report,name:accounting_pdf_reports.account_financial_report_income0 +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__income +msgid "Income" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Initial Balance" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,help:accounting_pdf_reports.field_account_report_partner_ledger__amount_currency +msgid "" +"It adds the currency column on report if the currency differs from the " +"company currency." +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__style_overwrite__5 +msgid "Italic Text (smaller)" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +msgid "JRNL" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +msgid "Journal" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_general_ledger__sortby__sort_journal_partner +msgid "Journal & Partner" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_report_accounting_pdf_reports_report_journal +msgid "Journal Audit Report" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_print_journal__sort_selection__move_name +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +msgid "Journal Entry Number" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +msgid "Journal and Partner" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +msgid "Journal:" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__journal_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__journal_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__journal_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__journal_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__journal_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report__journal_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__journal_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__journal_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__journal_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard__journal_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__journal_ids +msgid "Journals" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_print_journal_menu +#: model:ir.actions.report,name:accounting_pdf_reports.action_report_journal +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_print_journal +msgid "Journals Audit" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.actions.report,name:accounting_pdf_reports.action_report_journal_entries +msgid "Journals Entries" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +msgid "Label" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_account_type____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report____last_update +msgid "Last Modified on" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_account_type__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_account_type__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__write_date +msgid "Last Updated on" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_finance_entries_accounting_ledgers +msgid "Ledgers" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__level +msgid "Level" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.financial.report,name:accounting_pdf_reports.account_financial_report_liability0 +#: model:account.financial.report,name:accounting_pdf_reports.account_financial_report_liabilitysum0 +msgid "Liability" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__style_overwrite__1 +msgid "Main Title 1 (bold, underlined)" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +msgid "Move" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_account_type__name +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_financial +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +msgid "Name" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_tax +msgid "Net" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__accounting_report__filter_cmp__filter_no +msgid "No Filters" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__display_detail__no_detail +msgid "No detail" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_non_current_assets +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__asset_non_current +msgid "Non-current Assets" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_non_current_liabilities +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__liability_non_current +msgid "Non-current Liabilities" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__style_overwrite__4 +msgid "Normal Text" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_off_sheet +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__off_balance +msgid "Off-Balance Sheet" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_other_income +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__income_other +msgid "Other Income" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__parent_id +msgid "Parent" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.view_account_financial_report_search +msgid "Parent Report" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +msgid "Partner" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_moves_ledger_partner +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_partner_ledger_menu +#: model:ir.actions.report,name:accounting_pdf_reports.action_report_partnerledger +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_action_account_moves_ledger_partner +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_partner_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +msgid "Partner Ledger" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_report_accounting_pdf_reports_report_partnerledger +msgid "Partner Ledger Report" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_finance_partner_reports +msgid "Partner Reports" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__result_selection +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__result_selection +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__result_selection +msgid "Partner's" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +msgid "Partner:" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__partner_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__partner_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__partner_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__partner_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__partner_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__partner_ids +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +msgid "Partners" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_payable +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__liability_payable +msgid "Payable" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_aged_trial_balance__result_selection__supplier +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_partner_report__result_selection__supplier +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_partner_ledger__result_selection__supplier +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +msgid "Payable Accounts" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__period_length +msgid "Period Length (days)" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_prepayments +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__asset_prepayments +msgid "Prepayments" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__sign__1 +msgid "Preserve balance sign" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.res_config_settings_view_form +msgid "Preview financial reports without downloading" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.account_aged_balance_view +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.account_common_report_view +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.accounting_tax_report_view +msgid "Print" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,help:accounting_pdf_reports.field_account_common_journal_report__amount_currency +#: model:ir.model.fields,help:accounting_pdf_reports.field_account_print_journal__amount_currency +msgid "" +"Print Report with the currency column if the currency differs from the " +"company currency." +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.financial.report,name:accounting_pdf_reports.account_financial_report_profitloss_toreport0 +msgid "Profit (Loss) to report" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.financial.report,name:accounting_pdf_reports.account_financial_report_profitandloss0 +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_report_pl +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_account_report_pl +msgid "Profit and Loss" +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_receivable +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__asset_receivable +msgid "Receivable" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_aged_trial_balance__result_selection__customer +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_partner_report__result_selection__customer +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_partner_ledger__result_selection__customer +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +msgid "Receivable Accounts" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_aged_trial_balance__result_selection__customer_supplier +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_partner_report__result_selection__customer_supplier +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_partner_ledger__result_selection__customer_supplier +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +msgid "Receivable and Payable Accounts" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__reconciled +msgid "Reconciled Entries" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +msgid "Ref" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +msgid "Reference:" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.view_account_financial_report_form +msgid "Report" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__report_domain +msgid "Report Domain" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__name +msgid "Report Name" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.account_aged_balance_view +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.account_common_report_view +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.accounting_tax_report_view +msgid "Report Options" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.view_account_financial_report_search +msgid "Report Type" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__account_report_id +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__type__account_report +msgid "Report Value" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.view_account_financial_report_search +msgid "Reports" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__sign__-1 +msgid "Reverse balance sign" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_tax +msgid "Sale" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__sequence +msgid "Sequence" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__sign +msgid "Sign on Reports" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__style_overwrite__6 +msgid "Smallest Text" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__sortby +msgid "Sort by" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__date_from +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__date_from +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__date_from +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__date_from +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__date_from +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report__date_from +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__date_from +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__date_from +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__date_from +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__date_from +msgid "Start Date" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__target_move +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__target_move +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__target_move +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__target_move +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__target_move +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report__target_move +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__target_move +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__target_move +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__target_move +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard__target_move +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__target_move +msgid "Target Moves" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_tax +msgid "Tax" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +msgid "Tax Amount" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +msgid "Tax Declaration" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.actions.report,name:accounting_pdf_reports.action_report_account_tax +#: model:ir.model,name:accounting_pdf_reports.model_account_tax_report_wizard +#: model:ir.model,name:accounting_pdf_reports.model_report_accounting_pdf_reports_report_tax +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_account_report +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_tax +msgid "Tax Report" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_tax_report +msgid "Tax Reports" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,help:accounting_pdf_reports.field_account_account_type__type +msgid "" +"These types are defined according to your country. The type contains more " +"information about the account and its specificities." +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,help:accounting_pdf_reports.field_accounting_report__label_filter +msgid "" +"This label will be displayed on report to show the balance computed for the " +"given comparison filter." +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,help:accounting_pdf_reports.field_accounting_report__debit_credit +msgid "" +"This option allows you to get more details about the way your balances are " +"computed. Because it is space consuming, we do not allow to use it while " +"doing a comparison." +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__style_overwrite__2 +msgid "Title 2 (bold)" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__style_overwrite__3 +msgid "Title 3 (bold, smaller)" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +msgid "Total" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_balance_menu +#: model:ir.actions.report,name:accounting_pdf_reports.action_report_trial_balance +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_general_balance_report +msgid "Trial Balance" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_balance_report +#: model:ir.model,name:accounting_pdf_reports.model_report_accounting_pdf_reports_report_trialbalance +msgid "Trial Balance Report" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_account_type__type +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__type +msgid "Type" +msgstr "" + +#. module: accounting_pdf_reports +#. odoo-python +#: code:addons/accounting_pdf_reports/report/report_aged_partner.py:0 +#, python-format +msgid "Unknown Partner" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__type__sum +msgid "View" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__amount_currency +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__amount_currency +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__amount_currency +msgid "With Currency" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_balance_report__display_account__not_zero +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_account_report__display_account__not_zero +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_general_ledger__display_account__not_zero +msgid "With balance is not equal to 0" +msgstr "" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "With balance not equal to zero" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_balance_report__display_account__movement +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_account_report__display_account__movement +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_general_ledger__display_account__movement +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "With movements" +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,help:accounting_pdf_reports.field_account_financial_report__style_overwrite +msgid "" +"You can set up here the format you want this record to be displayed. If you " +"leave the automatic formatting, it will be computed based on the financial " +"reports hierarchy (auto-computed field 'level')." +msgstr "" + +#. module: accounting_pdf_reports +#. odoo-python +#: code:addons/accounting_pdf_reports/wizard/account_general_ledger.py:0 +#, python-format +msgid "You must define a Start Date" +msgstr "" + +#. module: accounting_pdf_reports +#. odoo-python +#: code:addons/accounting_pdf_reports/wizard/aged_partner.py:0 +#, python-format +msgid "You must set a period length greater than 0." +msgstr "" + +#. module: accounting_pdf_reports +#. odoo-python +#: code:addons/accounting_pdf_reports/wizard/aged_partner.py:0 +#, python-format +msgid "You must set a start date." +msgstr "" diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/i18n/bs.po b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/i18n/bs.po new file mode 100644 index 0000000..9bac74d --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/i18n/bs.po @@ -0,0 +1,1406 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * accounting_pdf_reports +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-04-26 14:31+0000\n" +"PO-Revision-Date: 2024-04-26 14:31+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: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +msgid ": General ledger" +msgstr "Glavna knjiga" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid ": Trial Balance" +msgstr "Probno bilans" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +msgid "Not due" +msgstr "Nije pristiglo" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Analytic Accounts:" +msgstr "Analitički računi:" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_tax +msgid "Company:" +msgstr "Tvrtka:" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_financial +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_tax +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Date from :" +msgstr "Datum od:" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_financial +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_tax +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Date to :" +msgstr "Datum do:" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Display Account:" +msgstr "Prikaži račun:" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +msgid "Display Account" +msgstr "Prikaži račun" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +msgid "Entries Sorted By:" +msgstr "Stavke sortirane po:" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +msgid "Journal:" +msgstr "Dnevnik:" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Journals:" +msgstr "Dnevnici:" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +msgid "Partner's:" +msgstr "Partneri:" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +msgid "Period Length (days)" +msgstr "Duljina perioda (dani)" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_tax +msgid "Purchase" +msgstr "Nabava" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +msgid "Sorted By:" +msgstr "Sortiranjeed By:" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +msgid "Start Date:" +msgstr "Start Datum:" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_financial +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_tax +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Target Moves:" +msgstr "Transakcije:" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +msgid "Total" +msgstr "Ukupno" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Account" +msgstr "Naziv konta" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Code" +msgstr "Konto" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_account_type +msgid "Account Account Type" +msgstr "Račun Račun Tip" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_aged_trial_balance +msgid "Account Aged Trial balance Report" +msgstr "Račun Aged Trial balance Izvještaj" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_common_account_report +msgid "Account Common Account Report" +msgstr "Račun Common Račun Izvještaj" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_common_partner_report +msgid "Account Common Partner Report" +msgstr "Račun Common Partner Izvještaj" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_common_report +msgid "Account Common Report" +msgstr "Račun Common Izvještaj" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_report_partner_ledger +msgid "Account Partner Ledger" +msgstr "Račun Partner Ledger" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_print_journal +msgid "Account Print Journal" +msgstr "Račun Štampa Dnevnik" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_financial_report +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.view_account_financial_report_form +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.view_account_financial_report_search +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.view_account_financial_report_tree +msgid "Account Report" +msgstr "Račun Izvještaj" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__account_report_id +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_account_reports +msgid "Account Reports" +msgstr "Račun Izvještajs" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +msgid "Account Total" +msgstr "Račun Ukupno" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__type__account_type +msgid "Account Type" +msgstr "Tip konta" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__account_type_ids +msgid "Account Types" +msgstr "Tipovi konta" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_accounting_report +msgid "Accounting Report" +msgstr "Računovodstveno izvješće" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__account_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__account_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__account_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__account_ids +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__type__accounts +msgid "Accounts" +msgstr "Konta" + +#. module: accounting_pdf_reports +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_aged_balance_view +#: model:ir.actions.report,name:accounting_pdf_reports.action_report_aged_partner_balance +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_aged_trial_balance +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +msgid "Aged Partner Balance" +msgstr "Dospjela dugovanja kupca" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_report_accounting_pdf_reports_report_agedpartnerbalance +msgid "Aged Partner Balance Report" +msgstr "Izvještaj dospjelih dugovanja kupaca" + +#. module: accounting_pdf_reports +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_aged_payable +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_aged_payable +msgid "Aged Payable" +msgstr "U kašnjenju za plaćanje" + +#. module: accounting_pdf_reports +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_aged_receivable +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_aged_receivable +msgid "Aged Receivable" +msgstr "U kašnjenju kupci" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_balance_report__display_account__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_account_report__display_account__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_general_ledger__display_account__all +msgid "All" +msgstr "Svi" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_aged_trial_balance__target_move__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_balance_report__target_move__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_account_report__target_move__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_journal_report__target_move__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_partner_report__target_move__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_report__target_move__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_print_journal__target_move__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_general_ledger__target_move__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_partner_ledger__target_move__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_tax_report_wizard__target_move__all +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__accounting_report__target_move__all +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_financial +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_tax +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "All Entries" +msgstr "Sve stavke" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_aged_trial_balance__target_move__posted +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_balance_report__target_move__posted +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_account_report__target_move__posted +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_journal_report__target_move__posted +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_partner_report__target_move__posted +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_report__target_move__posted +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_print_journal__target_move__posted +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_general_ledger__target_move__posted +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_partner_ledger__target_move__posted +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_tax_report_wizard__target_move__posted +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__accounting_report__target_move__posted +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_financial +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_tax +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "All Posted Entries" +msgstr "Sve proknjižene stavke" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "All accounts" +msgstr "Sva konta" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +msgid "All accounts'" +msgstr "Sva konta" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +msgid "Analytic Account" +msgstr "Analitički konto" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__analytic_account_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__analytic_account_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__analytic_account_ids +msgid "Analytic Accounts" +msgstr "Analitička konta" + +#. module: accounting_pdf_reports +#: model:account.financial.report,name:accounting_pdf_reports.account_financial_report_assets0 +msgid "Assets" +msgstr "Stalna sredstva" + +#. module: accounting_pdf_reports +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_finance_audit_reports +msgid "Audit Reports" +msgstr "Audit Izvještajs" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__style_overwrite__0 +msgid "Automatic formatting" +msgstr "Automatski formatting" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_financial +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Balance" +msgstr "Saldo" + +#. module: accounting_pdf_reports +#: model:account.financial.report,name:accounting_pdf_reports.account_financial_report_balancesheet0 +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_report_bs +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_account_report_bs +msgid "Balance Sheet" +msgstr "Bilans stanja" + +#. module: accounting_pdf_reports +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_partner_report_partnerledger +msgid "Balance Statement (Partner Ledger)" +msgstr "Kartica partnera" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_liquidity +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__asset_cash +msgid "Bank and Cash" +msgstr "Banka i gotovina" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +msgid "Base Amount" +msgstr "Osnovica" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.account_aged_balance_view +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.account_common_report_view +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.accounting_tax_report_view +msgid "Cancel" +msgstr "Otkaži" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__children_ids +msgid "Children" +msgstr "Dijete" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.view_account_financial_report_form +msgid "Childrens" +msgstr "Djeca" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Code" +msgstr "Konto" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__label_filter +msgid "Column Label" +msgstr "Column Labela" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_common_journal_report +msgid "Common Journal Report" +msgstr "Standardni izvještaj žurnala" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__company_id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__company_id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__company_id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__company_id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__company_id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report__company_id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__company_id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__company_id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__company_id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard__company_id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__company_id +msgid "Company" +msgstr "Preduzeće" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.accounting_report_view +msgid "Comparison" +msgstr "Poređenje" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_direct_costs +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__expense_direct_cost +msgid "Cost of Revenue" +msgstr "Trošak prihoda" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_account_type__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard__create_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_account_type__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard__create_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__create_date +msgid "Created on" +msgstr "Kreirano" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_financial +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Credit" +msgstr "Potražuje" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_credit_card +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__liability_credit_card +msgid "Credit Card" +msgstr "Kreditna kartica" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +msgid "Currency" +msgstr "Valuta" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_current_assets +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__asset_current +msgid "Current Assets" +msgstr "Kratkoročna imovina" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_current_liabilities +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__liability_current +msgid "Current Liabilities" +msgstr "Kratkoročne obaveze" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_unaffected_earnings +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__equity_unaffected +msgid "Current Year Earnings" +msgstr "Dobit poslovne godine" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_print_journal__sort_selection__date +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_general_ledger__sortby__sort_date +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__accounting_report__filter_cmp__filter_date +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +msgid "Date" +msgstr "Datum" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard__date_from +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__date_from_cmp +msgid "Date From" +msgstr "Datum od" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard__date_to +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__date_to_cmp +msgid "Date To" +msgstr "Datum do" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +msgid "Date:" +msgstr "Datum:" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.accounting_report_view +msgid "Dates" +msgstr "Datumi" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_financial +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Debit" +msgstr "Duguje" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_depreciation +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__expense_depreciation +msgid "Depreciation" +msgstr "Amortizacija" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__display_account +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__display_account +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__display_account +msgid "Display Accounts" +msgstr "Prikaži računs" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__debit_credit +msgid "Display Debit/Credit Columns" +msgstr "Display Duguje/Potražuje Columns" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_account_type__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard__display_name +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__display_name +msgid "Display Name" +msgstr "Prikazani naziv" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__display_detail__detail_flat +msgid "Display children flat" +msgstr "Display children flat" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__display_detail__detail_with_hierarchy +msgid "Display children with hierarchy" +msgstr "Display children with hierarchy" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__display_detail +msgid "Display details" +msgstr "Display details" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.res_config_settings_view_form +msgid "Drill Down Reports" +msgstr "Drill Down Izvještajs" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.res_config_settings_view_form +msgid "Dynamic Accounting Reports" +msgstr "Dinamično Računing Izvještajs" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__enable_filter +msgid "Enable Comparison" +msgstr "Enable Comparison" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__date_to +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__date_to +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__date_to +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__date_to +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__date_to +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report__date_to +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__date_to +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__date_to +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__date_to +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__date_to +msgid "End Date" +msgstr "Završni datum" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.res_config_settings_view_form +msgid "Enhanced Financial Reports" +msgstr "Enhanced Financial Izvještajs" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__sort_selection +msgid "Entries Sorted by" +msgstr "Entries Sortiranjeed by" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +msgid "Entry Label" +msgstr "Entry Labela" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_equity +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__equity +msgid "Equity" +msgstr "Kapital" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.res_config_settings_view_form +msgid "Excel Reports" +msgstr "Excel Izvještajs" + +#. module: accounting_pdf_reports +#: model:account.financial.report,name:accounting_pdf_reports.account_financial_report_expense0 +msgid "Expense" +msgstr "Trošak" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_expenses +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__expense +msgid "Expenses" +msgstr "Troškovi" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__filter_cmp +msgid "Filter by" +msgstr "Filter by" + +#. module: accounting_pdf_reports +#: model:ir.actions.report,name:accounting_pdf_reports.action_report_financial +msgid "Financial Report" +msgstr "Financial Izvještaj" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__style_overwrite +msgid "Financial Report Style" +msgstr "Financial Izvještaj Style" + +#. module: accounting_pdf_reports +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_financial_report_tree +#: model:ir.model,name:accounting_pdf_reports.model_report_accounting_pdf_reports_report_financial +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_finance_legal_statement +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_finance_reports_settings +msgid "Financial Reports" +msgstr "Financial Izvještajs" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.res_config_settings_view_form +msgid "Financial Reports in Excel" +msgstr "Financial Izvještajs in Excel" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_fixed_assets +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__asset_fixed +msgid "Fixed Assets" +msgstr "Stalna sredstva" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,help:accounting_pdf_reports.field_account_financial_report__sign +msgid "" +"For accounts that are typically more debited than credited and that you " +"would like to print as negative amounts in your reports, you should reverse " +"the sign of the balance; e.g.: Expense account. The same applies for " +"accounts that are typically more credited than debited and that you would " +"like to print as positive amounts in your reports; e.g.: Income account." +msgstr "" + +#. module: accounting_pdf_reports +#. odoo-python +#: code:addons/accounting_pdf_reports/report/report_aged_partner.py:0 +#: code:addons/accounting_pdf_reports/report/report_financial.py:0 +#: code:addons/accounting_pdf_reports/report/report_general_ledger.py:0 +#: code:addons/accounting_pdf_reports/report/report_journal.py:0 +#: code:addons/accounting_pdf_reports/report/report_partner_ledger.py:0 +#: code:addons/accounting_pdf_reports/report/report_tax.py:0 +#: code:addons/accounting_pdf_reports/report/report_trial_balance.py:0 +#, python-format +msgid "Form content is missing, this report cannot be printed." +msgstr "Nedostaju podaci sa forme, izvještaj se ne može ispisati." + +#. module: accounting_pdf_reports +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_general_ledger_menu +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_moves_ledger_general +#: model:ir.actions.report,name:accounting_pdf_reports.action_report_general_ledger +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_action_account_moves_ledger_general +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_general_ledger +msgid "General Ledger" +msgstr "Glavna knjiga" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_report_general_ledger +#: model:ir.model,name:accounting_pdf_reports.model_report_accounting_pdf_reports_report_general_ledger +msgid "General Ledger Report" +msgstr "Izvještaj glavne knjige" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.view_account_financial_report_search +msgid "Group By" +msgstr "Grupiši po" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_account_type__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard__id +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__id +msgid "ID" +msgstr "ID" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,help:accounting_pdf_reports.field_account_report_general_ledger__initial_balance +msgid "" +"If you selected date, this field allow you to add a row to display the " +"amount of debit/credit/balance that precedes the filter you've set." +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__initial_balance +msgid "Include Initial Balances" +msgstr "Include Initial Saldos" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_revenue +#: model:account.financial.report,name:accounting_pdf_reports.account_financial_report_income0 +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__income +msgid "Income" +msgstr "Prihod" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "Initial Balance" +msgstr "Početno stanje" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,help:accounting_pdf_reports.field_account_report_partner_ledger__amount_currency +msgid "" +"It adds the currency column on report if the currency differs from the " +"company currency." +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__style_overwrite__5 +msgid "Italic Text (smaller)" +msgstr "Italic Text (smaller)" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +msgid "JRNL" +msgstr "ŽURN" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +msgid "Journal" +msgstr "Žurnal" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_general_ledger__sortby__sort_journal_partner +msgid "Journal & Partner" +msgstr "Žurnal & Partner" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_report_accounting_pdf_reports_report_journal +msgid "Journal Audit Report" +msgstr "Dnevnik Audit Izvještaj" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_print_journal__sort_selection__move_name +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +msgid "Journal Entry Number" +msgstr "Dnevnik Entry Number" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_move_line +msgid "Journal Item" +msgstr "Stavka žurnala" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +msgid "Journal and Partner" +msgstr "Dnevnik and Partner" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +msgid "Journal:" +msgstr "Žurnal:" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__journal_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__journal_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__journal_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__journal_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__journal_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report__journal_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__journal_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__journal_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__journal_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard__journal_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__journal_ids +msgid "Journals" +msgstr "Žurnali" + +#. module: accounting_pdf_reports +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_print_journal_menu +#: model:ir.actions.report,name:accounting_pdf_reports.action_report_journal +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_print_journal +msgid "Journals Audit" +msgstr "Dnevnici Audit" + +#. module: accounting_pdf_reports +#: model:ir.actions.report,name:accounting_pdf_reports.action_report_journal_entries +msgid "Journals Entries" +msgstr "Finansijski nalozi" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +msgid "Label" +msgstr "Oznaka" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_account_type____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard____last_update +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report____last_update +msgid "Last Modified on" +msgstr "Zadnje mijenjano" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_account_type__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard__write_uid +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__write_uid +msgid "Last Updated by" +msgstr "Zadnji ažurirao" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_account_type__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard__write_date +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__write_date +msgid "Last Updated on" +msgstr "Zadnje ažurirano" + +#. module: accounting_pdf_reports +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_finance_entries_accounting_ledgers +msgid "Ledgers" +msgstr "Finansijske kartice" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__level +msgid "Level" +msgstr "Nivo" + +#. module: accounting_pdf_reports +#: model:account.financial.report,name:accounting_pdf_reports.account_financial_report_liability0 +#: model:account.financial.report,name:accounting_pdf_reports.account_financial_report_liabilitysum0 +msgid "Liability" +msgstr "Obaveze" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__style_overwrite__1 +msgid "Main Title 1 (bold, underlined)" +msgstr "Main Naslov 1 (bold, underlined)" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +msgid "Move" +msgstr "Knjiženje" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_account_type__name +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_financial +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +msgid "Name" +msgstr "Ime" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_tax +msgid "Net" +msgstr "Neto" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__accounting_report__filter_cmp__filter_no +msgid "No Filters" +msgstr "Bez filtera" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__display_detail__no_detail +msgid "No detail" +msgstr "Bez detalja" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_non_current_assets +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__asset_non_current +msgid "Non-current Assets" +msgstr "Stalna sredstva" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_non_current_liabilities +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__liability_non_current +msgid "Non-current Liabilities" +msgstr "Dugoročne obaveze" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__style_overwrite__4 +msgid "Normal Text" +msgstr "Normal Text" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_off_sheet +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__off_balance +msgid "Off-Balance Sheet" +msgstr "Vanbilansna evidencija" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_other_income +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__income_other +msgid "Other Income" +msgstr "Ostali prihodi" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__parent_id +msgid "Parent" +msgstr "Nadređeno" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.view_account_financial_report_search +msgid "Parent Report" +msgstr "Nadređeni izvještaj" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +msgid "Partner" +msgstr "Partner" + +#. module: accounting_pdf_reports +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_moves_ledger_partner +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_partner_ledger_menu +#: model:ir.actions.report,name:accounting_pdf_reports.action_report_partnerledger +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_action_account_moves_ledger_partner +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_partner_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +msgid "Partner Ledger" +msgstr "Kartica partnera" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_report_accounting_pdf_reports_report_partnerledger +msgid "Partner Ledger Report" +msgstr "Izvještaj kartica partnera" + +#. module: accounting_pdf_reports +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_finance_partner_reports +msgid "Partner Reports" +msgstr "Izvještaji za partnere" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__result_selection +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__result_selection +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__result_selection +msgid "Partner's" +msgstr "Gledati konta" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +msgid "Partner:" +msgstr "Partner:" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__partner_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__partner_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__partner_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__partner_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__partner_ids +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__partner_ids +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +msgid "Partners" +msgstr "Partneri" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_payable +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__liability_payable +msgid "Payable" +msgstr "Za naplatu" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_aged_trial_balance__result_selection__supplier +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_partner_report__result_selection__supplier +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_partner_ledger__result_selection__supplier +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +msgid "Payable Accounts" +msgstr "Dobavljači" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__period_length +msgid "Period Length (days)" +msgstr "Period (dana)" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_prepayments +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__asset_prepayments +msgid "Prepayments" +msgstr "Avansi" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__sign__1 +msgid "Preserve balance sign" +msgstr "Preserve balance sign" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.res_config_settings_view_form +msgid "Preview financial reports without downloading" +msgstr "Preview financial reports without downloading" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.account_aged_balance_view +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.account_common_report_view +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.accounting_tax_report_view +msgid "Print" +msgstr "Ispis" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,help:accounting_pdf_reports.field_account_common_journal_report__amount_currency +#: model:ir.model.fields,help:accounting_pdf_reports.field_account_print_journal__amount_currency +msgid "" +"Print Report with the currency column if the currency differs from the " +"company currency." +msgstr "" + +#. module: accounting_pdf_reports +#: model:account.financial.report,name:accounting_pdf_reports.account_financial_report_profitloss_toreport0 +msgid "Profit (Loss) to report" +msgstr "Dobit (Gubitak) to report" + +#. module: accounting_pdf_reports +#: model:account.financial.report,name:accounting_pdf_reports.account_financial_report_profitandloss0 +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_report_pl +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_account_report_pl +msgid "Profit and Loss" +msgstr "Dobit i gubitak" + +#. module: accounting_pdf_reports +#: model:account.account.type,name:accounting_pdf_reports.data_account_type_receivable +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_account_type__type__asset_receivable +msgid "Receivable" +msgstr "Kupci" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_aged_trial_balance__result_selection__customer +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_partner_report__result_selection__customer +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_partner_ledger__result_selection__customer +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +msgid "Receivable Accounts" +msgstr "Kupci" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_aged_trial_balance__result_selection__customer_supplier +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_partner_report__result_selection__customer_supplier +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_partner_ledger__result_selection__customer_supplier +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +msgid "Receivable and Payable Accounts" +msgstr "Potraživanja i obaveze" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__reconciled +msgid "Reconciled Entries" +msgstr "Zatvorene stavke" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_partnerledger +msgid "Ref" +msgstr "Ref" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal_entries +msgid "Reference:" +msgstr "Referenca:" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.view_account_financial_report_form +msgid "Report" +msgstr "Izvještaj" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__report_domain +msgid "Report Domain" +msgstr "Izvještaj Domain" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__name +msgid "Report Name" +msgstr "Izvještaj Naziv" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.account_aged_balance_view +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.account_common_report_view +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.accounting_tax_report_view +msgid "Report Options" +msgstr "Izvještaj Options" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.view_account_financial_report_search +msgid "Report Type" +msgstr "Tip izvještaja" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__account_report_id +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__type__account_report +msgid "Report Value" +msgstr "Izvještaj Value" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.view_account_financial_report_search +msgid "Reports" +msgstr "Izvještaji" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__sign__-1 +msgid "Reverse balance sign" +msgstr "Reverse balance sign" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_tax +msgid "Sale" +msgstr "Prodaja" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__sequence +msgid "Sequence" +msgstr "Sekvenca" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__sign +msgid "Sign on Reports" +msgstr "Sign on Izvještajs" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__style_overwrite__6 +msgid "Smallest Text" +msgstr "Smallest Text" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__sortby +msgid "Sort by" +msgstr "Sortiraj po" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__date_from +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__date_from +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__date_from +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__date_from +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__date_from +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report__date_from +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__date_from +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__date_from +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__date_from +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__date_from +msgid "Start Date" +msgstr "Početni Datum" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_aged_trial_balance__target_move +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_balance_report__target_move +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_account_report__target_move +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__target_move +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_partner_report__target_move +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_report__target_move +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__target_move +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_general_ledger__target_move +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__target_move +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_tax_report_wizard__target_move +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_accounting_report__target_move +msgid "Target Moves" +msgstr "Transakcije" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_tax +msgid "Tax" +msgstr "Porez" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +msgid "Tax Amount" +msgstr "Iznos poreza" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_journal +msgid "Tax Declaration" +msgstr "Porez Declaration" + +#. module: accounting_pdf_reports +#: model:ir.actions.report,name:accounting_pdf_reports.action_report_account_tax +#: model:ir.model,name:accounting_pdf_reports.model_account_tax_report_wizard +#: model:ir.model,name:accounting_pdf_reports.model_report_accounting_pdf_reports_report_tax +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_account_report +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_tax +msgid "Tax Report" +msgstr "Porezno izvješće" + +#. module: accounting_pdf_reports +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_tax_report +msgid "Tax Reports" +msgstr "Porez Izvještajs" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,help:accounting_pdf_reports.field_account_account_type__type +msgid "" +"These types are defined according to your country. The type contains more " +"information about the account and its specificities." +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,help:accounting_pdf_reports.field_accounting_report__label_filter +msgid "" +"This label will be displayed on report to show the balance computed for the " +"given comparison filter." +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,help:accounting_pdf_reports.field_accounting_report__debit_credit +msgid "" +"This option allows you to get more details about the way your balances are " +"computed. Because it is space consuming, we do not allow to use it while " +"doing a comparison." +msgstr "" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__style_overwrite__2 +msgid "Title 2 (bold)" +msgstr "Naslov 2 (bold)" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__style_overwrite__3 +msgid "Title 3 (bold, smaller)" +msgstr "Naslov 3 (bold, smaller)" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_agedpartnerbalance +msgid "Total" +msgstr "Ukupno" + +#. module: accounting_pdf_reports +#: model:ir.actions.act_window,name:accounting_pdf_reports.action_account_balance_menu +#: model:ir.actions.report,name:accounting_pdf_reports.action_report_trial_balance +#: model:ir.ui.menu,name:accounting_pdf_reports.menu_general_balance_report +msgid "Trial Balance" +msgstr "Balansna lista" + +#. module: accounting_pdf_reports +#: model:ir.model,name:accounting_pdf_reports.model_account_balance_report +#: model:ir.model,name:accounting_pdf_reports.model_report_accounting_pdf_reports_report_trialbalance +msgid "Trial Balance Report" +msgstr "Izveštaj balansne liste" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_account_type__type +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_financial_report__type +msgid "Type" +msgstr "Tip" + +#. module: accounting_pdf_reports +#. odoo-python +#: code:addons/accounting_pdf_reports/report/report_aged_partner.py:0 +#, python-format +msgid "Unknown Partner" +msgstr "Unknown Partner" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_financial_report__type__sum +msgid "View" +msgstr "Pregled" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_common_journal_report__amount_currency +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_print_journal__amount_currency +#: model:ir.model.fields,field_description:accounting_pdf_reports.field_account_report_partner_ledger__amount_currency +msgid "With Currency" +msgstr "Sa valutom" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_balance_report__display_account__not_zero +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_account_report__display_account__not_zero +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_general_ledger__display_account__not_zero +msgid "With balance is not equal to 0" +msgstr "Saldo je različit od 0" + +#. module: accounting_pdf_reports +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "With balance not equal to zero" +msgstr "With balance not equal to zero" + +#. module: accounting_pdf_reports +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_balance_report__display_account__movement +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_common_account_report__display_account__movement +#: model:ir.model.fields.selection,name:accounting_pdf_reports.selection__account_report_general_ledger__display_account__movement +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_general_ledger +#: model_terms:ir.ui.view,arch_db:accounting_pdf_reports.report_trialbalance +msgid "With movements" +msgstr "With movements" + +#. module: accounting_pdf_reports +#: model:ir.model.fields,help:accounting_pdf_reports.field_account_financial_report__style_overwrite +msgid "" +"You can set up here the format you want this record to be displayed. If you " +"leave the automatic formatting, it will be computed based on the financial " +"reports hierarchy (auto-computed field 'level')." +msgstr "" + +#. module: accounting_pdf_reports +#. odoo-python +#: code:addons/accounting_pdf_reports/wizard/account_general_ledger.py:0 +#, python-format +msgid "You must define a Start Date" +msgstr "You must define a Start Datum" + +#. module: accounting_pdf_reports +#. odoo-python +#: code:addons/accounting_pdf_reports/wizard/aged_partner.py:0 +#, python-format +msgid "You must set a period length greater than 0." +msgstr "You must set a period length greater than 0." + +#. module: accounting_pdf_reports +#. odoo-python +#: code:addons/accounting_pdf_reports/wizard/aged_partner.py:0 +#, python-format +msgid "You must set a start date." +msgstr "You must set a start date." diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/models/__init__.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/models/__init__.py new file mode 100644 index 0000000..2205cbb --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/models/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- + +from . import account_account_type +from . import account_financial_report +from . import account_move_line diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/models/account_account_type.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/models/account_account_type.py new file mode 100644 index 0000000..c26229f --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/models/account_account_type.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- + +from odoo import api, models, fields + + +class AccountAccountType(models.Model): + _name = "account.account.type" + _description = "Account Account Type" + + name = fields.Char('Name', required=True, translate=True) + type = fields.Selection( + selection=[ + ("asset_receivable", "Receivable"), + ("asset_cash", "Bank and Cash"), + ("asset_current", "Current Assets"), + ("asset_non_current", "Non-current Assets"), + ("asset_prepayments", "Prepayments"), + ("asset_fixed", "Fixed Assets"), + ("liability_payable", "Payable"), + ("liability_credit_card", "Credit Card"), + ("liability_current", "Current Liabilities"), + ("liability_non_current", "Non-current Liabilities"), + ("equity", "Equity"), + ("equity_unaffected", "Current Year Earnings"), + ("income", "Income"), + ("income_other", "Other Income"), + ("expense", "Expenses"), + ("expense_depreciation", "Depreciation"), + ("expense_direct_cost", "Cost of Revenue"), + ("off_balance", "Off-Balance Sheet"), + ], + string="Type", + help="These types are defined according to your country. The type contains more information " \ + "about the account and its specificities." + ) + diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/models/account_financial_report.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/models/account_financial_report.py new file mode 100644 index 0000000..84dbf81 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/models/account_financial_report.py @@ -0,0 +1,71 @@ +# -*- coding: utf-8 -*- + +from odoo import api, models, fields + + +class AccountFinancialReport(models.Model): + _name = "account.financial.report" + _description = "Account Report" + + @api.depends('parent_id', 'parent_id.level') + def _get_level(self): + '''Returns a dictionary with key=the ID of a record and value = the level of this + record in the tree structure.''' + for report in self: + level = 0 + if report.parent_id: + level = report.parent_id.level + 1 + report.level = level + + def _get_children_by_order(self): + '''returns a recordset of all the children computed recursively, and sorted by sequence. Ready for the printing''' + res = self + children = self.search([('parent_id', 'in', self.ids)], order='sequence ASC') + if children: + for child in children: + res += child._get_children_by_order() + return res + + name = fields.Char('Report Name', required=True, translate=True) + parent_id = fields.Many2one('account.financial.report', 'Parent') + children_ids = fields.One2many('account.financial.report', 'parent_id', 'Account Report') + sequence = fields.Integer('Sequence') + level = fields.Integer(compute='_get_level', string='Level', store=True, recursive=True) + type = fields.Selection([ + ('sum', 'View'), + ('accounts', 'Accounts'), + ('account_type', 'Account Type'), + ('account_report', 'Report Value'), + ], 'Type', default='sum') + account_ids = fields.Many2many('account.account', 'account_account_financial_report', + 'report_line_id', 'account_id', 'Accounts') + account_report_id = fields.Many2one('account.financial.report', 'Report Value') + account_type_ids = fields.Many2many('account.account.type', 'account_account_financial_report_type', + 'report_id', 'account_type_id', 'Account Types') + report_domain = fields.Char(string="Report Domain") + sign = fields.Selection([('-1', 'Reverse balance sign'), ('1', 'Preserve balance sign')], 'Sign on Reports', + required=True, default='1', + help='For accounts that are typically more debited than credited and that you would' + ' like to print as negative amounts in your reports, you should reverse the sign' + ' of the balance; e.g.: Expense account. The same applies for accounts that are ' + 'typically more credited than debited and that you would like to print as positive ' + 'amounts in your reports; e.g.: Income account.') + display_detail = fields.Selection([ + ('no_detail', 'No detail'), + ('detail_flat', 'Display children flat'), + ('detail_with_hierarchy', 'Display children with hierarchy') + ], 'Display details', default='detail_flat') + style_overwrite = fields.Selection([ + ('0', 'Automatic formatting'), + ('1', 'Main Title 1 (bold, underlined)'), + ('2', 'Title 2 (bold)'), + ('3', 'Title 3 (bold, smaller)'), + ('4', 'Normal Text'), + ('5', 'Italic Text (smaller)'), + ('6', 'Smallest Text'), + ], 'Financial Report Style', default='0', + help="You can set up here the format you want this record to be displayed. " + "If you leave the automatic formatting, it will be computed based on the " + "financial reports hierarchy (auto-computed field 'level').") + children_ids = fields.One2many('account.financial.report', 'parent_id', string='Children') + diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/models/account_move_line.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/models/account_move_line.py new file mode 100644 index 0000000..dd2e158 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/models/account_move_line.py @@ -0,0 +1,80 @@ +# -*- coding: utf-8 -*- + +import ast +from odoo import api, models, fields + + +class AccountMoveLine(models.Model): + _inherit = "account.move.line" + + @api.model + def _query_get(self, domain=None): + self.check_access_rights('read') + + context = dict(self._context or {}) + domain = domain or [] + if not isinstance(domain, (list, tuple)): + domain = ast.literal_eval(domain) + + date_field = 'date' + if context.get('aged_balance'): + date_field = 'date_maturity' + if context.get('date_to'): + domain += [(date_field, '<=', context['date_to'])] + if context.get('date_from'): + if not context.get('strict_range'): + domain += ['|', (date_field, '>=', context['date_from']), ('account_id.include_initial_balance', '=', True)] + elif context.get('initial_bal'): + domain += [(date_field, '<', context['date_from'])] + else: + domain += [(date_field, '>=', context['date_from'])] + + if context.get('journal_ids'): + domain += [('journal_id', 'in', context['journal_ids'])] + + state = context.get('state') + if state and state.lower() != 'all': + domain += [('parent_state', '=', state)] + + if context.get('company_id'): + domain += [('company_id', '=', context['company_id'])] + elif context.get('allowed_company_ids'): + domain += [('company_id', 'in', self.env.companies.ids)] + else: + domain += [('company_id', '=', self.env.company.id)] + + if context.get('reconcile_date'): + domain += ['|', ('reconciled', '=', False), '|', ('matched_debit_ids.max_date', '>', context['reconcile_date']), ('matched_credit_ids.max_date', '>', context['reconcile_date'])] + + if context.get('account_tag_ids'): + domain += [('account_id.tag_ids', 'in', context['account_tag_ids'].ids)] + + if context.get('account_ids'): + domain += [('account_id', 'in', context['account_ids'].ids)] + + if context.get('analytic_tag_ids'): + domain += [('analytic_tag_ids', 'in', context['analytic_tag_ids'].ids)] + + if context.get('analytic_account_ids'): + domain += [('analytic_distribution', 'in', context['analytic_account_ids'].ids)] + + if context.get('partner_ids'): + domain += [('partner_id', 'in', context['partner_ids'].ids)] + + if context.get('partner_categories'): + domain += [('partner_id.category_id', 'in', context['partner_categories'].ids)] + + where_clause = "" + where_clause_params = [] + tables = '' + if domain: + domain.append(('display_type', 'not in', ('line_section', 'line_note'))) + domain.append(('parent_state', '!=', 'cancel')) + + query = self._where_calc(domain) + + # Wrap the query with 'company_id IN (...)' to avoid bypassing company access rights. + self._apply_ir_rules(query) + + tables, where_clause, where_clause_params = query.get_sql() + return tables, where_clause, where_clause_params \ No newline at end of file diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/__init__.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/__init__.py new file mode 100644 index 0000000..5223d35 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/__init__.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- + +from . import report_partner_ledger +from . import report_general_ledger +from . import report_trial_balance +from . import report_tax +from . import report_aged_partner +from . import report_journal +from . import report_financial + + + + + diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report.xml new file mode 100644 index 0000000..2741010 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report.xml @@ -0,0 +1,73 @@ + + + + + + General Ledger + account.report.general.ledger + qweb-pdf + accounting_pdf_reports.report_general_ledger + accounting_pdf_reports.report_general_ledger + + + + Partner Ledger + account.report.partner.ledger + qweb-pdf + accounting_pdf_reports.report_partnerledger + accounting_pdf_reports.report_partnerledger + + + + + Trial Balance + account.balance.report + qweb-pdf + accounting_pdf_reports.report_trialbalance + accounting_pdf_reports.report_trialbalance + + + + Financial Report + account.financial.report + qweb-pdf + accounting_pdf_reports.report_financial + accounting_pdf_reports.report_financial + + + + Tax Report + account.tax.report.wizard + qweb-pdf + accounting_pdf_reports.report_tax + accounting_pdf_reports.report_tax + + + + Aged Partner Balance + res.partner + qweb-pdf + accounting_pdf_reports.report_agedpartnerbalance + accounting_pdf_reports.report_agedpartnerbalance + + + + Journals Audit + account.common.journal.report + qweb-pdf + accounting_pdf_reports.report_journal + accounting_pdf_reports.report_journal + + + + Journals Entries + account.move + qweb-pdf + accounting_pdf_reports.report_journal_entries + accounting_pdf_reports.report_journal_entries + + report + + + + diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_aged_partner.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_aged_partner.py new file mode 100644 index 0000000..85404cd --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_aged_partner.py @@ -0,0 +1,268 @@ +# -*- coding: utf-8 -*- + +import time +from odoo import api, models, fields, _ +from odoo.exceptions import UserError +from odoo.tools import float_is_zero +from datetime import datetime +from dateutil.relativedelta import relativedelta + + +class ReportAgedPartnerBalance(models.AbstractModel): + _name = 'report.accounting_pdf_reports.report_agedpartnerbalance' + _description = 'Aged Partner Balance Report' + + def _get_partner_move_lines(self, account_type, partner_ids, + date_from, target_move, period_length): + # This method can receive the context key 'include_nullified_amount' {Boolean} + # Do an invoice and a payment and unreconcile. The amount will be nullified + # By default, the partner wouldn't appear in this report. + # The context key allow it to appear + # In case of a period_length of 30 days as of 2019-02-08, we want the following periods: + # Name Stop Start + # 1 - 30 : 2019-02-07 - 2019-01-09 + # 31 - 60 : 2019-01-08 - 2018-12-10 + # 61 - 90 : 2018-12-09 - 2018-11-10 + # 91 - 120 : 2018-11-09 - 2018-10-11 + # +120 : 2018-10-10 + periods = {} + start = datetime.strptime(str(date_from), "%Y-%m-%d") + date_from = datetime.strptime(str(date_from), "%Y-%m-%d").date() + for i in range(5)[::-1]: + stop = start - relativedelta(days=period_length) + period_name = str((5-(i+1)) * period_length + 1) + '-' + str((5-i) * period_length) + period_stop = (start - relativedelta(days=1)).strftime('%Y-%m-%d') + if i == 0: + period_name = '+' + str(4 * period_length) + periods[str(i)] = { + 'name': period_name, + 'stop': period_stop, + 'start': (i!=0 and stop.strftime('%Y-%m-%d') or False), + } + start = stop + + res = [] + total = [] + cr = self.env.cr + user_company = self.env.user.company_id + user_currency = user_company.currency_id + company_ids = self._context.get('company_ids') or [user_company.id] + move_state = ['draft', 'posted'] + date = self._context.get('date') or fields.Date.today() + company = self.env['res.company'].browse(self._context.get('company_id')) or self.env.company + + if target_move == 'posted': + move_state = ['posted'] + arg_list = (tuple(move_state), tuple(account_type)) + + reconciliation_clause = '(l.reconciled IS FALSE)' + cr.execute('SELECT debit_move_id, credit_move_id FROM account_partial_reconcile where max_date > %s', (date_from,)) + reconciled_after_date = [] + for row in cr.fetchall(): + reconciled_after_date += [row[0], row[1]] + if reconciled_after_date: + reconciliation_clause = '(l.reconciled IS FALSE OR l.id IN %s)' + arg_list += (tuple(reconciled_after_date),) + arg_list += (date_from, tuple(company_ids)) + query = ''' + SELECT DISTINCT l.partner_id, UPPER(res_partner.name) + FROM account_move_line AS l left join res_partner on l.partner_id = res_partner.id, account_account, account_move am + WHERE (l.account_id = account_account.id) + AND (l.move_id = am.id) + AND (am.state IN %s) + AND (account_account.account_type IN %s) + AND ''' + reconciliation_clause + ''' + AND (l.date <= %s) + AND l.company_id IN %s + ORDER BY UPPER(res_partner.name)''' + cr.execute(query, arg_list) + partners = cr.dictfetchall() + # put a total of 0 + for i in range(7): + total.append(0) + + # Build a string like (1,2,3) for easy use in SQL query + if not partner_ids: + partner_ids = [partner['partner_id'] for partner in partners if partner['partner_id']] + lines = dict((partner['partner_id'] or False, []) for partner in partners) + if not partner_ids: + return [], [], {} + + # This dictionary will store the not due amount of all partners + undue_amounts = {} + query = '''SELECT l.id + FROM account_move_line AS l, account_account, account_move am + WHERE (l.account_id = account_account.id) AND (l.move_id = am.id) + AND (am.state IN %s) + AND (account_account.account_type IN %s) + AND (COALESCE(l.date_maturity,l.date) >= %s)\ + AND ((l.partner_id IN %s) OR (l.partner_id IS NULL)) + AND (l.date <= %s) + AND l.company_id IN %s''' + cr.execute(query, (tuple(move_state), tuple(account_type), date_from, + tuple(partner_ids), date_from, tuple(company_ids))) + aml_ids = cr.fetchall() + aml_ids = aml_ids and [x[0] for x in aml_ids] or [] + for line in self.env['account.move.line'].browse(aml_ids): + partner_id = line.partner_id.id or False + if partner_id not in undue_amounts: + undue_amounts[partner_id] = 0.0 + line_amount = line.company_id.currency_id._convert(line.balance, + user_currency, + company, date) + if user_currency.is_zero(line_amount): + continue + for partial_line in line.matched_debit_ids: + if partial_line.max_date <= date_from: + line_currency = partial_line.company_id.currency_id + line_amount += line_currency._convert(partial_line.amount, + user_currency, + company, date) + for partial_line in line.matched_credit_ids: + if partial_line.max_date <= date_from: + line_currency = partial_line.company_id.currency_id + line_amount -= line_currency._convert(partial_line.amount, + user_currency, + company, date) + if not self.env.user.company_id.currency_id.is_zero(line_amount): + undue_amounts[partner_id] += line_amount + lines[partner_id].append({ + 'line': line, + 'amount': line_amount, + 'period': 6, + }) + + # Use one query per period and store results in history (a list variable) + # Each history will contain: history[1] = {'': } + history = [] + for i in range(5): + args_list = (tuple(move_state), tuple(account_type), tuple(partner_ids),) + dates_query = '(COALESCE(l.date_maturity,l.date)' + + if periods[str(i)]['start'] and periods[str(i)]['stop']: + dates_query += ' BETWEEN %s AND %s)' + args_list += (periods[str(i)]['start'], periods[str(i)]['stop']) + elif periods[str(i)]['start']: + dates_query += ' >= %s)' + args_list += (periods[str(i)]['start'],) + else: + dates_query += ' <= %s)' + args_list += (periods[str(i)]['stop'],) + args_list += (date_from, tuple(company_ids)) + + query = '''SELECT l.id + FROM account_move_line AS l, account_account, account_move am + WHERE (l.account_id = account_account.id) AND (l.move_id = am.id) + AND (am.state IN %s) + AND (account_account.account_type IN %s) + AND ((l.partner_id IN %s) OR (l.partner_id IS NULL)) + AND ''' + dates_query + ''' + AND (l.date <= %s) + AND l.company_id IN %s''' + cr.execute(query, args_list) + partners_amount = {} + aml_ids = cr.fetchall() + aml_ids = aml_ids and [x[0] for x in aml_ids] or [] + for line in self.env['account.move.line'].browse(aml_ids): + partner_id = line.partner_id.id or False + if partner_id not in partners_amount: + partners_amount[partner_id] = 0.0 + line_currency_id = line.company_id.currency_id + line_amount = line_currency_id._convert(line.balance, user_currency, company, date) + if user_currency.is_zero(line_amount): + continue + for partial_line in line.matched_debit_ids: + if partial_line.max_date <= date_from: + line_currency_id = partial_line.company_id.currency_id + line_amount += line_currency_id._convert( + partial_line.amount, user_currency, company, date) + for partial_line in line.matched_credit_ids: + if partial_line.max_date <= date_from: + line_currency_id = partial_line.company_id.currency_id + line_amount -= line_currency_id._convert( + partial_line.amount, user_currency, company, date) + if not self.env.user.company_id.currency_id.is_zero(line_amount): + partners_amount[partner_id] += line_amount + lines[partner_id].append({ + 'line': line, + 'amount': line_amount, + 'period': i + 1, + }) + history.append(partners_amount) + + for partner in partners: + if partner['partner_id'] is None: + partner['partner_id'] = False + at_least_one_amount = False + values = {} + undue_amt = 0.0 + if partner['partner_id'] in undue_amounts: # Making sure this partner actually was found by the query + undue_amt = undue_amounts[partner['partner_id']] + + total[6] = total[6] + undue_amt + values['direction'] = undue_amt + if not float_is_zero(values['direction'], precision_rounding=self.env.user.company_id.currency_id.rounding): + at_least_one_amount = True + + for i in range(5): + during = False + if partner['partner_id'] in history[i]: + during = [history[i][partner['partner_id']]] + # Adding counter + total[(i)] = total[(i)] + (during and during[0] or 0) + values[str(i)] = during and during[0] or 0.0 + if not float_is_zero(values[str(i)], + precision_rounding=self.env.user.company_id.currency_id.rounding): + at_least_one_amount = True + values['total'] = sum([values['direction']] + [values[str(i)] for i in range(5)]) + ## Add for total + total[(i + 1)] += values['total'] + values['partner_id'] = partner['partner_id'] + if partner['partner_id']: + browsed_partner = self.env['res.partner'].browse(partner['partner_id']) + values['name'] = browsed_partner.name and len( + browsed_partner.name) >= 45 and browsed_partner.name[ + 0:40] + '...' or browsed_partner.name + values['trust'] = browsed_partner.trust + else: + values['name'] = _('Unknown Partner') + values['trust'] = False + + if at_least_one_amount or (self._context.get('include_nullified_amount') and lines[partner['partner_id']]): + res.append(values) + + return res, total, lines + + @api.model + def _get_report_values(self, docids, data=None): + if not data.get('form') or not self.env.context.get('active_model') or not self.env.context.get('active_id'): + raise UserError(_("Form content is missing, this report cannot be printed.")) + + model = self.env.context.get('active_model') + docs = self.env[model].browse(self.env.context.get('active_id')) + + target_move = data['form'].get('target_move', 'all') + date_from = data['form'].get('date_from', time.strftime('%Y-%m-%d')) + + if data['form']['result_selection'] == 'customer': + account_type = ['asset_receivable'] + elif data['form']['result_selection'] == 'supplier': + account_type = ['liability_payable'] + else: + account_type = ['asset_receivable', 'liability_payable'] + partner_ids = data['form']['partner_ids'] + movelines, total, dummy = self._get_partner_move_lines(account_type, + partner_ids, + date_from, + target_move, + data['form'][ + 'period_length']) + return { + 'doc_ids': self.ids, + 'doc_model': model, + 'data': data['form'], + 'docs': docs, + 'time': time, + 'get_partner_lines': movelines, + 'get_direction': total, + } diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_aged_partner.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_aged_partner.xml new file mode 100644 index 0000000..865a928 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_aged_partner.xml @@ -0,0 +1,100 @@ + + + + + + diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_financial.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_financial.py new file mode 100644 index 0000000..86c454a --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_financial.py @@ -0,0 +1,165 @@ +# -*- coding: utf-8 -*- + +import time +from odoo import api, models, _ +from odoo.exceptions import UserError + + +class ReportFinancial(models.AbstractModel): + _name = 'report.accounting_pdf_reports.report_financial' + _description = 'Financial Reports' + + def _compute_account_balance(self, accounts): + """ compute the balance, debit and credit for the provided accounts + """ + mapping = { + 'balance': "COALESCE(SUM(debit),0) - COALESCE(SUM(credit), 0) as balance", + 'debit': "COALESCE(SUM(debit), 0) as debit", + 'credit': "COALESCE(SUM(credit), 0) as credit", + } + + res = {} + for account in accounts: + res[account.id] = dict.fromkeys(mapping, 0.0) + if accounts: + tables, where_clause, where_params = self.env['account.move.line']._query_get() + tables = tables.replace('"', '') if tables else "account_move_line" + wheres = [""] + if where_clause.strip(): + wheres.append(where_clause.strip()) + filters = " AND ".join(wheres) + request = "SELECT account_id as id, " + ', '.join(mapping.values()) + \ + " FROM " + tables + \ + " WHERE account_id IN %s " \ + + filters + \ + " GROUP BY account_id" + params = (tuple(accounts._ids),) + tuple(where_params) + self.env.cr.execute(request, params) + for row in self.env.cr.dictfetchall(): + res[row['id']] = row + return res + + def _compute_report_balance(self, reports): + '''returns a dictionary with key=the ID of a record and value=the credit, debit and balance amount + computed for this record. If the record is of type : + 'accounts' : it's the sum of the linked accounts + 'account_type' : it's the sum of leaf accoutns with such an account_type + 'account_report' : it's the amount of the related report + 'sum' : it's the sum of the children of this record (aka a 'view' record)''' + res = {} + fields = ['credit', 'debit', 'balance'] + for report in reports: + if report.id in res: + continue + res[report.id] = dict((fn, 0.0) for fn in fields) + if report.type == 'accounts': + # it's the sum of the linked accounts + res[report.id]['account'] = self._compute_account_balance(report.account_ids) + for value in res[report.id]['account'].values(): + for field in fields: + res[report.id][field] += value.get(field) + elif report.type == 'account_type': + # it's the sum the leaf accounts with such an account type + accounts = self.env['account.account'].search( + [('account_type', 'in', report.account_type_ids.mapped('type'))]) + + res[report.id]['account'] = self._compute_account_balance(accounts) + for value in res[report.id]['account'].values(): + for field in fields: + res[report.id][field] += value.get(field) + elif report.type == 'account_report' and report.account_report_id: + # it's the amount of the linked report + res2 = self._compute_report_balance(report.account_report_id) + for key, value in res2.items(): + for field in fields: + res[report.id][field] += value[field] + elif report.type == 'sum': + # it's the sum of the children of this account.report + res2 = self._compute_report_balance(report.children_ids) + for key, value in res2.items(): + for field in fields: + res[report.id][field] += value[field] + return res + + def get_account_lines(self, data): + lines = [] + account_report = self.env['account.financial.report'].search( + [('id', '=', data['account_report_id'][0])]) + child_reports = account_report._get_children_by_order() + res = self.with_context(data.get('used_context'))._compute_report_balance(child_reports) + if data['enable_filter']: + comparison_res = self.with_context( + data.get('comparison_context'))._compute_report_balance( + child_reports) + for report_id, value in comparison_res.items(): + res[report_id]['comp_bal'] = value['balance'] + report_acc = res[report_id].get('account') + if report_acc: + for account_id, val in comparison_res[report_id].get('account').items(): + report_acc[account_id]['comp_bal'] = val['balance'] + for report in child_reports: + vals = { + 'name': report.name, + 'balance': res[report.id]['balance'] * float(report.sign), + 'type': 'report', + 'level': bool(report.style_overwrite) and report.style_overwrite or report.level, + 'account_type': report.type or False, #used to underline the financial report balances + } + if data['debit_credit']: + vals['debit'] = res[report.id]['debit'] + vals['credit'] = res[report.id]['credit'] + + if data['enable_filter']: + vals['balance_cmp'] = res[report.id]['comp_bal'] * float(report.sign) + + lines.append(vals) + if report.display_detail == 'no_detail': + #the rest of the loop is used to display the details of the financial report, so it's not needed here. + continue + if res[report.id].get('account'): + sub_lines = [] + for account_id, value in res[report.id]['account'].items(): + #if there are accounts to display, we add them to the lines with a level equals to their level in + #the COA + 1 (to avoid having them with a too low level that would conflicts with the level of data + #financial reports for Assets, liabilities...) + flag = False + account = self.env['account.account'].browse(account_id) + vals = { + 'name': account.code + ' ' + account.name, + 'balance': value['balance'] * float(report.sign) or 0.0, + 'type': 'account', + 'level': report.display_detail == 'detail_with_hierarchy' and 4, + 'account_type': account.account_type, + } + if data['debit_credit']: + vals['debit'] = value['debit'] + vals['credit'] = value['credit'] + if not account.company_id.currency_id.is_zero(vals['debit']) or not account.company_id.currency_id.is_zero(vals['credit']): + flag = True + if not account.company_id.currency_id.is_zero(vals['balance']): + flag = True + if data['enable_filter']: + vals['balance_cmp'] = value['comp_bal'] * float(report.sign) + if not account.company_id.currency_id.is_zero(vals['balance_cmp']): + flag = True + if flag: + sub_lines.append(vals) + lines += sorted(sub_lines, key=lambda sub_line: sub_line['name']) + return lines + + @api.model + def _get_report_values(self, docids, data=None): + if not data.get('form') or not self.env.context.get('active_model') or not self.env.context.get('active_id'): + raise UserError(_("Form content is missing, this report cannot be printed.")) + + model = self.env.context.get('active_model') + docs = self.env[model].browse(self.env.context.get('active_id')) + report_lines = self.get_account_lines(data.get('form')) + return { + 'doc_ids': self.ids, + 'doc_model': model, + 'data': data['form'], + 'docs': docs, + 'time': time, + 'get_account_lines': report_lines, + } diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_financial.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_financial.xml new file mode 100644 index 0000000..3481944 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_financial.xml @@ -0,0 +1,116 @@ + + + + + + diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_general_ledger.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_general_ledger.py new file mode 100644 index 0000000..e01c610 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_general_ledger.py @@ -0,0 +1,186 @@ +# -*- coding: utf-8 -*- + +import time +from odoo import api, models, _ +from odoo.exceptions import UserError + + +class ReportGeneralLedger(models.AbstractModel): + _name = 'report.accounting_pdf_reports.report_general_ledger' + _description = 'General Ledger Report' + + def _get_account_move_entry(self, accounts, analytic_account_ids, + partner_ids, init_balance, + sortby, display_account): + """ + :param: + accounts: the recordset of accounts + analytic_account_ids: the recordset of analytic accounts + init_balance: boolean value of initial_balance + sortby: sorting by date or partner and journal + display_account: type of account(receivable, payable and both) + + Returns a dictionary of accounts with following key and value { + 'code': account code, + 'name': account name, + 'debit': sum of total debit amount, + 'credit': sum of total credit amount, + 'balance': total balance, + 'amount_currency': sum of amount_currency, + 'move_lines': list of move line + } + """ + cr = self.env.cr + MoveLine = self.env['account.move.line'] + move_lines = {x: [] for x in accounts.ids} + + # Prepare initial sql query and Get the initial move lines + if init_balance: + context = dict(self.env.context) + context['date_from'] = self.env.context.get('date_from') + context['date_to'] = False + context['initial_bal'] = True + if analytic_account_ids: + context['analytic_account_ids'] = analytic_account_ids + if partner_ids: + context['partner_ids'] = partner_ids + init_tables, init_where_clause, init_where_params = MoveLine.with_context(context)._query_get() + init_wheres = [""] + if init_where_clause.strip(): + init_wheres.append(init_where_clause.strip()) + init_filters = " AND ".join(init_wheres) + filters = init_filters.replace('account_move_line__move_id', 'm').replace('account_move_line', 'l') + sql = ("""SELECT 0 AS lid, l.account_id AS account_id, '' AS ldate, + '' AS lcode, 0.0 AS amount_currency, + '' AS analytic_account_id, '' AS lref, + 'Initial Balance' AS lname, COALESCE(SUM(l.debit),0.0) AS debit, + COALESCE(SUM(l.credit),0.0) AS credit, + COALESCE(SUM(l.debit),0) - COALESCE(SUM(l.credit), 0) as balance, + '' AS lpartner_id,\ + '' AS move_name, '' AS move_id, '' AS currency_code,\ + NULL AS currency_id,\ + '' AS invoice_id, '' AS invoice_type, '' AS invoice_number,\ + '' AS partner_name\ + FROM account_move_line l\ + LEFT JOIN account_move m ON (l.move_id=m.id)\ + LEFT JOIN res_currency c ON (l.currency_id=c.id)\ + LEFT JOIN res_partner p ON (l.partner_id=p.id)\ + JOIN account_journal j ON (l.journal_id=j.id)\ + WHERE l.account_id IN %s""" + filters + ' GROUP BY l.account_id') + params = (tuple(accounts.ids),) + tuple(init_where_params) + cr.execute(sql, params) + for row in cr.dictfetchall(): + move_lines[row.pop('account_id')].append(row) + + sql_sort = 'l.date, l.move_id' + if sortby == 'sort_journal_partner': + sql_sort = 'j.code, p.name, l.move_id' + + # Prepare sql query base on selected parameters from wizard + context = dict(self.env.context) + if analytic_account_ids: + context['analytic_account_ids'] = analytic_account_ids + if partner_ids: + context['partner_ids'] = partner_ids + tables, where_clause, where_params = MoveLine.with_context(context)._query_get() + wheres = [""] + if where_clause.strip(): + wheres.append(where_clause.strip()) + filters = " AND ".join(wheres) + filters = filters.replace('account_move_line__move_id', 'm').replace('account_move_line', 'l') + + # Get move lines base on sql query and Calculate the total balance of move lines + sql = ('''SELECT l.id AS lid, l.account_id AS account_id, + l.date AS ldate, j.code AS lcode, l.currency_id, + l.amount_currency, '' AS analytic_account_id, + l.ref AS lref, l.name AS lname, COALESCE(l.debit,0) AS debit, + COALESCE(l.credit,0) AS credit, + COALESCE(SUM(l.debit),0) - COALESCE(SUM(l.credit), 0) AS balance,\ + m.name AS move_name, c.symbol AS currency_code, + p.name AS partner_name\ + FROM account_move_line l\ + JOIN account_move m ON (l.move_id=m.id)\ + LEFT JOIN res_currency c ON (l.currency_id=c.id)\ + LEFT JOIN res_partner p ON (l.partner_id=p.id)\ + JOIN account_journal j ON (l.journal_id=j.id)\ + JOIN account_account acc ON (l.account_id = acc.id) \ + WHERE l.account_id IN %s ''' + filters + ''' GROUP BY l.id, + l.account_id, l.date, j.code, l.currency_id, l.amount_currency, + l.ref, l.name, m.name, c.symbol, p.name ORDER BY ''' + sql_sort) + params = (tuple(accounts.ids),) + tuple(where_params) + cr.execute(sql, params) + + for row in cr.dictfetchall(): + balance = 0 + for line in move_lines.get(row['account_id']): + balance += line['debit'] - line['credit'] + row['balance'] += balance + move_lines[row.pop('account_id')].append(row) + + # Calculate the debit, credit and balance for Accounts + account_res = [] + for account in accounts: + currency = account.currency_id and account.currency_id or account.company_id.currency_id + res = dict((fn, 0.0) for fn in ['credit', 'debit', 'balance']) + res['code'] = account.code + res['name'] = account.name + res['move_lines'] = move_lines[account.id] + for line in res.get('move_lines'): + res['debit'] += line['debit'] + res['credit'] += line['credit'] + res['balance'] = line['balance'] + if display_account == 'all': + account_res.append(res) + if display_account == 'movement' and res.get('move_lines'): + account_res.append(res) + if display_account == 'not_zero' and not currency.is_zero(res['balance']): + account_res.append(res) + return account_res + + @api.model + def _get_report_values(self, docids, data=None): + if not data.get('form') or not self.env.context.get('active_model'): + raise UserError(_("Form content is missing, this report cannot be printed.")) + model = self.env.context.get('active_model') + docs = self.env[model].browse(self.env.context.get('active_ids', [])) + init_balance = data['form'].get('initial_balance', True) + sortby = data['form'].get('sortby', 'sort_date') + display_account = data['form']['display_account'] + codes = [] + if data['form'].get('journal_ids', False): + codes = [journal.code for journal in + self.env['account.journal'].search( + [('id', 'in', data['form']['journal_ids'])])] + analytic_account_ids = False + if data['form'].get('analytic_account_ids', False): + analytic_account_ids = self.env['account.analytic.account'].search( + [('id', 'in', data['form']['analytic_account_ids'])]) + partner_ids = False + if data['form'].get('partner_ids', False): + partner_ids = self.env['res.partner'].search( + [('id', 'in', data['form']['partner_ids'])]) + if model == 'account.account': + accounts = docs + else: + domain = [] + if data['form'].get('account_ids', False): + domain.append(('id', 'in', data['form']['account_ids'])) + accounts = self.env['account.account'].search(domain) + accounts_res = self.with_context( + data['form'].get('used_context', {}))._get_account_move_entry( + accounts, + analytic_account_ids, + partner_ids, + init_balance, sortby, display_account) + return { + 'doc_ids': docids, + 'doc_model': model, + 'data': data['form'], + 'docs': docs, + 'time': time, + 'Accounts': accounts_res, + 'print_journal': codes, + 'accounts': accounts, + 'partner_ids': partner_ids, + 'analytic_account_ids': analytic_account_ids, + } diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_general_ledger.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_general_ledger.xml new file mode 100644 index 0000000..d154a98 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_general_ledger.xml @@ -0,0 +1,128 @@ + + + + + + diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_journal.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_journal.py new file mode 100644 index 0000000..dd547f5 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_journal.py @@ -0,0 +1,119 @@ +# -*- coding: utf-8 -*- + +import time +from odoo import api, models, _ +from odoo.exceptions import UserError + + +class ReportJournal(models.AbstractModel): + _name = 'report.accounting_pdf_reports.report_journal' + _description = 'Journal Audit Report' + + def lines(self, target_move, journal_ids, sort_selection, data): + if isinstance(journal_ids, int): + journal_ids = [journal_ids] + + move_state = ['draft', 'posted'] + if target_move == 'posted': + move_state = ['posted'] + + query_get_clause = self._get_query_get_clause(data) + params = [tuple(move_state), tuple(journal_ids)] + query_get_clause[2] + query = 'SELECT "account_move_line".id FROM ' + query_get_clause[0] + ', account_move am, account_account acc WHERE "account_move_line".account_id = acc.id AND "account_move_line".move_id=am.id AND am.state IN %s AND "account_move_line".journal_id IN %s AND ' + query_get_clause[1] + ' ORDER BY ' + if sort_selection == 'date': + query += '"account_move_line".date' + else: + query += 'am.name' + query += ', "account_move_line".move_id, acc.code' + self.env.cr.execute(query, tuple(params)) + ids = (x[0] for x in self.env.cr.fetchall()) + return self.env['account.move.line'].browse(ids) + + def _sum_debit(self, data, journal_id): + move_state = ['draft', 'posted'] + if data['form'].get('target_move', 'all') == 'posted': + move_state = ['posted'] + + query_get_clause = self._get_query_get_clause(data) + params = [tuple(move_state), tuple(journal_id.ids)] + query_get_clause[2] + self.env.cr.execute('SELECT SUM(debit) FROM ' + query_get_clause[0] + ', account_move am ' + 'WHERE "account_move_line".move_id=am.id AND am.state IN %s AND "account_move_line".journal_id IN %s AND ' + query_get_clause[1] + ' ', + tuple(params)) + return self.env.cr.fetchone()[0] or 0.0 + + def _sum_credit(self, data, journal_id): + move_state = ['draft', 'posted'] + if data['form'].get('target_move', 'all') == 'posted': + move_state = ['posted'] + + query_get_clause = self._get_query_get_clause(data) + params = [tuple(move_state), tuple(journal_id.ids)] + query_get_clause[2] + self.env.cr.execute('SELECT SUM(credit) FROM ' + query_get_clause[0] + ', account_move am ' + 'WHERE "account_move_line".move_id=am.id AND am.state IN %s AND "account_move_line".journal_id IN %s AND ' + query_get_clause[1] + ' ', + tuple(params)) + return self.env.cr.fetchone()[0] or 0.0 + + def _get_taxes(self, data, journal_id): + move_state = ['draft', 'posted'] + if data['form'].get('target_move', 'all') == 'posted': + move_state = ['posted'] + + query_get_clause = self._get_query_get_clause(data) + params = [tuple(move_state), tuple(journal_id.ids)] + query_get_clause[2] + query = """ + SELECT rel.account_tax_id, SUM("account_move_line".balance) AS base_amount + FROM account_move_line_account_tax_rel rel, """ + query_get_clause[0] + """ + LEFT JOIN account_move am ON "account_move_line".move_id = am.id + WHERE "account_move_line".id = rel.account_move_line_id + AND am.state IN %s + AND "account_move_line".journal_id IN %s + AND """ + query_get_clause[1] + """ + GROUP BY rel.account_tax_id""" + self.env.cr.execute(query, tuple(params)) + ids = [] + base_amounts = {} + for row in self.env.cr.fetchall(): + ids.append(row[0]) + base_amounts[row[0]] = row[1] + + + res = {} + for tax in self.env['account.tax'].browse(ids): + self.env.cr.execute('SELECT sum(debit - credit) FROM ' + query_get_clause[0] + ', account_move am ' + 'WHERE "account_move_line".move_id=am.id AND am.state IN %s AND "account_move_line".journal_id IN %s AND ' + query_get_clause[1] + ' AND tax_line_id = %s', + tuple(params + [tax.id])) + res[tax] = { + 'base_amount': base_amounts[tax.id], + 'tax_amount': self.env.cr.fetchone()[0] or 0.0, + } + if journal_id.type == 'sale': + #sales operation are credits + res[tax]['base_amount'] = res[tax]['base_amount'] * -1 + res[tax]['tax_amount'] = res[tax]['tax_amount'] * -1 + return res + + def _get_query_get_clause(self, data): + return self.env['account.move.line'].with_context(data['form'].get('used_context', {}))._query_get() + + @api.model + def _get_report_values(self, docids, data=None): + if not data.get('form'): + raise UserError(_("Form content is missing, this report cannot be printed.")) + + target_move = data['form'].get('target_move', 'all') + sort_selection = data['form'].get('sort_selection', 'date') + + res = {} + for journal in data['form']['journal_ids']: + res[journal] = self.with_context(data['form'].get('used_context', {})).lines(target_move, journal, sort_selection, data) + return { + 'doc_ids': data['form']['journal_ids'], + 'doc_model': self.env['account.journal'], + 'data': data, + 'docs': self.env['account.journal'].browse(data['form']['journal_ids']), + 'time': time, + 'lines': res, + 'sum_credit': self._sum_credit, + 'sum_debit': self._sum_debit, + 'get_taxes': self._get_taxes, + } diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_journal_audit.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_journal_audit.xml new file mode 100644 index 0000000..7cdd514 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_journal_audit.xml @@ -0,0 +1,105 @@ + + + + + + diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_journal_entries.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_journal_entries.xml new file mode 100644 index 0000000..b90fda4 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_journal_entries.xml @@ -0,0 +1,116 @@ + + + + + + diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_partner_ledger.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_partner_ledger.py new file mode 100644 index 0000000..5f5c093 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_partner_ledger.py @@ -0,0 +1,124 @@ +# -*- coding: utf-8 -*- + +import time +from odoo import api, models, _ +from odoo.exceptions import UserError + + +class ReportPartnerLedger(models.AbstractModel): + _name = 'report.accounting_pdf_reports.report_partnerledger' + _description = 'Partner Ledger Report' + + def _lines(self, data, partner): + full_account = [] + currency = self.env['res.currency'] + query_get_data = self.env['account.move.line'].with_context(data['form'].get('used_context', {}))._query_get() + reconcile_clause = "" if data['form']['reconciled'] else ' AND "account_move_line".full_reconcile_id IS NULL ' + params = [partner.id, tuple(data['computed']['move_state']), tuple(data['computed']['account_ids'])] + query_get_data[2] + query = """ + SELECT "account_move_line".id, "account_move_line".date, j.code, acc.code as a_code, acc.name as a_name, "account_move_line".ref, m.name as move_name, "account_move_line".name, "account_move_line".debit, "account_move_line".credit, "account_move_line".amount_currency,"account_move_line".currency_id, c.symbol AS currency_code + FROM """ + query_get_data[0] + """ + LEFT JOIN account_journal j ON ("account_move_line".journal_id = j.id) + LEFT JOIN account_account acc ON ("account_move_line".account_id = acc.id) + LEFT JOIN res_currency c ON ("account_move_line".currency_id=c.id) + LEFT JOIN account_move m ON (m.id="account_move_line".move_id) + WHERE "account_move_line".partner_id = %s + AND m.state IN %s + AND "account_move_line".account_id IN %s AND """ + query_get_data[1] + reconcile_clause + """ + ORDER BY "account_move_line".date""" + self.env.cr.execute(query, tuple(params)) + res = self.env.cr.dictfetchall() + sum = 0.0 + lang_code = self.env.context.get('lang') or 'en_US' + lang = self.env['res.lang'] + lang_id = lang._lang_get(lang_code) + date_format = lang_id.date_format + for r in res: + r['date'] = r['date'] + r['displayed_name'] = '-'.join( + r[field_name] for field_name in ('move_name', 'ref', 'name') + if r[field_name] not in (None, '', '/') + ) + sum += r['debit'] - r['credit'] + r['progress'] = sum + r['currency_id'] = currency.browse(r.get('currency_id')) + full_account.append(r) + return full_account + + def _sum_partner(self, data, partner, field): + if field not in ['debit', 'credit', 'debit - credit']: + return + result = 0.0 + query_get_data = self.env['account.move.line'].with_context(data['form'].get('used_context', {}))._query_get() + reconcile_clause = "" if data['form']['reconciled'] else ' AND "account_move_line".full_reconcile_id IS NULL ' + + params = [partner.id, tuple(data['computed']['move_state']), tuple(data['computed']['account_ids'])] + query_get_data[2] + query = """SELECT sum(""" + field + """) + FROM """ + query_get_data[0] + """, account_move AS m + WHERE "account_move_line".partner_id = %s + AND m.id = "account_move_line".move_id + AND m.state IN %s + AND account_id IN %s + AND """ + query_get_data[1] + reconcile_clause + self.env.cr.execute(query, tuple(params)) + + contemp = self.env.cr.fetchone() + if contemp is not None: + result = contemp[0] or 0.0 + return result + + @api.model + def _get_report_values(self, docids, data=None): + if not data.get('form'): + raise UserError(_("Form content is missing, this report cannot be printed.")) + data['computed'] = {} + + obj_partner = self.env['res.partner'] + query_get_data = self.env['account.move.line'].with_context(data['form'].get('used_context', {}))._query_get() + data['computed']['move_state'] = ['draft', 'posted'] + if data['form'].get('target_move', 'all') == 'posted': + data['computed']['move_state'] = ['posted'] + result_selection = data['form'].get('result_selection', 'customer') + if result_selection == 'supplier': + data['computed']['ACCOUNT_TYPE'] = ['liability_payable'] + elif result_selection == 'customer': + data['computed']['ACCOUNT_TYPE'] = ['asset_receivable'] + else: + data['computed']['ACCOUNT_TYPE'] = ['asset_receivable', 'liability_payable'] + + self.env.cr.execute(""" + SELECT a.id + FROM account_account a + WHERE a.account_type IN %s + AND NOT a.deprecated""", (tuple(data['computed']['ACCOUNT_TYPE']),)) + data['computed']['account_ids'] = [a for (a,) in self.env.cr.fetchall()] + params = [tuple(data['computed']['move_state']), tuple(data['computed']['account_ids'])] + query_get_data[2] + reconcile_clause = "" if data['form']['reconciled'] else ' AND "account_move_line".full_reconcile_id IS NULL ' + query = """ + SELECT DISTINCT "account_move_line".partner_id + FROM """ + query_get_data[0] + """, account_account AS account, account_move AS am + WHERE "account_move_line".partner_id IS NOT NULL + AND "account_move_line".account_id = account.id + AND am.id = "account_move_line".move_id + AND am.state IN %s + AND "account_move_line".account_id IN %s + AND NOT account.deprecated + AND """ + query_get_data[1] + reconcile_clause + self.env.cr.execute(query, tuple(params)) + if data['form']['partner_ids']: + partner_ids = data['form']['partner_ids'] + else: + partner_ids = [res['partner_id'] for res in + self.env.cr.dictfetchall()] + partners = obj_partner.browse(partner_ids) + partners = sorted(partners, key=lambda x: (x.ref or '', x.name or '')) + + return { + 'doc_ids': partner_ids, + 'doc_model': self.env['res.partner'], + 'data': data, + 'docs': partners, + 'time': time, + 'lines': self._lines, + 'sum_partner': self._sum_partner, + } diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_partner_ledger.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_partner_ledger.xml new file mode 100644 index 0000000..03cb2c1 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_partner_ledger.xml @@ -0,0 +1,109 @@ + + + + + + diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_tax.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_tax.py new file mode 100644 index 0000000..90ec29c --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_tax.py @@ -0,0 +1,85 @@ +# -*- coding: utf-8 -*- + +from odoo import api, models, _ +from odoo.exceptions import UserError + + +class ReportTax(models.AbstractModel): + _name = 'report.accounting_pdf_reports.report_tax' + _description = 'PDV izvještaj' + + @api.model + def _get_report_values(self, docids, data=None): + if not data.get('form'): + raise UserError(_("Form content is missing, this report cannot be printed.")) + return { + 'data': data['form'], + 'lines': self.get_lines(data.get('form')), + } + + def _sql_from_amls_one(self): + sql = """SELECT "account_move_line".tax_line_id, COALESCE(SUM("account_move_line".debit-"account_move_line".credit), 0) + FROM %s + WHERE %s GROUP BY "account_move_line".tax_line_id""" + return sql + + def _sql_from_amls_two(self): + sql = """SELECT r.account_tax_id, COALESCE(SUM("account_move_line".debit-"account_move_line".credit), 0) + FROM %s + INNER JOIN account_move_line_account_tax_rel r ON ("account_move_line".id = r.account_move_line_id) + INNER JOIN account_tax t ON (r.account_tax_id = t.id) + WHERE %s GROUP BY r.account_tax_id""" + return sql + + def _compute_from_amls(self, options, taxes): + #compute the tax amount - pdv + sql = self._sql_from_amls_one() + tables, where_clause, where_params = self.env['account.move.line']._query_get() + query = sql % (tables, where_clause) + self.env.cr.execute(query, where_params) + results = self.env.cr.fetchall() + for result in results: + if result[0] in taxes: + taxes[result[0]]['tax'] = abs(result[1]) + + #compute the net amount - osnovica + sql2 = self._sql_from_amls_two() + query = sql2 % (tables, where_clause) + self.env.cr.execute(query, where_params) + results = self.env.cr.fetchall() + for result in results: + # ovako nedostaje PDV 0% + #if result[0] in taxes: + # taxes[result[0]]['net'] = abs(result[1]) + if result[0] in taxes: + # taxes[3] + # {'tax': 0, 'net': 0, 'name': 'PDV 0%', 'type': 'sale'} + taxes[result[0]]['net'] = abs(result[1]) + + + + + @api.model + def get_lines(self, options): + taxes = {} + # type_tax_use: sale, purchase + for tax in self.env['account.tax'].search([('type_tax_use', '!=', 'none')]): + if tax.children_tax_ids: + for child in tax.children_tax_ids: + if child.type_tax_use != 'none': + continue + taxes[child.id] = {'tax': 0, 'net': 0, 'name': child.name, 'type': tax.type_tax_use} + else: + taxes[tax.id] = {'tax': 0, 'net': 0, 'name': tax.name, 'type': tax.type_tax_use} + self.with_context(date_from=options['date_from'], + date_to=options['date_to'], + state=options['target_move'], + strict_range=True)._compute_from_amls(options, taxes) + + groups = dict((tp, []) for tp in ['sale', 'purchase']) + + for tax in taxes.values(): + #if tax['tax']: bez ovoga ne prikazuje pdv0 + if tax['net']: + groups[tax['type']].append(tax) + return groups diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_tax.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_tax.xml new file mode 100644 index 0000000..64f7994 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_tax.xml @@ -0,0 +1,85 @@ + + + + + + diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_trial_balance.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_trial_balance.py new file mode 100644 index 0000000..2d52117 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_trial_balance.py @@ -0,0 +1,125 @@ +# -*- coding: utf-8 -*- + +import time +from odoo import api, models, _ +from odoo.exceptions import UserError + + +class ReportTrialBalance(models.AbstractModel): + _name = 'report.accounting_pdf_reports.report_trialbalance' + _description = 'Trial Balance Report' + + def _get_initial_balance(self, accounts): + if not self.env.context.get('date_from'): + return {} + initial_balance = {} + + context = { + 'date_to': self.env.context['date_from'], + } + tables, where_clause, where_params = self.env['account.move.line'].with_context(context)._query_get() + tables = tables.replace('"', '') if tables else 'account_move_line' + + wheres = [""] + if where_clause.strip(): + wheres.append(where_clause.strip()) + filters = " AND ".join(wheres) + + request = (f"SELECT account_id AS id, SUM(debit) AS debit, SUM(credit) AS credit, " + f"(SUM(debit) - SUM(credit)) AS balance " + f"FROM {tables} WHERE account_id IN %s {filters} GROUP BY account_id") + + params = (tuple(accounts.ids),) + tuple(where_params) + self.env.cr.execute(request, params) + for row in self.env.cr.dictfetchall(): + initial_balance[row.pop('id')] = row + return initial_balance + + def _get_accounts(self, accounts, display_account): + """ compute the balance, debit and credit for the provided accounts + :Arguments: + `accounts`: list of accounts record, + `display_account`: it's used to display either all accounts or those accounts which balance is > 0 + :Returns a list of dictionary of Accounts with following key and value + `name`: Account name, + `code`: Account code, + `credit`: total amount of credit, + `debit`: total amount of debit, + `balance`: total amount of balance, + """ + + account_result = {} + # Prepare sql query base on selected parameters from wizard + tables, where_clause, where_params = self.env['account.move.line']._query_get() + tables = tables.replace('"','') + if not tables: + tables = 'account_move_line' + wheres = [""] + if where_clause.strip(): + wheres.append(where_clause.strip()) + filters = " AND ".join(wheres) + # compute the balance, debit and credit for the provided accounts + request = ("SELECT account_id AS id, SUM(debit) AS debit, SUM(credit) AS credit, " + "(SUM(debit) - SUM(credit)) AS balance" +\ + " FROM " + tables + " WHERE account_id IN %s " + filters + " GROUP BY account_id") + params = (tuple(accounts.ids),) + tuple(where_params) + self.env.cr.execute(request, params) + for row in self.env.cr.dictfetchall(): + account_result[row.pop('id')] = row + + initial_balance = self._get_initial_balance(accounts) + account_res = [] + for account in accounts: + res = dict((fn, 0.0) for fn in ['credit', 'debit', 'balance']) + currency = account.currency_id and account.currency_id or account.company_id.currency_id + res['code'] = account.code + res['name'] = account.name + if initial_balance.get(account.id): + res['initial_balance'] = initial_balance[account.id]['balance'] + else: + res['initial_balance'] = 0 + if account.id in account_result: + res['debit'] = account_result[account.id].get('debit') + res['credit'] = account_result[account.id].get('credit') + res['balance'] = res['initial_balance'] + account_result[account.id].get('balance') + else: + res['balance'] = res['initial_balance'] + if display_account == 'all': + account_res.append(res) + if display_account == 'not_zero' and not currency.is_zero(res['balance']): + account_res.append(res) + if display_account == 'movement' and (not currency.is_zero(res['debit']) or not currency.is_zero(res['credit'])): + account_res.append(res) + return account_res + + @api.model + def _get_report_values(self, docids, data=None): + if not data.get('form') or not self.env.context.get('active_model'): + raise UserError(_("Form content is missing, this report cannot be printed.")) + + model = self.env.context.get('active_model') + docs = self.env[model].browse(self.env.context.get('active_ids', [])) + display_account = data['form'].get('display_account') + accounts = docs if model == 'account.account' else self.env['account.account'].search([]) + context = data['form'].get('used_context') + analytic_accounts = [] + if data['form'].get('analytic_account_ids'): + analytic_account_ids = self.env['account.analytic.account'].browse(data['form'].get('analytic_account_ids')) + context['analytic_account_ids'] = analytic_account_ids + analytic_accounts = [account.name for account in analytic_account_ids] + account_res = self.with_context(context)._get_accounts(accounts, display_account) + codes = [] + if data['form'].get('journal_ids', False): + codes = [journal.code for journal in + self.env['account.journal'].search( + [('id', 'in', data['form']['journal_ids'])])] + return { + 'doc_ids': self.ids, + 'doc_model': model, + 'data': data['form'], + 'docs': docs, + 'print_journal': codes, + 'analytic_accounts': analytic_accounts, + 'time': time, + 'Accounts': account_res, + } diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_trial_balance.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_trial_balance.xml new file mode 100644 index 0000000..e11edf0 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/report/report_trial_balance.xml @@ -0,0 +1,89 @@ + + + + + + diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/security/ir.model.access.csv b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/security/ir.model.access.csv new file mode 100644 index 0000000..2edc7e6 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/security/ir.model.access.csv @@ -0,0 +1,25 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_account_financial_report_accountant,access.account.financial.report.manager,model_account_financial_report,account.group_account_user,1,1,1,1 +access_account_report_general_ledger,access.account.report.general.ledger,model_account_report_general_ledger,account.group_account_user,1,1,1,1 +access_account_balance_report,access.account.balance.report,model_account_balance_report,account.group_account_user,1,1,1,1 +access_account_report_partner_ledger,access.account.report.partner.ledger,model_account_report_partner_ledger,account.group_account_invoice,1,1,1,1 +access_accounting_report,access.accounting.report,model_accounting_report,account.group_account_user,1,1,1,1 +access_account_aged_trial_balance,access.account.aged.trial.balance,model_account_aged_trial_balance,account.group_account_user,1,1,1,1 +access_account_tax_report,access.account.tax.report.wizard,model_account_tax_report_wizard,account.group_account_user,1,1,1,1 + +access_account_financial_report_accountant_bm,access.account.financial.report.bmanager,model_account_financial_report,account.group_account_manager,1,1,1,1 +access_account_report_general_ledger_bm,access.account.report.general.ledger.bmanager,model_account_report_general_ledger,account.group_account_manager,1,1,1,1 +access_account_balance_report_bm,access.account.balance.report.bmanager,model_account_balance_report,account.group_account_manager,1,1,1,1 +access_account_report_partner_ledger_bm,access.account.report.partner.ledger.bmanager,model_account_report_partner_ledger,account.group_account_manager,1,1,1,1 +access_accounting_report_bm,access.accounting.report.bmanager,model_accounting_report,account.group_account_manager,1,1,1,1 +access_account_aged_trial_balance_bm,access.account.aged.trial.balance.bmanager,model_account_aged_trial_balance,account.group_account_manager,1,1,1,1 +access_account_tax_report_bm,access.account.tax.report.wizard.bmanager,model_account_tax_report_wizard,account.group_account_manager,1,1,1,1 +access_account_print_journal_bm,access.account.account.print.journal.bmanager,model_account_print_journal,account.group_account_manager,1,1,1,1 + +access_account_common_journal_report,access.account.common.journal.report,model_account_common_journal_report,account.group_account_user,1,1,1,0 +access_account_print_journal,access.account.print.journal,model_account_print_journal,account.group_account_user,1,1,1,0 + +access_account_common_account_report,access_account_common_account_report,model_account_common_account_report,base.group_user,1,0,0,0 +access_account_common_partner_report,access_account_common_partner_report,model_account_common_partner_report,base.group_user,1,0,0,0 +access_account_common_report,access_account_common_report,accounting_pdf_reports.model_account_common_report,base.group_user,1,0,0,0 +access_account_account_type,access_account_account_type,accounting_pdf_reports.model_account_account_type,base.group_user,1,0,0,0 diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/account_reports.png b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/account_reports.png new file mode 100644 index 0000000..ae304a0 Binary files /dev/null and b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/account_reports.png differ diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/aged_partner_balance_filter.png b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/aged_partner_balance_filter.png new file mode 100644 index 0000000..b75e2c1 Binary files /dev/null and b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/aged_partner_balance_filter.png differ diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/aged_partner_balance_report.png b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/aged_partner_balance_report.png new file mode 100644 index 0000000..dcde290 Binary files /dev/null and b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/aged_partner_balance_report.png differ diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/banner.gif b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/banner.gif new file mode 100644 index 0000000..b4f65f4 Binary files /dev/null and b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/banner.gif differ diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/general_ledger_filter.png b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/general_ledger_filter.png new file mode 100644 index 0000000..e57d990 Binary files /dev/null and b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/general_ledger_filter.png differ diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/general_ledger_report.png b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/general_ledger_report.png new file mode 100644 index 0000000..c3ab69f Binary files /dev/null and b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/general_ledger_report.png differ diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/icon.png b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/icon.png new file mode 100644 index 0000000..3d76c33 Binary files /dev/null and b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/icon.png differ diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/index.html b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/index.html new file mode 100644 index 0000000..03fea24 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/index.html @@ -0,0 +1,155 @@ +
+
+

Accounting Reports Odoo 16

+
+
+ +
+
+
+

+ + + + Added Financial Reports: +

+
+
+
+

+ Partner Ledger Report. +


+

+ Journals Audit. +


+

+ General Ledger. +


+

+ Trial Balance. +


+
+
+
+
+

+ Aged Partner Balance. +


+

+ Profit and Loss. +


+

+ Balance Sheet. +


+

+ Tax Report. +


+
+
+
+
+
+
+
+
+ +
+ +
+
+

Accounting Reports

+

All in one financial reports for odoo community edition

+
+ +
+
+
+
+ + +
+
+

General Ledger

+

General ledger report with accounts, partners and analytic account filter

+
+ +
+
+

Report

+
+ +
+
+
+ +
+
+

Partner Ledger

+

Partner ledger report with partner filter.

+
+ +
+
+

Report

+
+ +
+
+
+ +
+
+

Aged Partner Balance

+
+ +
+
+

Report

+
+ +
+
+
+ +
+ +
+
+
+
+
+ +
+

If you need any support or want more features, just contact us:


+

Email: odoomates@gmail.com

+
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/journal_audit_filter.png b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/journal_audit_filter.png new file mode 100644 index 0000000..2684c15 Binary files /dev/null and b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/journal_audit_filter.png differ diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/journal_audit_report.png b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/journal_audit_report.png new file mode 100644 index 0000000..aeb9925 Binary files /dev/null and b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/journal_audit_report.png differ diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/odoo_mates.png b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/odoo_mates.png new file mode 100644 index 0000000..8408fa3 Binary files /dev/null and b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/odoo_mates.png differ diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/partner_ledger_filter.png b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/partner_ledger_filter.png new file mode 100644 index 0000000..c05220f Binary files /dev/null and b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/partner_ledger_filter.png differ diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/partner_ledger_report.png b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/partner_ledger_report.png new file mode 100644 index 0000000..f2cfd4b Binary files /dev/null and b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/static/description/partner_ledger_report.png differ diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/views/financial_report.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/views/financial_report.xml new file mode 100644 index 0000000..1c035c8 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/views/financial_report.xml @@ -0,0 +1,100 @@ + + + + + + account.financial.report.form + account.financial.report + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + account.financial.report.tree + account.financial.report + + + + + + + + + + + + account.financial.report.search + account.financial.report + + + + + + + + + + + + + + + + Financial Reports + ir.actions.act_window + account.financial.report + tree,form + {'search_default_filter_parent_id': True} + + + + + + + + +
+
+ diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/views/ledger_menu.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/views/ledger_menu.xml new file mode 100644 index 0000000..44e6891 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/views/ledger_menu.xml @@ -0,0 +1,32 @@ + + + + + + {'journal_type':'general', 'search_default_group_by_account': 1, 'search_default_posted':1} + General Ledger + account.move.line + [('display_type', 'not in', ('line_section', 'line_note'))] + + + tree,pivot,graph + + + + {'journal_type':'general', 'search_default_group_by_partner': 1, 'search_default_posted':1, 'search_default_payable':1, 'search_default_receivable':1, 'search_default_unreconciled':1} + Partner Ledger + account.move.line + [('display_type', 'not in', ('line_section', 'line_note'))] + + + tree,pivot,graph + + + + + + + + + + diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/views/menu.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/views/menu.xml new file mode 100644 index 0000000..0123f53 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/views/menu.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/views/settings.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/views/settings.xml new file mode 100644 index 0000000..08427fc --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/views/settings.xml @@ -0,0 +1,51 @@ + + + + + \ No newline at end of file diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/__init__.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/__init__.py new file mode 100644 index 0000000..45a18ef --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/__init__.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- + +from . import account_report_common +from . import account_report_common_journal +from . import account_report_print_journal +from . import account_report +from . import account_report_common_partner +from . import account_report_common_account +from . import account_partner_ledger +from . import account_general_ledger +from . import account_trial_balance +from . import account_tax_report +from . import aged_partner +from . import account_journal_audit diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_general_ledger.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_general_ledger.py new file mode 100644 index 0000000..0633504 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_general_ledger.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- + +from odoo import fields, models, api, _ +from odoo.exceptions import UserError + + +class AccountReportGeneralLedger(models.TransientModel): + _name = "account.report.general.ledger" + _inherit = "account.common.account.report" + _description = "General Ledger Report" + + initial_balance = fields.Boolean(string='Include Initial Balances', + help='If you selected date, this field allow' + ' you to add a row to display the amount ' + 'of debit/credit/balance that precedes' + ' the filter you\'ve set.') + sortby = fields.Selection([('sort_date', 'Date'), + ('sort_journal_partner', 'Journal & Partner')], + string='Sort by', required=True, default='sort_date') + journal_ids = fields.Many2many('account.journal', + 'account_report_general_ledger_journal_rel', + 'account_id', 'journal_id', + string='Journals', required=True) + + def _get_report_data(self, data): + data = self.pre_print_report(data) + data['form'].update(self.read(['initial_balance', 'sortby'])[0]) + if data['form'].get('initial_balance') and not data['form'].get('date_from'): + raise UserError(_("You must define a Start Date")) + records = self.env[data['model']].browse(data.get('ids', [])) + return records, data + + def _print_report(self, data): + records, data = self._get_report_data(data) + return self.env.ref('accounting_pdf_reports.action_report_general_ledger').with_context(landscape=True).report_action(records, data=data) diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_journal_audit.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_journal_audit.py new file mode 100644 index 0000000..abb43f2 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_journal_audit.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- + +from odoo import fields, models, api + + +class AccountPrintJournal(models.TransientModel): + _name = "account.print.journal" + _inherit = "account.common.journal.report" + _description = "Account Print Journal" + + sort_selection = fields.Selection([('date', 'Date'), ('move_name', 'Journal Entry Number')], + 'Entries Sorted by', required=True, default='move_name') + journal_ids = fields.Many2many('account.journal', string='Journals', required=True, + default=lambda self: self.env['account.journal'].search([('type', 'in', ['sale', 'purchase'])])) + + def _get_report_data(self, data): + data = self.pre_print_report(data) + data['form'].update({'sort_selection': self.sort_selection}) + return data + + def _print_report(self, data): + data = self._get_report_data(data) + return self.env.ref('accounting_pdf_reports.action_report_journal').with_context(landscape=True).report_action(self, data=data) diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_partner_ledger.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_partner_ledger.py new file mode 100644 index 0000000..4e15e61 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_partner_ledger.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- + +from odoo import fields, models, api, _ + + +class AccountPartnerLedger(models.TransientModel): + _name = "account.report.partner.ledger" + _inherit = "account.common.partner.report" + _description = "Account Partner Ledger" + + amount_currency = fields.Boolean("With Currency", + help="It adds the currency column on " + "report if the currency differs from " + "the company currency.") + reconciled = fields.Boolean('Reconciled Entries') + + def _get_report_data(self, data): + data = self.pre_print_report(data) + data['form'].update({'reconciled': self.reconciled, + 'amount_currency': self.amount_currency}) + return data + + def _print_report(self, data): + data = self._get_report_data(data) + return self.env.ref('accounting_pdf_reports.action_report_partnerledger').with_context(landscape=True).\ + report_action(self, data=data) diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_report.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_report.py new file mode 100644 index 0000000..bbf7b43 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_report.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- + +from odoo import api, fields, models + + +class AccountingReport(models.TransientModel): + _name = "accounting.report" + _inherit = "account.common.report" + _description = "Accounting Report" + + @api.model + def _get_account_report(self): + reports = [] + if self._context.get('active_id'): + menu = self.env['ir.ui.menu'].browse(self._context.get('active_id')).name + reports = self.env['account.financial.report'].search([('name', 'ilike', menu)]) + return reports and reports[0] or False + + enable_filter = fields.Boolean(string='Enable Comparison') + account_report_id = fields.Many2one('account.financial.report', string='Account Reports', + required=True, default=_get_account_report) + label_filter = fields.Char(string='Column Label', help="This label will be displayed on report to " + "show the balance computed for the given comparison filter.") + filter_cmp = fields.Selection([('filter_no', 'No Filters'), ('filter_date', 'Date')], + string='Filter by', required=True, default='filter_no') + date_from_cmp = fields.Date(string='Date From') + date_to_cmp = fields.Date(string='Date To') + debit_credit = fields.Boolean(string='Display Debit/Credit Columns', + help="This option allows you to get more details about " + "the way your balances are computed." + " Because it is space consuming, we do not allow to" + " use it while doing a comparison.") + + def _build_comparison_context(self, data): + result = {} + result['journal_ids'] = 'journal_ids' in data['form'] and data['form']['journal_ids'] or False + result['state'] = 'target_move' in data['form'] and data['form']['target_move'] or '' + if data['form']['filter_cmp'] == 'filter_date': + result['date_from'] = data['form']['date_from_cmp'] + result['date_to'] = data['form']['date_to_cmp'] + result['strict_range'] = True + return result + + def check_report(self): + res = super(AccountingReport, self).check_report() + data = {} + data['form'] = self.read(['account_report_id', 'date_from_cmp', 'date_to_cmp', 'journal_ids', 'filter_cmp', 'target_move'])[0] + for field in ['account_report_id']: + if isinstance(data['form'][field], tuple): + data['form'][field] = data['form'][field][0] + comparison_context = self._build_comparison_context(data) + res['data']['form']['comparison_context'] = comparison_context + return res + + def _print_report(self, data): + data['form'].update(self.read(['date_from_cmp', 'debit_credit', 'date_to_cmp', 'filter_cmp', 'account_report_id', 'enable_filter', 'label_filter', 'target_move'])[0]) + return self.env.ref('accounting_pdf_reports.action_report_financial').report_action(self, data=data, config=False) diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_report_common.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_report_common.py new file mode 100644 index 0000000..65bed2a --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_report_common.py @@ -0,0 +1,54 @@ +# -*- coding: utf-8 -*- + +from odoo import api, fields, models, _ +from odoo.tools.misc import get_lang + + +class AccountCommonReport(models.TransientModel): + _name = "account.common.report" + _description = "Account Common Report" + + company_id = fields.Many2one('res.company', string='Company', required=True, readonly=True, default=lambda self: self.env.company) + journal_ids = fields.Many2many( + comodel_name='account.journal', + string='Journals', + required=True, + default=lambda self: self.env['account.journal'].search([('company_id', '=', self.company_id.id)]), + domain="[('company_id', '=', company_id)]", + ) + date_from = fields.Date(string='Start Date') + date_to = fields.Date(string='End Date') + target_move = fields.Selection([('posted', 'All Posted Entries'), + ('all', 'All Entries'), + ], string='Target Moves', required=True, default='posted') + + @api.onchange('company_id') + def _onchange_company_id(self): + if self.company_id: + self.journal_ids = self.env['account.journal'].search( + [('company_id', '=', self.company_id.id)]) + else: + self.journal_ids = self.env['account.journal'].search([]) + + def _build_contexts(self, data): + result = {} + result['journal_ids'] = 'journal_ids' in data['form'] and data['form']['journal_ids'] or False + result['state'] = 'target_move' in data['form'] and data['form']['target_move'] or '' + result['date_from'] = data['form']['date_from'] or False + result['date_to'] = data['form']['date_to'] or False + result['strict_range'] = True if result['date_from'] else False + result['company_id'] = data['form']['company_id'][0] or False + return result + + def _print_report(self, data): + raise NotImplementedError() + + def check_report(self): + self.ensure_one() + data = {} + data['ids'] = self.env.context.get('active_ids', []) + data['model'] = self.env.context.get('active_model', 'ir.ui.menu') + data['form'] = self.read(['date_from', 'date_to', 'journal_ids', 'target_move', 'company_id'])[0] + used_context = self._build_contexts(data) + data['form']['used_context'] = dict(used_context, lang=get_lang(self.env).code) + return self.with_context(discard_logo_check=True)._print_report(data) diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_report_common_account.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_report_common_account.py new file mode 100644 index 0000000..c19bb9f --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_report_common_account.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- + +from odoo import api, fields, models + + +class AccountCommonAccountReport(models.TransientModel): + _name = 'account.common.account.report' + _inherit = "account.common.report" + _description = 'Account Common Account Report' + + display_account = fields.Selection([('all', 'All'), + ('movement', 'With movements'), + ('not_zero', 'With balance is not equal to 0'), ], + string='Display Accounts', + required=True, default='movement') + analytic_account_ids = fields.Many2many('account.analytic.account', + string='Analytic Accounts') + account_ids = fields.Many2many('account.account', string='Accounts') + partner_ids = fields.Many2many('res.partner', string='Partners') + + def pre_print_report(self, data): + data['form'].update(self.read(['display_account'])[0]) + data['form'].update({ + 'analytic_account_ids': self.analytic_account_ids.ids, + 'partner_ids': self.partner_ids.ids, + 'account_ids': self.account_ids.ids, + }) + return data diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_report_common_journal.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_report_common_journal.py new file mode 100644 index 0000000..c00de45 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_report_common_journal.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- + +from odoo import api, fields, models + + +class AccountCommonJournalReport(models.TransientModel): + _name = 'account.common.journal.report' + _description = 'Common Journal Report' + _inherit = "account.common.report" + + amount_currency = fields.Boolean('With Currency', help="Print Report with the currency column if the currency differs from the company currency.") + + def pre_print_report(self, data): + data['form'].update({'amount_currency': self.amount_currency}) + return data diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_report_common_partner.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_report_common_partner.py new file mode 100644 index 0000000..5d4aaf9 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_report_common_partner.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- + +from odoo import fields, models + + +class AccountingCommonPartnerReport(models.TransientModel): + _name = 'account.common.partner.report' + _inherit = "account.common.report" + _description = 'Account Common Partner Report' + + result_selection = fields.Selection([('customer', 'Receivable Accounts'), + ('supplier', 'Payable Accounts'), + ('customer_supplier', 'Receivable and Payable Accounts') + ], string="Partner's", required=True, default='customer') + partner_ids = fields.Many2many('res.partner', string='Partners') + + def pre_print_report(self, data): + data['form'].update(self.read(['result_selection'])[0]) + data['form'].update({'partner_ids': self.partner_ids.ids}) + return data diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_report_common_view.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_report_common_view.xml new file mode 100644 index 0000000..6b15254 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_report_common_view.xml @@ -0,0 +1,26 @@ + + + + + Common Report + account.common.report + +
+ + + + + + + + + +
+
+
+
+
+ +
diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_report_print_journal.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_report_print_journal.py new file mode 100644 index 0000000..fee6144 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_report_print_journal.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- + +from odoo import fields, models + + +class AccountPrintJournal(models.TransientModel): + _inherit = "account.common.journal.report" + _name = "account.print.journal" + _description = "Account Print Journal" + + sort_selection = fields.Selection([('date', 'Date'), ('move_name', 'Journal Entry Number'),], 'Entries Sorted by', required=True, default='move_name') + journal_ids = fields.Many2many('account.journal', string='Journals', required=True, default=lambda self: self.env['account.journal'].search([('type', 'in', ['sale', 'purchase'])])) + + def _print_report(self, data): + data = self.pre_print_report(data) + data['form'].update({'sort_selection': self.sort_selection}) + return self.env.ref('account.action_report_journal').with_context(landscape=True).report_action(self, data=data) diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_tax_report.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_tax_report.py new file mode 100644 index 0000000..7c267d3 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_tax_report.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- + +from odoo import models, api, fields +from datetime import date + + +class AccountTaxReport(models.TransientModel): + _name = 'account.tax.report.wizard' + _inherit = "account.common.report" + _description = 'Tax Report' + + date_from = fields.Date(string='Date From', required=True, + default=lambda self: fields.Date.to_string(date.today().replace(day=1))) + date_to = fields.Date(string='Date To', required=True, + default=lambda self: fields.Date.to_string(date.today())) + + def _print_report(self, data): + return self.env.ref('accounting_pdf_reports.action_report_account_tax').report_action(self, data=data) diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_trial_balance.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_trial_balance.py new file mode 100644 index 0000000..7abe620 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/account_trial_balance.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- + +from odoo import fields, models, api + + +class AccountBalanceReport(models.TransientModel): + _name = 'account.balance.report' + _inherit = "account.common.account.report" + _description = 'Trial Balance Report' + + journal_ids = fields.Many2many('account.journal', 'account_balance_report_journal_rel', + 'account_id', 'journal_id', + string='Journals', required=True, default=[]) + analytic_account_ids = fields.Many2many('account.analytic.account', + 'account_trial_balance_analytic_rel', + string='Analytic Accounts') + + def _get_report_data(self, data): + data = self.pre_print_report(data) + records = self.env[data['model']].browse(data.get('ids', [])) + return records, data + + def _print_report(self, data): + records, data = self._get_report_data(data) + return self.env.ref('accounting_pdf_reports.action_report_trial_balance').report_action(records, data=data) diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/aged_partner.py b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/aged_partner.py new file mode 100644 index 0000000..05b3a97 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/aged_partner.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- + +import time +from dateutil.relativedelta import relativedelta +from odoo import api, fields, models, _ +from odoo.exceptions import UserError + + +class AccountAgedTrialBalance(models.TransientModel): + _name = 'account.aged.trial.balance' + _inherit = 'account.common.partner.report' + _description = 'Account Aged Trial balance Report' + + period_length = fields.Integer(string='Period Length (days)', required=True, default=30) + journal_ids = fields.Many2many('account.journal', string='Journals', required=True) + date_from = fields.Date(default=lambda *a: time.strftime('%Y-%m-%d')) + + def _get_report_data(self, data): + res = {} + data = self.pre_print_report(data) + data['form'].update(self.read(['period_length'])[0]) + period_length = data['form']['period_length'] + if period_length <= 0: + raise UserError(_('You must set a period length greater than 0.')) + if not data['form']['date_from']: + raise UserError(_('You must set a start date.')) + start = data['form']['date_from'] + for i in range(5)[::-1]: + stop = start - relativedelta(days=period_length - 1) + res[str(i)] = { + 'name': (i != 0 and (str((5 - (i + 1)) * period_length) + '-' + str((5 - i) * period_length)) or ( + '+' + str(4 * period_length))), + 'stop': start.strftime('%Y-%m-%d'), + 'start': (i != 0 and stop.strftime('%Y-%m-%d') or False), + } + start = stop - relativedelta(days=1) + data['form'].update(res) + return data + + def _print_report(self, data): + data = self._get_report_data(data) + return self.env.ref('accounting_pdf_reports.action_report_aged_partner_balance').\ + with_context(landscape=True).report_action(self, data=data) diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/aged_partner.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/aged_partner.xml new file mode 100644 index 0000000..9157da7 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/aged_partner.xml @@ -0,0 +1,85 @@ + + + + + Aged Partner Balance + account.aged.trial.balance + +
+ + + + + + + + + + + + + + +
+
+ +
+
+ + + Aged Partner Balance + account.aged.trial.balance + ir.actions.act_window + tree,form + + + new + + + + + + Aged Receivable + account.aged.trial.balance + ir.actions.act_window + tree,form + + {'default_result_selection': 'customer', + 'hide_result_selection': 1} + new + + + + + + + Aged Payable + account.aged.trial.balance + ir.actions.act_window + tree,form + + {'default_result_selection': 'supplier', + 'hide_result_selection': 1} + new + + + + +
diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/balance_sheet.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/balance_sheet.xml new file mode 100644 index 0000000..79c2ca5 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/balance_sheet.xml @@ -0,0 +1,117 @@ + + + + + Profit and Loss + -1 + sum + + + + Income + -1 + + detail_with_hierarchy + account_type + + + + + Expense + -1 + + detail_with_hierarchy + account_type + + + + + Balance Sheet + sum + + + + Assets + + detail_with_hierarchy + account_type + + + + + Liability + + no_detail + sum + + + + Liability + + detail_with_hierarchy + account_type + + + + + Profit (Loss) to report + + no_detail + account_report + + + + + Accounting Report + accounting.report + + + + + + + + + + + + + + + + + + + + + + + + + + + + Balance Sheet + accounting.report + ir.actions.act_window + form + + new + + + + + + \ No newline at end of file diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/general_ledger.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/general_ledger.xml new file mode 100644 index 0000000..de3c107 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/general_ledger.xml @@ -0,0 +1,48 @@ + + + + + General Ledger + account.report.general.ledger + + + + + + + + + + + + + + + + + + + + General Ledger + ir.actions.act_window + account.report.general.ledger + form + + new + + report + + + + + diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/journal_audit.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/journal_audit.xml new file mode 100644 index 0000000..866a7b7 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/journal_audit.xml @@ -0,0 +1,35 @@ + + + + + Journals Audit + account.print.journal + + + + + + + + + + + + + + Journals Audit + ir.actions.act_window + account.print.journal + form + + new + + + + + diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/partner_ledger.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/partner_ledger.xml new file mode 100644 index 0000000..db7e412 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/partner_ledger.xml @@ -0,0 +1,62 @@ + + + + + Partner Ledger + account.report.partner.ledger + + + + + + + + + + + + + + + + + + + Partner Ledger + ir.actions.act_window + account.report.partner.ledger + form + + new + + report + + + + + + + Balance Statement (Partner Ledger) + account.report.partner.ledger + form + + new + + report + { + 'default_partner_ids':active_ids, + 'default_target_move': 'posted', + 'default_result_selection': 'customer_supplier', + 'default_reconciled': True, + 'hide_partner':1, + } + + + + diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/profit_and_loss.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/profit_and_loss.xml new file mode 100644 index 0000000..ac1c6d8 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/profit_and_loss.xml @@ -0,0 +1,21 @@ + + + + + Profit and Loss + accounting.report + ir.actions.act_window + form + + new + + + + + + \ No newline at end of file diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/tax_report.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/tax_report.xml new file mode 100644 index 0000000..dae4a50 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/tax_report.xml @@ -0,0 +1,45 @@ + + + + + Tax Reports + account.tax.report.wizard + + +
+ + + + + + + + + + +
+
+
+
+
+ + + Tax Reports + account.tax.report.wizard + ir.actions.act_window + form + + {} + new + + + + +
diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/trial_balance.xml b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/trial_balance.xml new file mode 100644 index 0000000..3416b7e --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/accounting_pdf_reports/wizard/trial_balance.xml @@ -0,0 +1,41 @@ + + + + + Trial Balance + account.balance.report + + + + + + + + + + + + + + + + Trial Balance + ir.actions.act_window + account.balance.report + form + + new + + report + + + + + diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/doc/ARCHITECTURE.md b/odoo-bringout-odoomates-accounting_pdf_reports/doc/ARCHITECTURE.md new file mode 100644 index 0000000..8e96a33 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Accounting_pdf_reports Module - accounting_pdf_reports + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/doc/CONFIGURATION.md b/odoo-bringout-odoomates-accounting_pdf_reports/doc/CONFIGURATION.md new file mode 100644 index 0000000..1b950a5 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for accounting_pdf_reports. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/doc/CONTROLLERS.md b/odoo-bringout-odoomates-accounting_pdf_reports/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/doc/DEPENDENCIES.md b/odoo-bringout-odoomates-accounting_pdf_reports/doc/DEPENDENCIES.md new file mode 100644 index 0000000..99c6b28 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/doc/DEPENDENCIES.md @@ -0,0 +1,5 @@ +# Dependencies + +This addon depends on: + +- [account](../../odoo-bringout-oca-ocb-account) diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/doc/FAQ.md b/odoo-bringout-odoomates-accounting_pdf_reports/doc/FAQ.md new file mode 100644 index 0000000..89e0f69 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon accounting_pdf_reports or install in UI. diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/doc/INSTALL.md b/odoo-bringout-odoomates-accounting_pdf_reports/doc/INSTALL.md new file mode 100644 index 0000000..5dcec16 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-odoomates-accounting_pdf_reports" +# or +uv pip install odoo-bringout-odoomates-accounting_pdf_reports" +``` diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/doc/MODELS.md b/odoo-bringout-odoomates-accounting_pdf_reports/doc/MODELS.md new file mode 100644 index 0000000..8769da1 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/doc/MODELS.md @@ -0,0 +1,14 @@ +# Models + +Detected core models and extensions in accounting_pdf_reports. + +```mermaid +classDiagram + class account_account_type + class account_financial_report + class account_move_line +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/doc/OVERVIEW.md b/odoo-bringout-odoomates-accounting_pdf_reports/doc/OVERVIEW.md new file mode 100644 index 0000000..9764e8e --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: accounting_pdf_reports. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon accounting_pdf_reports +- License: LGPL-3 diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/doc/REPORTS.md b/odoo-bringout-odoomates-accounting_pdf_reports/doc/REPORTS.md new file mode 100644 index 0000000..e1d3687 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/doc/REPORTS.md @@ -0,0 +1,60 @@ +# Reports + +Report definitions and templates in accounting_pdf_reports. + +```mermaid +classDiagram + class ReportAgedPartnerBalance + AbstractModel <|-- ReportAgedPartnerBalance + class ReportGeneralLedger + AbstractModel <|-- ReportGeneralLedger + class ReportJournal + AbstractModel <|-- ReportJournal + class ReportTrialBalance + AbstractModel <|-- ReportTrialBalance + class ReportFinancial + AbstractModel <|-- ReportFinancial + class ReportPartnerLedger + AbstractModel <|-- ReportPartnerLedger + class ReportTax + AbstractModel <|-- ReportTax +``` + +## Available Reports + +### PDF/Document Reports +- **General Ledger** (PDF/Print) +- **Partner Ledger** (PDF/Print) +- **Trial Balance** (PDF/Print) +- **Financial Report** (PDF/Print) +- **Tax Report** (PDF/Print) +- **Aged Partner Balance** (PDF/Print) +- **Journals Audit** (PDF/Print) +- **Journals Entries** (PDF/Print) + + +## Report Files + +- **__init__.py** (Python logic) +- **report_aged_partner.py** (Python logic) +- **report_aged_partner.xml** (XML template/definition) +- **report_financial.py** (Python logic) +- **report_financial.xml** (XML template/definition) +- **report_general_ledger.py** (Python logic) +- **report_general_ledger.xml** (XML template/definition) +- **report_journal_audit.xml** (XML template/definition) +- **report_journal_entries.xml** (XML template/definition) +- **report_journal.py** (Python logic) +- **report_partner_ledger.py** (Python logic) +- **report_partner_ledger.xml** (XML template/definition) +- **report_tax.py** (Python logic) +- **report_tax.xml** (XML template/definition) +- **report_trial_balance.py** (Python logic) +- **report_trial_balance.xml** (XML template/definition) +- **report.xml** (XML template/definition) + +## Notes +- Named reports above are accessible through Odoo's reporting menu +- Python files define report logic and data processing +- XML files contain report templates, definitions, and formatting +- Reports are integrated with Odoo's printing and email systems diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/doc/SECURITY.md b/odoo-bringout-odoomates-accounting_pdf_reports/doc/SECURITY.md new file mode 100644 index 0000000..2181da7 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/doc/SECURITY.md @@ -0,0 +1,34 @@ +# Security + +Access control and security definitions in accounting_pdf_reports. + +## Access Control Lists (ACLs) + +Model access permissions defined in: +- **[ir.model.access.csv](../accounting_pdf_reports/security/ir.model.access.csv)** + - 24 model access rules + +## Record Rules + +Row-level security rules defined in: + +```mermaid +graph TB + subgraph "Security Layers" + A[Users] --> B[Groups] + B --> C[Access Control Lists] + C --> D[Models] + B --> E[Record Rules] + E --> F[Individual Records] + end +``` + +Security files overview: +- **[ir.model.access.csv](../accounting_pdf_reports/security/ir.model.access.csv)** + - Model access permissions (CRUD rights) + +Notes +- Access Control Lists define which groups can access which models +- Record Rules provide row-level security (filter records by user/group) +- Security groups organize users and define permission sets +- All security is enforced at the ORM level by Odoo diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/doc/TROUBLESHOOTING.md b/odoo-bringout-odoomates-accounting_pdf_reports/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/doc/USAGE.md b/odoo-bringout-odoomates-accounting_pdf_reports/doc/USAGE.md new file mode 100644 index 0000000..e83743e --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon accounting_pdf_reports +``` diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/doc/WIZARDS.md b/odoo-bringout-odoomates-accounting_pdf_reports/doc/WIZARDS.md new file mode 100644 index 0000000..f7379e4 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/doc/WIZARDS.md @@ -0,0 +1,18 @@ +# Wizards + +Transient models exposed as UI wizards in accounting_pdf_reports. + +```mermaid +classDiagram + class AccountAgedTrialBalance + class AccountBalanceReport + class AccountCommonAccountReport + class AccountCommonJournalReport + class AccountCommonReport + class AccountingCommonPartnerReport + class AccountingReport + class AccountPartnerLedger + class AccountPrintJournal + class AccountReportGeneralLedger + class AccountTaxReport +``` diff --git a/odoo-bringout-odoomates-accounting_pdf_reports/pyproject.toml b/odoo-bringout-odoomates-accounting_pdf_reports/pyproject.toml new file mode 100644 index 0000000..5888c79 --- /dev/null +++ b/odoo-bringout-odoomates-accounting_pdf_reports/pyproject.toml @@ -0,0 +1,42 @@ +[project] +name = "odoo-bringout-odoomates-accounting_pdf_reports" +version = "16.0.0" +description = "Odoo 16 Accounting Financial Reports - Accounting Reports For Odoo 16" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-ocb-account>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["accounting_pdf_reports"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-odoomates-om_account_accountant/README.md b/odoo-bringout-odoomates-om_account_accountant/README.md new file mode 100644 index 0000000..73192c7 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/README.md @@ -0,0 +1,49 @@ +# Odoo 16 Accounting + +Odoo 16 Financial Reports, Asset Management and Account Budget, Financial Reports, Recurring Payments, Bank Statement Import, Customer Follow Up Management,Account Lock Date, Accounting Dashboard + +## Installation + +```bash +pip install odoo-bringout-odoomates-om_account_accountant +``` + +## Dependencies + +This addon depends on: +- accounting_pdf_reports +- om_account_budget +- om_recurring_payments +- om_account_daily_reports + +## Manifest Information + +- **Name**: Odoo 16 Accounting +- **Version**: 1.0.0 +- **Category**: Accounting +- **License**: LGPL-3 +- **Installable**: True + +## Source + +Custom addon from bringout-odoomates vendor, addon `om_account_accountant`. + +## License + +This package maintains the original LGPL-3 license from the addon. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-odoomates-om_account_accountant/doc/ARCHITECTURE.md b/odoo-bringout-odoomates-om_account_accountant/doc/ARCHITECTURE.md new file mode 100644 index 0000000..c9889b0 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Om_account_accountant Module - om_account_accountant + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-odoomates-om_account_accountant/doc/CONFIGURATION.md b/odoo-bringout-odoomates-om_account_accountant/doc/CONFIGURATION.md new file mode 100644 index 0000000..f26484d --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for om_account_accountant. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-odoomates-om_account_accountant/doc/CONTROLLERS.md b/odoo-bringout-odoomates-om_account_accountant/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-odoomates-om_account_accountant/doc/DEPENDENCIES.md b/odoo-bringout-odoomates-om_account_accountant/doc/DEPENDENCIES.md new file mode 100644 index 0000000..ce52e37 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/doc/DEPENDENCIES.md @@ -0,0 +1,8 @@ +# Dependencies + +This addon depends on: + +- [accounting_pdf_reports](../../odoo-bringout-odoomates-accounting_pdf_reports) +- [om_account_budget](../../odoo-bringout-odoomates-om_account_budget) +- [om_recurring_payments](../../odoo-bringout-odoomates-om_recurring_payments) +- [om_account_daily_reports](../../odoo-bringout-odoomates-om_account_daily_reports) diff --git a/odoo-bringout-odoomates-om_account_accountant/doc/FAQ.md b/odoo-bringout-odoomates-om_account_accountant/doc/FAQ.md new file mode 100644 index 0000000..7523375 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon om_account_accountant or install in UI. diff --git a/odoo-bringout-odoomates-om_account_accountant/doc/INSTALL.md b/odoo-bringout-odoomates-om_account_accountant/doc/INSTALL.md new file mode 100644 index 0000000..90eaaa0 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-odoomates-om_account_accountant" +# or +uv pip install odoo-bringout-odoomates-om_account_accountant" +``` diff --git a/odoo-bringout-odoomates-om_account_accountant/doc/MODELS.md b/odoo-bringout-odoomates-om_account_accountant/doc/MODELS.md new file mode 100644 index 0000000..986f235 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/doc/MODELS.md @@ -0,0 +1,13 @@ +# Models + +Detected core models and extensions in om_account_accountant. + +```mermaid +classDiagram + class account_move + class res_config_settings +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-odoomates-om_account_accountant/doc/OVERVIEW.md b/odoo-bringout-odoomates-om_account_accountant/doc/OVERVIEW.md new file mode 100644 index 0000000..123e27b --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: om_account_accountant. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon om_account_accountant +- License: LGPL-3 diff --git a/odoo-bringout-odoomates-om_account_accountant/doc/REPORTS.md b/odoo-bringout-odoomates-om_account_accountant/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-odoomates-om_account_accountant/doc/SECURITY.md b/odoo-bringout-odoomates-om_account_accountant/doc/SECURITY.md new file mode 100644 index 0000000..2247876 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/doc/SECURITY.md @@ -0,0 +1,74 @@ +# Security + +Access control and security definitions in om_account_accountant. + +## Access Control Lists (ACLs) + +Model access permissions defined in: +- **[all_odoo_addons_repos.txt](../all_odoo_addons_repos.txt)** + - 318 model access rules +- **[bosnian_translations.json](../bosnian_translations.json)** + - 50 model access rules +- **[bosnian_translations_output.json](../bosnian_translations_output.json)** + - 444 model access rules +- **[CHANGELOG.md](../CHANGELOG.md)** + - 132 model access rules +- **[delete_all_odoo_addons.sh](../delete_all_odoo_addons.sh)** + - 50 model access rules +- **[delete_odoo_addons.sh](../delete_odoo_addons.sh)** + - 44 model access rules +- **[doc](../doc)** +- **[docker](../docker)** +- **[input](../input)** +- **[nix](../nix)** +- **[odoo.conf](../odoo.conf)** + - 58 model access rules +- **[odoo_packages_bez_l10n.txt](../odoo_packages_bez_l10n.txt)** + - 1947 model access rules +- **[odoo_packages_bringout.txt](../odoo_packages_bringout.txt)** + - 1947 model access rules +- **[odoo_packages.txt](../odoo_packages.txt)** + - 2085 model access rules +- **[output](../output)** +- **[packages](../packages)** +- **[PACKAGES.md](../PACKAGES.md)** + - 298 model access rules +- **[README.md](../README.md)** + - 338 model access rules +- **[scripts](../scripts)** +- **[temp](../temp)** +- **[TRANSLATION_BS_SUMMARY.md](../TRANSLATION_BS_SUMMARY.md)** + - 146 model access rules +- **[verify_deletions.sh](../verify_deletions.sh)** + - 55 model access rules + +## Record Rules + +Row-level security rules defined in: + +## Security Groups & Configuration + +Security groups and permissions defined in: +- **[group.xml](../om_account_accountant/security/group.xml)** + - 3 security groups defined + +```mermaid +graph TB + subgraph "Security Layers" + A[Users] --> B[Groups] + B --> C[Access Control Lists] + C --> D[Models] + B --> E[Record Rules] + E --> F[Individual Records] + end +``` + +Security files overview: +- **[group.xml](../om_account_accountant/security/group.xml)** + - Security groups, categories, and XML-based rules + +Notes +- Access Control Lists define which groups can access which models +- Record Rules provide row-level security (filter records by user/group) +- Security groups organize users and define permission sets +- All security is enforced at the ORM level by Odoo diff --git a/odoo-bringout-odoomates-om_account_accountant/doc/TROUBLESHOOTING.md b/odoo-bringout-odoomates-om_account_accountant/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-odoomates-om_account_accountant/doc/USAGE.md b/odoo-bringout-odoomates-om_account_accountant/doc/USAGE.md new file mode 100644 index 0000000..f72876f --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon om_account_accountant +``` diff --git a/odoo-bringout-odoomates-om_account_accountant/doc/WIZARDS.md b/odoo-bringout-odoomates-om_account_accountant/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/README.rst b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/README.rst new file mode 100644 index 0000000..4931818 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/README.rst @@ -0,0 +1,53 @@ +================== +Odoo 16 Accounting +================== + +This Module will adds following accounting features to Odoo 16 community edition: +Financial Reports, Asset Management, Budget Management, Bank Statement Import, +Daily Reports, Customer Follow Ups and Recurring Payments + + +Common FAQ +========== +1. How to skip in payment status and directly move to paid status ? +a) https://www.youtube.com/watch?v=eWxfy86Byog + +Installation +============ + +To install this module, you need to: + +Download the module and add it to your Odoo addons folder. Afterward, log on to +your Odoo server and go to the Apps menu. Trigger the debug mode and update the +list by clicking on the "Update Apps List" link. Now install the module by +clicking on the install button. + +Upgrade +============ + +To upgrade this module, you need to: + +Download the module and add it to your Odoo addons folder. Restart the server +and log on to your Odoo server. Select the Apps menu and upgrade the module by +clicking on the upgrade button. + + +Configuration +============= + +There is Nothing to Configure + + +Credits +======= + +Contributors +------------ + +* Odoo Mates + + +Author & Maintainer +------------------- + +This module is maintained by the Odoo Mates \ No newline at end of file diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/__init__.py b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/__init__.py new file mode 100644 index 0000000..cde864b --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import models diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/__manifest__.py b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/__manifest__.py new file mode 100644 index 0000000..bb23819 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/__manifest__.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +{ + 'name': 'Odoo 16 Accounting', + 'version': '1.0.0', + 'category': 'Accounting', + 'summary': 'Accounting Reports, Asset Management and Account Budget, Recurring Payments, ' + 'Lock Dates, Fiscal Year For Odoo 16 Community Edition, Accounting Dashboard, Financial Reports, ' + 'Customer Follow up Management, Bank Statement Import, Odoo Budget', + 'description': 'Odoo 16 Financial Reports, Asset Management and ' + 'Account Budget, Financial Reports, Recurring Payments, ' + 'Bank Statement Import, Customer Follow Up Management,' + 'Account Lock Date, Accounting Dashboard', + 'live_test_url': 'https://www.youtube.com/watch?v=6gB-05E5kNg', + 'sequence': '1', + 'website': 'https://www.odoomates.tech', + 'author': 'Odoo Mates, Odoo SA', + 'maintainer': 'Odoo Mates', + 'license': 'LGPL-3', + 'support': 'odoomates@gmail.com', + 'depends': [ + 'accounting_pdf_reports', + #'om_account_asset', + 'om_account_budget', + #'om_fiscal_year', + 'om_recurring_payments', + #'om_account_bank_statement_import', # koristimo OCA bank import + 'om_account_daily_reports', + #'om_account_followup', + ], + 'demo': [], + 'data': [ + 'security/group.xml', + 'views/settings.xml', + 'views/account_group.xml', + 'views/account_tag.xml', + 'views/res_partner.xml', + 'views/account_coa_template.xml', + 'views/fiscal_position_template.xml', + 'views/account_bank_statement.xml', + 'views/payment_method.xml', + 'views/reconciliation.xml', + 'views/account_journal.xml', + 'views/menu.xml', + ], + 'installable': True, + 'application': True, + 'auto_install': False, + 'images': ['static/description/banner.png'], +} + diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/doc/RELEASE_NOTES.md b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/doc/RELEASE_NOTES.md new file mode 100644 index 0000000..6ec55c5 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/doc/RELEASE_NOTES.md @@ -0,0 +1,7 @@ +## Module + +#### 22.07.2022 +#### Version 16.0.1.0.0 +##### ADD +- initial release + diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/doc/index.rst b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/doc/index.rst new file mode 100644 index 0000000..4e32322 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/doc/index.rst @@ -0,0 +1,53 @@ +================== +Odoo 16 Accounting +================== + +This Module will adds following accounting features to Odoo 16 community edition: +Financial Reports, Asset Management, Budget Management, Bank Statement Import, +Daily Reports, Customer Follow Ups and Recurring Payments + +Common FAQ +========== +1. How to skip in payment status and directly move to paid status ? +a) https://www.youtube.com/watch?v=eWxfy86Byog + +Installation +============ + +To install this module, you need to: + +Download the module and add it to your Odoo addons folder. Afterward, log on to +your Odoo server and go to the Apps menu. Trigger the debug mode and update the +list by clicking on the "Update Apps List" link. Now install the module by +clicking on the install button. + + +Upgrade +============ + +To upgrade this module, you need to: + +Download the module and add it to your Odoo addons folder. Restart the server +and log on to your Odoo server. Select the Apps menu and upgrade the module by +clicking on the upgrade button. + + +Configuration +============= + +There is Nothing to Configure + + +Credits +======= + +Contributors +------------ + +* Odoo Mates + + +Author & Maintainer +------------------- + +This module is maintained by the Odoo Mates \ No newline at end of file diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/doc/translators.md b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/doc/translators.md new file mode 100644 index 0000000..daef43a --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/doc/translators.md @@ -0,0 +1,3 @@ +##Turkish - Alaattin Kahramanlar +##Spanish MX - Alfonso González +##French - Sylvain LC \ No newline at end of file diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/i18n/bs.po b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/i18n/bs.po new file mode 100644 index 0000000..5f004de --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/i18n/bs.po @@ -0,0 +1,198 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * om_account_accountant +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-03-13 08:04+0000\n" +"PO-Revision-Date: 2024-03-13 08: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: om_account_accountant +#: model:ir.actions.act_window,name:om_account_accountant.action_account_group_action +#: model:ir.ui.menu,name:om_account_accountant.menu_account_group +msgid "Account Groups" +msgstr "Grupe konta" + +#. module: om_account_accountant +#: model:ir.actions.act_window,name:om_account_accountant.action_account_account_tag +#: model:ir.ui.menu,name:om_account_accountant.menu_account_tag +msgid "Account Tags" +msgstr "Oznake konta" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_chart_template_seacrh +msgid "Account Template" +msgstr "Predložak konta" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_partner_property_form +msgid "Accounting" +msgstr "Računovodstvo" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.res_config_settings_view_form +msgid "Anglo-Saxon Accounting" +msgstr "Anglo-saksonsko računovodstvo" + +#. module: om_account_accountant +#: model:ir.ui.menu,name:om_account_accountant.menu_accounting_statement_bank +msgid "Bank Statements" +msgstr "Izvodi banke" + +#. module: om_account_accountant +#: model:ir.ui.menu,name:om_account_accountant.menu_accounting_bank_and_cash +#: model:ir.ui.menu,name:om_account_accountant.menu_action_account_moves_journal_bank_cash +msgid "Bank and Cash" +msgstr "Banka i Blagajna" + +#. module: om_account_accountant +#: model:ir.ui.menu,name:om_account_accountant.menu_accounting_statement_cash +msgid "Cash Registers" +msgstr "Kase" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_chart_template_form +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_chart_template_tree +msgid "Chart of Accounts Template" +msgstr "Grafikon of Računs Šablon" + +#. module: om_account_accountant +#: model:ir.actions.act_window,name:om_account_accountant.action_account_chart_template_form +#: model:ir.ui.menu,name:om_account_accountant.menu_account_coa_template +msgid "Chart of Accounts Templates" +msgstr "Predlošci kontnog plana" + +#. module: om_account_accountant +#: model:ir.model,name:om_account_accountant.model_res_config_settings +msgid "Config Settings" +msgstr "Postavke" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_chart_template_form +msgid "Default Taxes" +msgstr "Tekući porezi" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_chart_template_seacrh +msgid "Expense Account" +msgstr "Konto za rashode" + +#. module: om_account_accountant +#: model:ir.actions.act_window,name:om_account_accountant.action_account_fiscal_position_template +#: model:ir.ui.menu,name:om_account_accountant.menu_account_fiscal_position_template +msgid "Fiscal Position Templates" +msgstr "Predlošci fiskalnih pozicija" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_chart_template_seacrh +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_payment_method_search +msgid "Group By" +msgstr "Grupiši po" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_chart_template_seacrh +msgid "Income Account" +msgstr "Konto prihoda" + +#. module: om_account_accountant +#: model:ir.model,name:om_account_accountant.model_account_move +msgid "Journal Entry" +msgstr "Žurnal" + +#. module: om_account_accountant +#: model:ir.ui.menu,name:om_account_accountant.menu_finance_entries_accounting_journals +msgid "Journals" +msgstr "Žurnali" + +#. module: om_account_accountant +#: model:ir.ui.menu,name:om_account_accountant.menu_action_account_moves_journal_misc +msgid "Miscellaneous" +msgstr "Razno" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_chart_template_seacrh +msgid "Payable Account" +msgstr "Potražni saldo-konto" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_payment_method_search +msgid "Payment Method" +msgstr "Metoda plaćanja" + +#. module: om_account_accountant +#: model:ir.actions.act_window,name:om_account_accountant.action_account_payment_method +#: model:ir.ui.menu,name:om_account_accountant.menu_account_payment_method +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_payment_method_form +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_payment_method_search +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_payment_method_tree +msgid "Payment Methods" +msgstr "Metoda plaćanja" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_payment_method_search +msgid "Payment Type" +msgstr "Tip plaćanja" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_chart_template_form +msgid "Properties" +msgstr "Svojstva" + +#. module: om_account_accountant +#: model:ir.ui.menu,name:om_account_accountant.menu_action_account_moves_journal_purchase +msgid "Purchases" +msgstr "Nabavke" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_chart_template_seacrh +msgid "Receivable Account" +msgstr "Dugovni saldo-konto" + +#. module: om_account_accountant +#: model:ir.actions.server,name:om_account_accountant.action_account_reconciliation +msgid "Reconcile" +msgstr "Reconcile" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.res_config_settings_view_form +msgid "" +"Record the cost of a good as an expense when this good is\n" +" invoiced to a final customer (instead of recording the cost as soon\n" +" as the product is received in stock)." +msgstr "" + +#. module: om_account_accountant +#: model:ir.model.fields,help:om_account_accountant.field_res_config_settings__anglo_saxon_accounting +msgid "" +"Record the cost of a good as an expense when this good is invoiced to a " +"final customer." +msgstr "" + +#. module: om_account_accountant +#: model:ir.ui.menu,name:om_account_accountant.menu_action_account_moves_journal_sales +msgid "Sales" +msgstr "Prodaja" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_chart_template_seacrh +msgid "Search Chart of Account Templates" +msgstr "Pretraži Grafikon of Račun Šablons" + +#. module: om_account_accountant +#: model:ir.ui.menu,name:om_account_accountant.menu_account_templates +msgid "Templates" +msgstr "Predlošci" + +#. module: om_account_accountant +#: model:ir.model.fields,field_description:om_account_accountant.field_res_config_settings__anglo_saxon_accounting +msgid "Use anglo-saxon accounting" +msgstr "Koristi Anglo-Saxonsko računovodstvo" diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/i18n/om_account_accountant.pot b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/i18n/om_account_accountant.pot new file mode 100644 index 0000000..9346fb7 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/i18n/om_account_accountant.pot @@ -0,0 +1,198 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * om_account_accountant +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-03-13 08:04+0000\n" +"PO-Revision-Date: 2024-03-13 08: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: om_account_accountant +#: model:ir.actions.act_window,name:om_account_accountant.action_account_group_action +#: model:ir.ui.menu,name:om_account_accountant.menu_account_group +msgid "Account Groups" +msgstr "" + +#. module: om_account_accountant +#: model:ir.actions.act_window,name:om_account_accountant.action_account_account_tag +#: model:ir.ui.menu,name:om_account_accountant.menu_account_tag +msgid "Account Tags" +msgstr "" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_chart_template_seacrh +msgid "Account Template" +msgstr "" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_partner_property_form +msgid "Accounting" +msgstr "" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.res_config_settings_view_form +msgid "Anglo-Saxon Accounting" +msgstr "" + +#. module: om_account_accountant +#: model:ir.ui.menu,name:om_account_accountant.menu_accounting_statement_bank +msgid "Bank Statements" +msgstr "" + +#. module: om_account_accountant +#: model:ir.ui.menu,name:om_account_accountant.menu_accounting_bank_and_cash +#: model:ir.ui.menu,name:om_account_accountant.menu_action_account_moves_journal_bank_cash +msgid "Bank and Cash" +msgstr "" + +#. module: om_account_accountant +#: model:ir.ui.menu,name:om_account_accountant.menu_accounting_statement_cash +msgid "Cash Registers" +msgstr "" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_chart_template_form +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_chart_template_tree +msgid "Chart of Accounts Template" +msgstr "" + +#. module: om_account_accountant +#: model:ir.actions.act_window,name:om_account_accountant.action_account_chart_template_form +#: model:ir.ui.menu,name:om_account_accountant.menu_account_coa_template +msgid "Chart of Accounts Templates" +msgstr "" + +#. module: om_account_accountant +#: model:ir.model,name:om_account_accountant.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_chart_template_form +msgid "Default Taxes" +msgstr "" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_chart_template_seacrh +msgid "Expense Account" +msgstr "" + +#. module: om_account_accountant +#: model:ir.actions.act_window,name:om_account_accountant.action_account_fiscal_position_template +#: model:ir.ui.menu,name:om_account_accountant.menu_account_fiscal_position_template +msgid "Fiscal Position Templates" +msgstr "" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_chart_template_seacrh +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_payment_method_search +msgid "Group By" +msgstr "" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_chart_template_seacrh +msgid "Income Account" +msgstr "" + +#. module: om_account_accountant +#: model:ir.model,name:om_account_accountant.model_account_move +msgid "Journal Entry" +msgstr "" + +#. module: om_account_accountant +#: model:ir.ui.menu,name:om_account_accountant.menu_finance_entries_accounting_journals +msgid "Journals" +msgstr "" + +#. module: om_account_accountant +#: model:ir.ui.menu,name:om_account_accountant.menu_action_account_moves_journal_misc +msgid "Miscellaneous" +msgstr "" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_chart_template_seacrh +msgid "Payable Account" +msgstr "" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_payment_method_search +msgid "Payment Method" +msgstr "" + +#. module: om_account_accountant +#: model:ir.actions.act_window,name:om_account_accountant.action_account_payment_method +#: model:ir.ui.menu,name:om_account_accountant.menu_account_payment_method +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_payment_method_form +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_payment_method_search +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_payment_method_tree +msgid "Payment Methods" +msgstr "" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_payment_method_search +msgid "Payment Type" +msgstr "" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_chart_template_form +msgid "Properties" +msgstr "" + +#. module: om_account_accountant +#: model:ir.ui.menu,name:om_account_accountant.menu_action_account_moves_journal_purchase +msgid "Purchases" +msgstr "" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_chart_template_seacrh +msgid "Receivable Account" +msgstr "" + +#. module: om_account_accountant +#: model:ir.actions.server,name:om_account_accountant.action_account_reconciliation +msgid "Reconcile" +msgstr "" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.res_config_settings_view_form +msgid "" +"Record the cost of a good as an expense when this good is\n" +" invoiced to a final customer (instead of recording the cost as soon\n" +" as the product is received in stock)." +msgstr "" + +#. module: om_account_accountant +#: model:ir.model.fields,help:om_account_accountant.field_res_config_settings__anglo_saxon_accounting +msgid "" +"Record the cost of a good as an expense when this good is invoiced to a " +"final customer." +msgstr "" + +#. module: om_account_accountant +#: model:ir.ui.menu,name:om_account_accountant.menu_action_account_moves_journal_sales +msgid "Sales" +msgstr "" + +#. module: om_account_accountant +#: model_terms:ir.ui.view,arch_db:om_account_accountant.view_account_chart_template_seacrh +msgid "Search Chart of Account Templates" +msgstr "" + +#. module: om_account_accountant +#: model:ir.ui.menu,name:om_account_accountant.menu_account_templates +msgid "Templates" +msgstr "" + +#. module: om_account_accountant +#: model:ir.model.fields,field_description:om_account_accountant.field_res_config_settings__anglo_saxon_accounting +msgid "Use anglo-saxon accounting" +msgstr "" diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/models/__init__.py b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/models/__init__.py new file mode 100644 index 0000000..b7f0b1d --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import account_move +from . import settings diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/models/account_move.py b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/models/account_move.py new file mode 100644 index 0000000..23bea61 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/models/account_move.py @@ -0,0 +1,11 @@ +# -*- coding: utf-8 -*- + +from odoo import fields, models, api + + +class AccountMove(models.Model): + _inherit = "account.move" + + @api.model + def _get_invoice_in_payment_state(self): + return 'in_payment' diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/models/settings.py b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/models/settings.py new file mode 100644 index 0000000..bdec3ca --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/models/settings.py @@ -0,0 +1,12 @@ +# -*- coding: utf-8 -*- + +from odoo import fields, models + + +class ResConfigSettings(models.TransientModel): + _inherit = "res.config.settings" + + anglo_saxon_accounting = fields.Boolean(related="company_id.anglo_saxon_accounting", + readonly=False, string="Use anglo-saxon accounting", + help="Record the cost of a good as an expense when this good is invoiced " + "to a final customer.") diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/security/group.xml b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/security/group.xml new file mode 100644 index 0000000..f0b0087 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/security/group.xml @@ -0,0 +1,25 @@ + + + + + Accounting + + + + Accountant + + + + + + + + Advisor + + + + Auditor + + + + diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/account_settings.png b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/account_settings.png new file mode 100644 index 0000000..ff8869d Binary files /dev/null and b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/account_settings.png differ diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/account_settings2.png b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/account_settings2.png new file mode 100644 index 0000000..eb8d32f Binary files /dev/null and b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/account_settings2.png differ diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/banner.gif b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/banner.gif new file mode 100644 index 0000000..4ebff85 Binary files /dev/null and b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/banner.gif differ diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/banner.png b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/banner.png new file mode 100644 index 0000000..c030446 Binary files /dev/null and b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/banner.png differ diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/credit_limit.png b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/credit_limit.png new file mode 100644 index 0000000..06f5208 Binary files /dev/null and b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/credit_limit.png differ diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/daily_reports.png b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/daily_reports.png new file mode 100644 index 0000000..81b4f9b Binary files /dev/null and b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/daily_reports.png differ diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/financial_reports.png b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/financial_reports.png new file mode 100644 index 0000000..95ff2f2 Binary files /dev/null and b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/financial_reports.png differ diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/icon.png b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/icon.png new file mode 100644 index 0000000..3d76c33 Binary files /dev/null and b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/icon.png differ diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/index.html b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/index.html new file mode 100644 index 0000000..5894916 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/index.html @@ -0,0 +1,220 @@ + +
+ +
+ +
+
+

Odoo 16 Accounting

+
+
+ +
+
+
+

Financial Reports

+

Balance Sheet, Profit and Loss, Partner Ledger, + Aged Partner Balance, Aged Receivable, Aged Payable, General Ledger, + Trial Balance, Tax Reports, Journals Audit Reports

+
+ +
+
+
+
+ +
+
+
+

Asset Management

+
+ +
+
+
+
+ +
+
+
+

Budget Management

+
+ +
+
+
+
+ +
+
+
+

Accounting Dashboard

+
+ +
+
+
+
+ +
+
+
+

Customer Follow Up

+

Send follow up emails to customer regarding pending payments +

+
+ +
+
+
+
+ +
+
+
+

Recurring Payment

+
+ +
+
+
+
+ +
+
+
+

Daily Reports

+

Day Book, Cash Book and Bank Book

+ +
+ +
+
+
+
+ +
+
+
+

Fiscal Year and Closing

+

+ Manage fiscal years and year ending by setting lock dates +

+
+ +
+
+
+
+ +
+
+
+

Support Bank Statement Importing

+

Import bank statements in excel and csv formats

+
+ +
+
+
+
+ +
+
+
+

Account Settings

+

Enable sales receipts, purchase receipts, credit limit, + anglo saxon accounting and configure fiscal years from account settings +

+
+ +
+
+
+
+ +
+
+
+

Account Settings

+
+ +
+
+
+
+ +
+
+
+

Need Enhanced Financial Reports ?

+

+ View financial reports in screen with filters and in PDF, Excel formats

+
+ +
+ +
+
+
+ +
+
+
+
+
+ +
+

If you need any help or want more features, just contact us:


+

Email: odoomates@gmail.com

+
+ +
+
+
+
+
diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo16_account_dashboard.png b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo16_account_dashboard.png new file mode 100644 index 0000000..74b6aff Binary files /dev/null and b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo16_account_dashboard.png differ diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo16_asset_management.png b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo16_asset_management.png new file mode 100644 index 0000000..7ef9f98 Binary files /dev/null and b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo16_asset_management.png differ diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo16_bank_statement.png b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo16_bank_statement.png new file mode 100644 index 0000000..04b5915 Binary files /dev/null and b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo16_bank_statement.png differ diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo16_budget.gif b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo16_budget.gif new file mode 100644 index 0000000..a490614 Binary files /dev/null and b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo16_budget.gif differ diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo16_customer_followup.png b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo16_customer_followup.png new file mode 100644 index 0000000..d1cc6a0 Binary files /dev/null and b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo16_customer_followup.png differ diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo16_fiscal_year.png b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo16_fiscal_year.png new file mode 100644 index 0000000..0191daf Binary files /dev/null and b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo16_fiscal_year.png differ diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo16_recurring_payment.png b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo16_recurring_payment.png new file mode 100644 index 0000000..e5f4820 Binary files /dev/null and b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo16_recurring_payment.png differ diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo_github.png b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo_github.png new file mode 100644 index 0000000..682e555 Binary files /dev/null and b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo_github.png differ diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo_mates.png b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo_mates.png new file mode 100644 index 0000000..8408fa3 Binary files /dev/null and b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo_mates.png differ diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo_report.gif b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo_report.gif new file mode 100644 index 0000000..1465af3 Binary files /dev/null and b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/static/description/odoo_report.gif differ diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/account_bank_statement.xml b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/account_bank_statement.xml new file mode 100644 index 0000000..5bb9ee2 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/account_bank_statement.xml @@ -0,0 +1,19 @@ + + + + + + + + + + diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/account_coa_template.xml b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/account_coa_template.xml new file mode 100644 index 0000000..b1b498b --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/account_coa_template.xml @@ -0,0 +1,93 @@ + + + + + account.chart.template.form + account.chart.template + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ + + account.chart.template.search + account.chart.template + + + + + + + + + + + + + + + + + + account.chart.template.tree + account.chart.template + + + + + + + + + + + + + + + Account Groups + ir.actions.act_window + account.group + tree,form + + + +
diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/account_group.xml b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/account_group.xml new file mode 100644 index 0000000..5badf59 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/account_group.xml @@ -0,0 +1,16 @@ + + + + + Account Groups + ir.actions.act_window + account.group + tree,form + + + + + diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/account_journal.xml b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/account_journal.xml new file mode 100644 index 0000000..737d72d --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/account_journal.xml @@ -0,0 +1,51 @@ + + + + + account.journal + account.journal + + + + show + + + show + + + + + + + + + account.move.line.search + account.move.line + + + + + + + + + + + + {'search_default_group_by_move': 1, 'search_default_posted':1, 'search_default_pst_filter':1, 'expand': 1} + Početna stanja + account.move.line + [('display_type', 'not in', ('line_section', 'line_note'))] + + tree,pivot,graph,kanban + + + diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/account_tag.xml b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/account_tag.xml new file mode 100644 index 0000000..092d174 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/account_tag.xml @@ -0,0 +1,15 @@ + + + + + Account Tags + account.account.tag + tree,form + + + + + diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/fiscal_position_template.xml b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/fiscal_position_template.xml new file mode 100644 index 0000000..4b01c4e --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/fiscal_position_template.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/menu.xml b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/menu.xml new file mode 100644 index 0000000..7b2eda6 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/menu.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/payment_method.xml b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/payment_method.xml new file mode 100644 index 0000000..b1bc39a --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/payment_method.xml @@ -0,0 +1,62 @@ + + + + + account.payment.method + account.payment.method + +
+ + + + + + + + + + + + +
+
+
+ + + account.payment.method + account.payment.method + + + + + + + + + + account.payment.method + account.payment.method + + + + + + + + + + + + + Payment Methods + account.payment.method + tree,form + + + + +
diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/reconciliation.xml b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/reconciliation.xml new file mode 100644 index 0000000..f135b26 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/reconciliation.xml @@ -0,0 +1,13 @@ + + + + + Reconcile + + + code + action = records.reconcile() + + + + diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/res_partner.xml b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/res_partner.xml new file mode 100644 index 0000000..f4febdd --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/res_partner.xml @@ -0,0 +1,15 @@ + + + + + res.partner + res.partner + + + + Accounting + + + + + diff --git a/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/settings.xml b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/settings.xml new file mode 100644 index 0000000..5220f7d --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/om_account_accountant/views/settings.xml @@ -0,0 +1,45 @@ + + + + + + \ No newline at end of file diff --git a/odoo-bringout-odoomates-om_account_accountant/pyproject.toml b/odoo-bringout-odoomates-om_account_accountant/pyproject.toml new file mode 100644 index 0000000..1f38cc4 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_accountant/pyproject.toml @@ -0,0 +1,45 @@ +[project] +name = "odoo-bringout-odoomates-om_account_accountant" +version = "16.0.0" +description = "Odoo 16 Accounting - Accounting Reports, Asset Management and Account Budget, Recurring Payments, Lock Dates, Fiscal Year For Odoo 16 Community Edition, Accounting Dashboard, Financial Reports, Customer Follow up Management, Bank Statement Import, Odoo Budget" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-odoomates-accounting_pdf_reports>=16.0.0", + "odoo-bringout-odoomates-om_account_budget>=16.0.0", + "odoo-bringout-odoomates-om_recurring_payments>=16.0.0", + "odoo-bringout-odoomates-om_account_daily_reports>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["om_account_accountant"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-odoomates-om_account_asset/README.md b/odoo-bringout-odoomates-om_account_asset/README.md new file mode 100644 index 0000000..ccdf05a --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/README.md @@ -0,0 +1,47 @@ +# Odoo 16 Assets Management + +Manage assets owned by a company or a person. + Keeps track of depreciation's, and creates corresponding journal entries + +## Installation + +```bash +pip install odoo-bringout-odoomates-om_account_asset +``` + +## Dependencies + +This addon depends on: +- account + +## Manifest Information + +- **Name**: Odoo 16 Assets Management +- **Version**: 16.0.1.3.0 +- **Category**: Accounting +- **License**: LGPL-3 +- **Installable**: False + +## Source + +Custom addon from bringout-odoomates vendor, addon `om_account_asset`. + +## License + +This package maintains the original LGPL-3 license from the addon. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-odoomates-om_account_asset/doc/ARCHITECTURE.md b/odoo-bringout-odoomates-om_account_asset/doc/ARCHITECTURE.md new file mode 100644 index 0000000..1af9afa --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Om_account_asset Module - om_account_asset + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-odoomates-om_account_asset/doc/CONFIGURATION.md b/odoo-bringout-odoomates-om_account_asset/doc/CONFIGURATION.md new file mode 100644 index 0000000..5911027 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for om_account_asset. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-odoomates-om_account_asset/doc/CONTROLLERS.md b/odoo-bringout-odoomates-om_account_asset/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-odoomates-om_account_asset/doc/DEPENDENCIES.md b/odoo-bringout-odoomates-om_account_asset/doc/DEPENDENCIES.md new file mode 100644 index 0000000..99c6b28 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/doc/DEPENDENCIES.md @@ -0,0 +1,5 @@ +# Dependencies + +This addon depends on: + +- [account](../../odoo-bringout-oca-ocb-account) diff --git a/odoo-bringout-odoomates-om_account_asset/doc/FAQ.md b/odoo-bringout-odoomates-om_account_asset/doc/FAQ.md new file mode 100644 index 0000000..4caade4 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon om_account_asset or install in UI. diff --git a/odoo-bringout-odoomates-om_account_asset/doc/INSTALL.md b/odoo-bringout-odoomates-om_account_asset/doc/INSTALL.md new file mode 100644 index 0000000..ab6ccba --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-odoomates-om_account_asset" +# or +uv pip install odoo-bringout-odoomates-om_account_asset" +``` diff --git a/odoo-bringout-odoomates-om_account_asset/doc/MODELS.md b/odoo-bringout-odoomates-om_account_asset/doc/MODELS.md new file mode 100644 index 0000000..b2b72a0 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/doc/MODELS.md @@ -0,0 +1,17 @@ +# Models + +Detected core models and extensions in om_account_asset. + +```mermaid +classDiagram + class account_asset_asset + class account_asset_category + class account_asset_depreciation_line + class account_move + class account_move_line + class product_template +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-odoomates-om_account_asset/doc/OVERVIEW.md b/odoo-bringout-odoomates-om_account_asset/doc/OVERVIEW.md new file mode 100644 index 0000000..51c9339 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: om_account_asset. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon om_account_asset +- License: LGPL-3 diff --git a/odoo-bringout-odoomates-om_account_asset/doc/REPORTS.md b/odoo-bringout-odoomates-om_account_asset/doc/REPORTS.md new file mode 100644 index 0000000..59db261 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/doc/REPORTS.md @@ -0,0 +1,27 @@ +# Reports + +Report definitions and templates in om_account_asset. + +```mermaid +classDiagram + class AssetAssetReport + Model <|-- AssetAssetReport +``` + +## Available Reports + +### Analytical/Dashboard Reports +- **Assets Analysis** (Analysis/Dashboard) + + +## Report Files + +- **account_asset_report.py** (Python logic) +- **account_asset_report_views.xml** (XML template/definition) +- **__init__.py** (Python logic) + +## Notes +- Named reports above are accessible through Odoo's reporting menu +- Python files define report logic and data processing +- XML files contain report templates, definitions, and formatting +- Reports are integrated with Odoo's printing and email systems diff --git a/odoo-bringout-odoomates-om_account_asset/doc/SECURITY.md b/odoo-bringout-odoomates-om_account_asset/doc/SECURITY.md new file mode 100644 index 0000000..b775f44 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/doc/SECURITY.md @@ -0,0 +1,41 @@ +# Security + +Access control and security definitions in om_account_asset. + +## Access Control Lists (ACLs) + +Model access permissions defined in: +- **[ir.model.access.csv](../om_account_asset/security/ir.model.access.csv)** + - 13 model access rules + +## Record Rules + +Row-level security rules defined in: + +## Security Groups & Configuration + +Security groups and permissions defined in: +- **[account_asset_security.xml](../om_account_asset/security/account_asset_security.xml)** + +```mermaid +graph TB + subgraph "Security Layers" + A[Users] --> B[Groups] + B --> C[Access Control Lists] + C --> D[Models] + B --> E[Record Rules] + E --> F[Individual Records] + end +``` + +Security files overview: +- **[account_asset_security.xml](../om_account_asset/security/account_asset_security.xml)** + - Security groups, categories, and XML-based rules +- **[ir.model.access.csv](../om_account_asset/security/ir.model.access.csv)** + - Model access permissions (CRUD rights) + +Notes +- Access Control Lists define which groups can access which models +- Record Rules provide row-level security (filter records by user/group) +- Security groups organize users and define permission sets +- All security is enforced at the ORM level by Odoo diff --git a/odoo-bringout-odoomates-om_account_asset/doc/TROUBLESHOOTING.md b/odoo-bringout-odoomates-om_account_asset/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-odoomates-om_account_asset/doc/USAGE.md b/odoo-bringout-odoomates-om_account_asset/doc/USAGE.md new file mode 100644 index 0000000..c7cbec7 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon om_account_asset +``` diff --git a/odoo-bringout-odoomates-om_account_asset/doc/WIZARDS.md b/odoo-bringout-odoomates-om_account_asset/doc/WIZARDS.md new file mode 100644 index 0000000..6764bdc --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/doc/WIZARDS.md @@ -0,0 +1,9 @@ +# Wizards + +Transient models exposed as UI wizards in om_account_asset. + +```mermaid +classDiagram + class AssetDepreciationConfirmationWizard + class AssetModify +``` diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/__init__.py b/odoo-bringout-odoomates-om_account_asset/om_account_asset/__init__.py new file mode 100644 index 0000000..31aaea6 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import wizard +from . import models +from . import report diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/__manifest__.py b/odoo-bringout-odoomates-om_account_asset/om_account_asset/__manifest__.py new file mode 100644 index 0000000..b998dd6 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/__manifest__.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +{ + 'name': 'Odoo 16 Assets Management', + 'version': '16.0.1.3.0', + 'author': 'Odoo Mates, Odoo SA', + 'depends': ['account'], + 'description': """Manage assets owned by a company or a person. + Keeps track of depreciation's, and creates corresponding journal entries""", + 'summary': 'Odoo 16 Assets Management', + 'category': 'Accounting', + 'sequence': 10, + 'website': 'https://www.odoomates.tech', + 'license': 'LGPL-3', + 'images': ['static/description/assets.gif'], + 'data': [ + 'data/account_asset_data.xml', + 'security/account_asset_security.xml', + 'security/ir.model.access.csv', + 'wizard/asset_depreciation_confirmation_wizard_views.xml', + 'wizard/asset_modify_views.xml', + 'views/account_asset_views.xml', + 'views/account_move_views.xml', + 'views/account_asset_templates.xml', + 'views/asset_category_views.xml', + 'views/product_views.xml', + 'report/account_asset_report_views.xml', + ], + 'assets': { + 'web.assets_backend': [ + 'om_account_asset/static/src/scss/account_asset.scss', + 'om_account_asset/static/src/js/account_asset.js', + ], + 'web.qunit_suite_tests': [ + ('after', 'web/static/tests/legacy/views/kanban_tests.js', '/om_account_asset/static/tests/account_asset_tests.js'), + ], + }, +} diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/data/account_asset_data.xml b/odoo-bringout-odoomates-om_account_asset/om_account_asset/data/account_asset_data.xml new file mode 100644 index 0000000..28f3491 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/data/account_asset_data.xml @@ -0,0 +1,15 @@ + + + + + Account Asset: Generate asset entries + + code + model._cron_generate_entries() + 1 + months + -1 + + + + \ No newline at end of file diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/doc/RELEASE_NOTES.md b/odoo-bringout-odoomates-om_account_asset/om_account_asset/doc/RELEASE_NOTES.md new file mode 100644 index 0000000..64f7ed0 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/doc/RELEASE_NOTES.md @@ -0,0 +1,11 @@ +## Module + +#### 24.10.2022 +#### Version 16.0.1.1.0 +##### ADD +- asset category + +#### 22.07.2022 +#### Version 16.0.1.0.0 +##### ADD +- initial release diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/i18n/ar_001.po b/odoo-bringout-odoomates-om_account_asset/om_account_asset/i18n/ar_001.po new file mode 100644 index 0000000..55377b1 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/i18n/ar_001.po @@ -0,0 +1,1280 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * om_account_asset +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-04-15 18:15+0000\n" +"PO-Revision-Date: 2022-04-15 18:15+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: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid " (copy)" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid " (grouped)" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__entry_count +msgid "# Asset Entries" +msgstr "" + +#. module: om_account_asset +#: model:ir.actions.server,name:om_account_asset.account_asset_cron_ir_actions_server +#: model:ir.cron,cron_name:om_account_asset.account_asset_cron +#: model:ir.cron,name:om_account_asset.account_asset_cron +msgid "Account Asset: Generate asset entries" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__date +msgid "Account Date" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__account_depreciation_id +msgid "Account used in the depreciation entries, to decrease the asset value." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__account_depreciation_expense_id +msgid "" +"Account used in the periodical entries, to record a part of the asset as " +"expense." +msgstr "الحساب المستخدم في القيود الدورية لتسجيل جزء من الأصل كمصروف.\n" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__account_asset_id +msgid "" +"Account used to record the purchase of the asset at its original price." +msgstr "" + +#. module: om_account_asset +#. openerp-web +#: code:addons/om_account_asset/static/src/js/account_asset.js:0 +#, python-format +msgid "Accounting entries waiting for manual verification" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__active +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__active +msgid "Active" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Additional Options" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Amount" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__depreciation_value +msgid "Amount of Depreciation Lines" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__installment_value +msgid "Amount of Installment Lines" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__account_analytic_id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_analytic_id +msgid "Analytic Account" +msgstr "حساب تحليلي\n" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__asset_id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__asset_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Asset" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_asset_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Asset Account" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_purchase_tree +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_invoice_asset_category +msgid "Asset Category" +msgstr "فئة الأصول\n" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +msgid "Asset Durations to Modify" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_end_date +msgid "Asset End Date" +msgstr "تاريخ انتهاء الأصل\n" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__asset_method_time +msgid "Asset Method Time" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__name +msgid "Asset Name" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_start_date +msgid "Asset Start Date" +msgstr "تاريخ بدء الأصل\n" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__name +#: model:ir.model.fields,field_description:om_account_asset.field_product_product__asset_category_id +#: model:ir.model.fields,field_description:om_account_asset.field_product_template__asset_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Asset Type" +msgstr "" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_account_asset_asset_list_normal_purchase +#: model:ir.ui.menu,name:om_account_asset.menu_action_account_asset_asset_list_normal_purchase +msgid "Asset Category" +msgstr "أنواع الأصول\n" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_asset_category +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__asset_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_tree +msgid "Asset category" +msgstr "فئة الأصول\n" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Asset created" +msgstr "" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_asset_depreciation_line +msgid "Asset depreciation line" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Asset sold or disposed. Accounting entry awaiting for validation." +msgstr "" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_asset_asset +msgid "Asset/Revenue Recognition" +msgstr "" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_account_asset_asset_form +#: model:ir.model.fields,field_description:om_account_asset.field_account_bank_statement_line__asset_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_move__asset_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_payment__asset_ids +#: model:ir.ui.menu,name:om_account_asset.menu_action_account_asset_asset_form +#: model:ir.ui.menu,name:om_account_asset.menu_action_asset_asset_report +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_purchase_tree +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Assets" +msgstr "أصول" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_asset_asset_report +#: model:ir.model,name:om_account_asset.model_asset_asset_report +#: model_terms:ir.ui.view,arch_db:om_account_asset.action_account_asset_report_graph +#: model_terms:ir.ui.view,arch_db:om_account_asset.action_account_asset_report_pivot +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Assets Analysis" +msgstr "تحليل الأصول\n" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_bank_statement_line__asset_depreciation_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_move__asset_depreciation_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_payment__asset_depreciation_ids +msgid "Assets Depreciation Lines" +msgstr "خطوط إهلاك الأصول\n" + +#. module: om_account_asset +#: model:ir.ui.menu,name:om_account_asset.menu_finance_config_assets +msgid "Assets and Revenues" +msgstr "الأصول والإيرادات\n" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Assets in closed state" +msgstr "الأصول في حالة مغلقة\n" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Assets in draft and open states" +msgstr "الأصول في حالة السحب والمفتوحة\n" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Assets in draft state" +msgstr "الأصول في حالة المسودة\n" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Assets in running state" +msgstr "الأصول في حالة التشغيل\n" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__open_asset +msgid "Auto-Confirm Assets" +msgstr "تأكيد الأصول تلقائيًا\n" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__date_first_depreciation__last_day_period +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__date_first_depreciation__last_day_period +msgid "Based on Last Day of Purchase Period" +msgstr "بناءً على آخر يوم من فترة الشراء\n" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +msgid "Cancel" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Category" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Category of asset" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__open_asset +msgid "" +"Check this if you want to automatically confirm the assets of this category " +"when created by invoices." +msgstr "" +"حدد هذا الخيار إذا كنت تريد تأكيد أصول هذه الفئة تلقائيًا عند إنشائها بواسطة" +" الفواتير.\n" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__group_entries +msgid "Check this if you want to group the generated entries by categories." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method +msgid "" +"Choose the method to use to compute the amount of depreciation lines.\n" +" * Linear: Calculated on basis of: Gross Value / Number of Depreciations\n" +" * Degressive: Calculated on basis of: Residual Value * Degressive Factor" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method_time +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method_time +msgid "" +"Choose the method to use to compute the dates and number of entries.\n" +" * Number of Entries: Fix the number of entries and the time between 2 depreciations.\n" +" * Ending Date: Choose the time between 2 depreciations and the date the depreciations won't go beyond." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_asset_depreciation_confirmation_wizard__date +msgid "" +"Choose the period for which you want to automatically post the depreciation " +"lines of running assets" +msgstr "" +"اختر الفترة التي تريد ترحيل بنود الإهلاك الخاصة بها للأصول قيد التشغيل " +"تلقائيًا\n" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__state__close +#: model:ir.model.fields.selection,name:om_account_asset.selection__asset_asset_report__state__close +msgid "Close" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Closed" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__company_id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__company_id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__company_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Company" +msgstr "الشركة" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method +msgid "Computation Method" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +msgid "Compute Asset" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Compute Depreciation" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Confirm" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/wizard/asset_depreciation_confirmation_wizard.py:0 +#, python-format +msgid "Created Asset Moves" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/wizard/asset_depreciation_confirmation_wizard.py:0 +#, python-format +msgid "Created Revenue Moves" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__create_uid +msgid "Created by" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__create_date +msgid "Created on" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__depreciated_value +msgid "Cumulative Depreciation" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__currency_id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__currency_id +#, python-format +msgid "Currency" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Current" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__amount +msgid "Current Depreciation" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__date +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Date" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Date of asset" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Date of asset purchase" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Date of depreciation" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Deferred Revenue Account" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_product_product__deferred_revenue_category_id +#: model:ir.model.fields,field_description:om_account_asset.field_product_template__deferred_revenue_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Deferred Revenue Type" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Deferred Revenues" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method__degressive +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method__degressive +msgid "Degressive" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_progress_factor +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_progress_factor +msgid "Degressive Factor" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Depreciation" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Depreciation Board" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__depreciation_nbr +msgid "Depreciation Count" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__depreciation_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__depreciation_date +msgid "Depreciation Date" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__date_first_depreciation +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__date_first_depreciation +msgid "Depreciation Dates" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_depreciation_id +msgid "Depreciation Entries: Asset Account" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_depreciation_expense_id +msgid "Depreciation Entries: Expense Account" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__move_id +msgid "Depreciation Entry" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Depreciation Information" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__depreciation_line_ids +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Depreciation Lines" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Depreciation Method" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Depreciation Month" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__name +msgid "Depreciation Name" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/wizard/asset_modify.py:0 +#, python-format +msgid "Depreciation board modified" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Depreciation line posted." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__display_name +msgid "Display Name" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Disposal Move" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Disposal Moves" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Document closed." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__state__draft +#: model:ir.model.fields.selection,name:om_account_asset.selection__asset_asset_report__state__draft +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Draft" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_end +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method_time__end +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method_time__end +msgid "Ending Date" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_end +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__method_end +msgid "Ending date" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Extended Filters..." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__first_depreciation_manual_date +msgid "First Depreciation Date" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.actions.act_window,help:om_account_asset.action_asset_asset_report +msgid "" +"From this report, you can have an overview on all depreciations. The\n" +" search bar can also be used to personalize your assets depreciation reporting." +msgstr "" +"من هذا التقرير ، يمكنك الحصول على نظرة عامة على جميع الإهلاك. يمكن أيضًا " +"استخدام شريط البحث لتخصيص تقارير إهلاك الأصول الخاصة بك.\n" + +#. module: om_account_asset +#: model:ir.ui.menu,name:om_account_asset.menu_asset_depreciation_confirmation_wizard +msgid "Generate Assets Entries" +msgstr "إنشاء إدخالات الأصول\n" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +msgid "Generate Entries" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__gross_value +msgid "Gross Amount" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__value +msgid "Gross Value" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Gross value of asset" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Group By" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Group By..." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__group_entries +msgid "Group Journal Entries" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__has_message +msgid "Has Message" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__id +msgid "ID" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_needaction +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_unread +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_has_error +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_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: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__prorata +msgid "" +"Indicates that the first depreciation entry for this asset have to be done " +"from the purchase date instead of the first of January" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__installment_nbr +msgid "Installment Count" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__invoice_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Invoice" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__salvage_value +msgid "It is the amount you plan to have that you cannot depreciate." +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Items" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__journal_id +msgid "Journal" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#, python-format +msgid "Journal Entries" +msgstr "" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_move +msgid "Journal Entry" +msgstr "قيد اليومية" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_move_line +msgid "Journal Item" +msgstr "عنصر اليومية" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify____last_update +msgid "Last Modified on" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__write_date +msgid "Last Updated on" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method__linear +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method__linear +msgid "Linear" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__move_check +msgid "Linked" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__date_first_depreciation__manual +msgid "Manual" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__date_first_depreciation__manual +msgid "Manual (Defaulted on Purchase Date)" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_ids +msgid "Messages" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +msgid "Modify" +msgstr "" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_asset_modify +#: model:ir.model,name:om_account_asset.model_asset_modify +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +msgid "Modify Asset" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Modify Depreciation" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_mrr +msgid "Monthly Recurring Revenue" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__remaining_value +msgid "Next Period Depreciation" +msgstr "إهلاك الفترة التالية\n" + +#. module: om_account_asset +#: model_terms:ir.actions.act_window,help:om_account_asset.action_asset_asset_report +msgid "No content" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__note +msgid "Note" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__first_depreciation_manual_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 "" +"لاحظ أن هذا التاريخ لا يغير حساب إدخال دفتر اليومية الأول في حالة الأصول " +"التناسبية الزمنية. إنه ببساطة يغير تاريخه المحاسبي\n" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_number +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_number +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__method_number +msgid "Number of Depreciations" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method_time__number +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method_time__number +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Number of Entries" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_period +msgid "Number of Months in a Period" +msgstr "عدد الأشهر في فترة\n" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "One Entry Every" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__partner_id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__partner_id +#, python-format +msgid "Partner" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_period +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__method_period +msgid "Period Length" +msgstr "طول الفترة\n" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Periodicity" +msgstr "دورية\n" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_asset_depreciation_confirmation_wizard +msgid "Post Depreciation Lines" +msgstr "" + +#. module: om_account_asset +#. openerp-web +#: code:addons/om_account_asset/static/src/js/account_asset.js:0 +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__move_posted_check +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__move_check +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#, python-format +msgid "Posted" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__posted_value +msgid "Posted Amount" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Posted depreciation lines" +msgstr "" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_product_template +msgid "Product Template" +msgstr "قالب المنتج" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__prorata +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__prorata +msgid "Prorata Temporis" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "" +"Prorata temporis can be applied only for the \"number of depreciations\" " +"time method." +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Purchase" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Purchase Month" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__type__purchase +msgid "Purchase: Asset" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__name +msgid "Reason" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Recognition Account" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Recognition Income Account" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__code +msgid "Reference" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Residual" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__value_residual +msgid "Residual Value" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__state__open +#: model:ir.model.fields.selection,name:om_account_asset.selection__asset_asset_report__state__open +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Running" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_has_sms_error +msgid "SMS Delivery error" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__type__sale +msgid "Sale: Revenue Recognition" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Sales" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__salvage_value +msgid "Salvage Value" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Search Asset Category" +msgstr "فئة أصل البحث\n" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Sell or Dispose" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__sequence +msgid "Sequence" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Set to Draft" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method_period +msgid "State here the time between 2 depreciations, in months" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__parent_state +msgid "State of Asset" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__state +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__state +msgid "Status" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method_period +msgid "The amount of time between two depreciations, in months" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/wizard/asset_modify.py:0 +#, python-format +msgid "" +"The number of depreciations must be greater than the number of posted or " +"draft entries to allow for complete depreciation of the asset." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method_number +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method_number +msgid "The number of depreciations needed to depreciate your asset" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_move.py:0 +#, python-format +msgid "" +"The number of depreciations or the period length of your asset category " +"cannot be 0." +msgstr "لا يمكن أن يكون عدد الإهلاك أو مدة فئة الأصول 0.\n" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__date_first_depreciation +msgid "" +"The way to compute the date of the first depreciation.\n" +" * Based on last day of purchase period: The depreciation dates will be based on the last day of the purchase month or the purchase year (depending on the periodicity of the depreciations).\n" +" * Based on purchase date: The depreciation dates will be based on the purchase date." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__date_first_depreciation +msgid "" +"The way to compute the date of the first depreciation.\n" +" * Based on last day of purchase period: The depreciation dates will be based on the last day of the purchase month or the purchase year (depending on the periodicity of the depreciations).\n" +" * Based on purchase date: The depreciation dates will be based on the purchase date.\n" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "" +"This depreciation is already linked to a journal entry. Please post or " +"delete it." +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +msgid "" +"This wizard will post installment/depreciation lines for the selected month.
\n" +" This will generate journal entries for all related installment lines on this period\n" +" of asset/revenue recognition as well." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_time +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_time +msgid "Time Method" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Time Method Based On" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__type +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__type +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Type" +msgstr "" + +#. module: om_account_asset +#. openerp-web +#: code:addons/om_account_asset/static/src/js/account_asset.js:0 +#, python-format +msgid "Unposted" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__unposted_value +msgid "Unposted Amount" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_purchase_tree +msgid "Vendor" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_move.py:0 +#: code:addons/om_account_asset/models/account_move.py:0 +#, python-format +msgid "Vendor bill cancelled." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__state +#: model:ir.model.fields,help:om_account_asset.field_account_asset_depreciation_line__parent_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" +"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: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__name +msgid "Year" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot delete a document that contains posted entries." +msgstr "لا يمكنك حذف مستند يحتوي على مدخلات تم ترحيلها.\n" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot delete a document that is in %s state." +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot delete posted depreciation lines." +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot delete posted installment lines." +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_move.py:0 +#, python-format +msgid "You cannot reset to draft for an entry having a posted asset" +msgstr "" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_asset_depreciation_confirmation_wizard +msgid "asset.depreciation.confirmation.wizard" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "e.g. Computers" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "e.g. Laptop iBook" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "months" +msgstr "" diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/i18n/ar_SY.po b/odoo-bringout-odoomates-om_account_asset/om_account_asset/i18n/ar_SY.po new file mode 100644 index 0000000..cf26796 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/i18n/ar_SY.po @@ -0,0 +1,1273 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * om_account_asset +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-06 03:01+0000\n" +"PO-Revision-Date: 2022-07-06 03:01+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: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid " (copy)" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid " (grouped)" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__entry_count +msgid "# Asset Entries" +msgstr "" + +#. module: om_account_asset +#: model:ir.actions.server,name:om_account_asset.account_asset_cron_ir_actions_server +#: model:ir.cron,cron_name:om_account_asset.account_asset_cron +#: model:ir.cron,name:om_account_asset.account_asset_cron +msgid "Account Asset: Generate asset entries" +msgstr "أصل الحساب: إنشاء إدخالات الأصول\n" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__date +msgid "Account Date" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__account_depreciation_id +msgid "Account used in the depreciation entries, to decrease the asset value." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__account_depreciation_expense_id +msgid "" +"Account used in the periodical entries, to record a part of the asset as " +"expense." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__account_asset_id +msgid "" +"Account used to record the purchase of the asset at its original price." +msgstr "" + +#. module: om_account_asset +#. openerp-web +#: code:addons/om_account_asset/static/src/js/account_asset.js:0 +#, python-format +msgid "Accounting entries waiting for manual verification" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__active +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__active +msgid "Active" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Additional Options" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Amount" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__depreciation_value +msgid "Amount of Depreciation Lines" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__installment_value +msgid "Amount of Installment Lines" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__account_analytic_id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_analytic_id +msgid "Analytic Account" +msgstr "" + + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__asset_id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__asset_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Asset" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_asset_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Asset Account" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_purchase_tree +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_invoice_asset_category +msgid "Asset Category" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +msgid "Asset Durations to Modify" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_end_date +msgid "Asset End Date" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__asset_method_time +msgid "Asset Method Time" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__name +msgid "Asset Name" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_start_date +msgid "Asset Start Date" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__name +#: model:ir.model.fields,field_description:om_account_asset.field_product_product__asset_category_id +#: model:ir.model.fields,field_description:om_account_asset.field_product_template__asset_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Asset Type" +msgstr "" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_account_asset_asset_list_normal_purchase +#: model:ir.ui.menu,name:om_account_asset.menu_action_account_asset_asset_list_normal_purchase +msgid "Asset Category" +msgstr "" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_asset_category +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__asset_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_tree +msgid "Asset category" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Asset created" +msgstr "" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_asset_depreciation_line +msgid "Asset depreciation line" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Asset sold or disposed. Accounting entry awaiting for validation." +msgstr "" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_asset_asset +msgid "Asset/Revenue Recognition" +msgstr "" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_account_asset_asset_form +#: model:ir.model.fields,field_description:om_account_asset.field_account_bank_statement_line__asset_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_move__asset_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_payment__asset_ids +#: model:ir.ui.menu,name:om_account_asset.menu_action_account_asset_asset_form +#: model:ir.ui.menu,name:om_account_asset.menu_action_asset_asset_report +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_purchase_tree +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Assets" +msgstr "الأصول" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_asset_asset_report +#: model:ir.model,name:om_account_asset.model_asset_asset_report +#: model_terms:ir.ui.view,arch_db:om_account_asset.action_account_asset_report_graph +#: model_terms:ir.ui.view,arch_db:om_account_asset.action_account_asset_report_pivot +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Assets Analysis" +msgstr "تحليل الأصول\n" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_bank_statement_line__asset_depreciation_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_move__asset_depreciation_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_payment__asset_depreciation_ids +msgid "Assets Depreciation Lines" +msgstr "" + +#. module: om_account_asset +#: model:ir.ui.menu,name:om_account_asset.menu_finance_config_assets +msgid "Assets and Revenues" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Assets in closed state" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Assets in draft and open states" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Assets in draft state" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Assets in running state" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__open_asset +msgid "Auto-Confirm Assets" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__date_first_depreciation__last_day_period +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__date_first_depreciation__last_day_period +msgid "Based on Last Day of Purchase Period" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +msgid "Cancel" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Category" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Category of asset" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__open_asset +msgid "" +"Check this if you want to automatically confirm the assets of this category " +"when created by invoices." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__group_entries +msgid "Check this if you want to group the generated entries by categories." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method +msgid "" +"Choose the method to use to compute the amount of depreciation lines.\n" +" * Linear: Calculated on basis of: Gross Value / Number of Depreciations\n" +" * Degressive: Calculated on basis of: Residual Value * Degressive Factor" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method_time +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method_time +msgid "" +"Choose the method to use to compute the dates and number of entries.\n" +" * Number of Entries: Fix the number of entries and the time between 2 depreciations.\n" +" * Ending Date: Choose the time between 2 depreciations and the date the depreciations won't go beyond." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_asset_depreciation_confirmation_wizard__date +msgid "" +"Choose the period for which you want to automatically post the depreciation " +"lines of running assets" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__state__close +#: model:ir.model.fields.selection,name:om_account_asset.selection__asset_asset_report__state__close +msgid "Close" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Closed" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__company_id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__company_id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__company_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Company" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method +msgid "Computation Method" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +msgid "Compute Asset" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Compute Depreciation" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Confirm" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/wizard/asset_depreciation_confirmation_wizard.py:0 +#, python-format +msgid "Created Asset Moves" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/wizard/asset_depreciation_confirmation_wizard.py:0 +#, python-format +msgid "Created Revenue Moves" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__create_uid +msgid "Created by" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__create_date +msgid "Created on" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__depreciated_value +msgid "Cumulative Depreciation" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__currency_id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__currency_id +#, python-format +msgid "Currency" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Current" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__amount +msgid "Current Depreciation" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__date +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Date" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Date of asset" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Date of asset purchase" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Date of depreciation" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Deferred Revenue Account" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_product_product__deferred_revenue_category_id +#: model:ir.model.fields,field_description:om_account_asset.field_product_template__deferred_revenue_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Deferred Revenue Type" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Deferred Revenues" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method__degressive +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method__degressive +msgid "Degressive" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_progress_factor +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_progress_factor +msgid "Degressive Factor" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Depreciation" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Depreciation Board" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__depreciation_nbr +msgid "Depreciation Count" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__depreciation_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__depreciation_date +msgid "Depreciation Date" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__date_first_depreciation +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__date_first_depreciation +msgid "Depreciation Dates" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_depreciation_id +msgid "Depreciation Entries: Asset Account" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_depreciation_expense_id +msgid "Depreciation Entries: Expense Account" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__move_id +msgid "Depreciation Entry" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Depreciation Information" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__depreciation_line_ids +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Depreciation Lines" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Depreciation Method" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Depreciation Month" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__name +msgid "Depreciation Name" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/wizard/asset_modify.py:0 +#, python-format +msgid "Depreciation board modified" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Depreciation line posted." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__display_name +msgid "Display Name" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Disposal Move" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Disposal Moves" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Document closed." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__state__draft +#: model:ir.model.fields.selection,name:om_account_asset.selection__asset_asset_report__state__draft +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Draft" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_end +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method_time__end +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method_time__end +msgid "Ending Date" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_end +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__method_end +msgid "Ending date" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Extended Filters..." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__first_depreciation_manual_date +msgid "First Depreciation Date" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_partner_ids +msgid "Followers (Partners)" +msgstr "المتابعون (الشركاء)\n" + +#. module: om_account_asset +#: model_terms:ir.actions.act_window,help:om_account_asset.action_asset_asset_report +msgid "" +"From this report, you can have an overview on all depreciations. The\n" +" search bar can also be used to personalize your assets depreciation reporting." +msgstr "" + +#. module: om_account_asset +#: model:ir.ui.menu,name:om_account_asset.menu_asset_depreciation_confirmation_wizard +msgid "Generate Assets Entries" +msgstr "إنشاء إدخالات الأصول\n" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +msgid "Generate Entries" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__gross_value +msgid "Gross Amount" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__value +msgid "Gross Value" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Gross value of asset" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Group By" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Group By..." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__group_entries +msgid "Group Journal Entries" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__has_message +msgid "Has Message" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__id +msgid "ID" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_needaction +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_unread +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_has_error +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_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: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__prorata +msgid "" +"Indicates that the first depreciation entry for this asset have to be done " +"from the purchase date instead of the first of January" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__installment_nbr +msgid "Installment Count" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__invoice_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Invoice" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__salvage_value +msgid "It is the amount you plan to have that you cannot depreciate." +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Items" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__journal_id +msgid "Journal" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#, python-format +msgid "Journal Entries" +msgstr "" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_move +msgid "Journal Entry" +msgstr "قيد اليومية" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_move_line +msgid "Journal Item" +msgstr "عنصر اليومية" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify____last_update +msgid "Last Modified on" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__write_date +msgid "Last Updated on" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method__linear +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method__linear +msgid "Linear" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__move_check +msgid "Linked" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__date_first_depreciation__manual +msgid "Manual" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__date_first_depreciation__manual +msgid "Manual (Defaulted on Purchase Date)" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_ids +msgid "Messages" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +msgid "Modify" +msgstr "" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_asset_modify +#: model:ir.model,name:om_account_asset.model_asset_modify +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +msgid "Modify Asset" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Modify Depreciation" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_mrr +msgid "Monthly Recurring Revenue" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__remaining_value +msgid "Next Period Depreciation" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.actions.act_window,help:om_account_asset.action_asset_asset_report +msgid "No content" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__note +msgid "Note" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__first_depreciation_manual_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: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_number +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_number +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__method_number +msgid "Number of Depreciations" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method_time__number +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method_time__number +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Number of Entries" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_period +msgid "Number of Months in a Period" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "One Entry Every" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__partner_id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__partner_id +#, python-format +msgid "Partner" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_period +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__method_period +msgid "Period Length" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Periodicity" +msgstr "" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_asset_depreciation_confirmation_wizard +msgid "Post Depreciation Lines" +msgstr "" + +#. module: om_account_asset +#. openerp-web +#: code:addons/om_account_asset/static/src/js/account_asset.js:0 +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__move_posted_check +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__move_check +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#, python-format +msgid "Posted" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__posted_value +msgid "Posted Amount" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Posted depreciation lines" +msgstr "" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_product_template +msgid "Product Template" +msgstr "قالب المنتج" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__prorata +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__prorata +msgid "Prorata Temporis" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "" +"Prorata temporis can be applied only for the \"number of depreciations\" " +"time method." +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Purchase" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Purchase Month" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__type__purchase +msgid "Purchase: Asset" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__name +msgid "Reason" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Recognition Account" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Recognition Income Account" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__code +msgid "Reference" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Residual" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__value_residual +msgid "Residual Value" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__state__open +#: model:ir.model.fields.selection,name:om_account_asset.selection__asset_asset_report__state__open +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Running" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_has_sms_error +msgid "SMS Delivery error" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__type__sale +msgid "Sale: Revenue Recognition" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Sales" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__salvage_value +msgid "Salvage Value" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Search Asset Category" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Sell or Dispose" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__sequence +msgid "Sequence" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Set to Draft" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method_period +msgid "State here the time between 2 depreciations, in months" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__parent_state +msgid "State of Asset" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__state +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__state +msgid "Status" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method_period +msgid "The amount of time between two depreciations, in months" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/wizard/asset_modify.py:0 +#, python-format +msgid "" +"The number of depreciations must be greater than the number of posted or " +"draft entries to allow for complete depreciation of the asset." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method_number +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method_number +msgid "The number of depreciations needed to depreciate your asset" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_move.py:0 +#, python-format +msgid "" +"The number of depreciations or the period length of your asset category " +"cannot be 0." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__date_first_depreciation +msgid "" +"The way to compute the date of the first depreciation.\n" +" * Based on last day of purchase period: The depreciation dates will be based on the last day of the purchase month or the purchase year (depending on the periodicity of the depreciations).\n" +" * Based on purchase date: The depreciation dates will be based on the purchase date." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__date_first_depreciation +msgid "" +"The way to compute the date of the first depreciation.\n" +" * Based on last day of purchase period: The depreciation dates will be based on the last day of the purchase month or the purchase year (depending on the periodicity of the depreciations).\n" +" * Based on purchase date: The depreciation dates will be based on the purchase date.\n" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "" +"This depreciation is already linked to a journal entry. Please post or " +"delete it." +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +msgid "" +"This wizard will post installment/depreciation lines for the selected month.
\n" +" This will generate journal entries for all related installment lines on this period\n" +" of asset/revenue recognition as well." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_time +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_time +msgid "Time Method" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Time Method Based On" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__type +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__type +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Type" +msgstr "" + +#. module: om_account_asset +#. openerp-web +#: code:addons/om_account_asset/static/src/js/account_asset.js:0 +#, python-format +msgid "Unposted" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__unposted_value +msgid "Unposted Amount" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_purchase_tree +msgid "Vendor" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_move.py:0 +#: code:addons/om_account_asset/models/account_move.py:0 +#, python-format +msgid "Vendor bill cancelled." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__state +#: model:ir.model.fields,help:om_account_asset.field_account_asset_depreciation_line__parent_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" +"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: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__name +msgid "Year" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot delete a document that contains posted entries." +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot delete a document that is in %s state." +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot delete posted depreciation lines." +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot delete posted installment lines." +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_move.py:0 +#, python-format +msgid "You cannot reset to draft for an entry having a posted asset" +msgstr "" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_asset_depreciation_confirmation_wizard +msgid "asset.depreciation.confirmation.wizard" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "e.g. Computers" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "e.g. Laptop iBook" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "months" +msgstr "" diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/i18n/es_CR.po b/odoo-bringout-odoomates-om_account_asset/om_account_asset/i18n/es_CR.po new file mode 100644 index 0000000..0125124 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/i18n/es_CR.po @@ -0,0 +1,1594 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * om_account_asset +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0-20230613\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-07-08 20:39+0000\n" +"PO-Revision-Date: 2023-07-08 14:41-0600\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: es_CR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.3.2\n" + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid " (copy)" +msgstr " (copia)" + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/models/account_asset.py:0 +#, fuzzy, python-format +msgid " (grouped)" +msgstr " (agrupados)" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__entry_count +#, fuzzy +msgid "# Asset Entries" +msgstr "# Entradas de Activos" + +#. module: om_account_asset +#: model:ir.actions.server,name:om_account_asset.account_asset_cron_ir_actions_server model:ir.cron,cron_name:om_account_asset.account_asset_cron +#, fuzzy +msgid "Account Asset: Generate asset entries" +msgstr "Activo de cuenta: Generar entradas de activos" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__date +#, fuzzy +msgid "Account Date" +msgstr "Fecha Contable" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__account_depreciation_id +#, fuzzy +msgid "Account used in the depreciation entries, to decrease the asset value." +msgstr "Cuenta utilizada en las entradas de depreciación, para disminuir el valor del activo." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__account_depreciation_expense_id +#, fuzzy +msgid "Account used in the periodical entries, to record a part of the asset as expense." +msgstr "Cuenta utilizada en las entradas periódicas, para registrar una parte del activo como gasto." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__account_asset_id +#, fuzzy +msgid "Account used to record the purchase of the asset at its original price." +msgstr "Cuenta utilizada para registrar la compra del activo a su precio original." + +#. module: om_account_asset +#. odoo-javascript +#: code:addons/om_account_asset/static/src/js/account_asset.js:0 +#, fuzzy, python-format +msgid "Accounting entries waiting for manual verification" +msgstr "Anotaciones contables en espera de verificación manual" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_needaction +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__message_needaction +#, fuzzy +msgid "Action Needed" +msgstr "Acción Necesaria" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__active +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__active +#, fuzzy +msgid "Active" +msgstr "Activo" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__activity_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__activity_ids +#, fuzzy +msgid "Activities" +msgstr "Actividades" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__activity_exception_decoration +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__activity_exception_decoration +#, fuzzy +msgid "Activity Exception Decoration" +msgstr "Decoración de Excepción de Actividad" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__activity_state +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__activity_state +#, fuzzy +msgid "Activity State" +msgstr "Estado de Actividad" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__activity_type_icon +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__activity_type_icon +#, fuzzy +msgid "Activity Type Icon" +msgstr "Icono de tipo de actividad" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#, fuzzy +msgid "Additional Options" +msgstr "Opciones adicionales" + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/models/account_asset.py:0 +#, fuzzy, python-format +msgid "Amount" +msgstr "Importe" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__depreciation_value +#, fuzzy +msgid "Amount of Depreciation Lines" +msgstr "Cantidad de líneas de depreciación" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__installment_value +#, fuzzy +msgid "Amount of Installment Lines" +msgstr "Cantidad de líneas de pago a plazos" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__analytic_distribution +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__analytic_distribution +#, fuzzy +msgid "Analytic" +msgstr "Analítico" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__account_analytic_id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_analytic_id +#, fuzzy +msgid "Analytic Account" +msgstr "Cuenta Analítica" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__analytic_distribution_search +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__analytic_distribution_search +#, fuzzy +msgid "Analytic Distribution Search" +msgstr "Búsqueda de distribución Analítica" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__analytic_precision +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__analytic_precision +#, fuzzy +msgid "Analytic Precision" +msgstr "Precisión Analítica" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__asset_id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__asset_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#, fuzzy +msgid "Asset" +msgstr "Activo" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_asset_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +#, fuzzy +msgid "Asset Account" +msgstr "Cuenta de Activos" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_account_asset_asset_list_normal_purchase +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_category_id +#: model:ir.ui.menu,name:om_account_asset.menu_action_account_asset_asset_list_normal_purchase +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_purchase_tree +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_invoice_asset_category +#, fuzzy +msgid "Asset Category" +msgstr "Categoría de Activos" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +#, fuzzy +msgid "Asset Durations to Modify" +msgstr "Duraciones de Activos para Modificar" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_end_date +#, fuzzy +msgid "Asset End Date" +msgstr "Fecha de Finalización del Activo" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__asset_method_time +#, fuzzy +msgid "Asset Method Time" +msgstr "Tiempo del Método de Activos" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__name +#, fuzzy +msgid "Asset Name" +msgstr "Nombre del Activo" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_start_date +#, fuzzy +msgid "Asset Start Date" +msgstr "Fecha de Inicio del Activo" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__name +#: model:ir.model.fields,field_description:om_account_asset.field_product_product__asset_category_id +#: model:ir.model.fields,field_description:om_account_asset.field_product_template__asset_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#, fuzzy +msgid "Asset Type" +msgstr "Tipo de Activo" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_asset_category +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__asset_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_tree +#, fuzzy +msgid "Asset category" +msgstr "Categoría de activos" + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/models/account_asset.py:0 +#, fuzzy, python-format +msgid "Asset created" +msgstr "Activo creado" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_asset_depreciation_line +#, fuzzy +msgid "Asset depreciation line" +msgstr "Línea de amortización de activos" + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/models/account_asset.py:0 +#, fuzzy, python-format +msgid "Asset sold or disposed. Accounting entry awaiting for validation." +msgstr "Activo vendido o enajenado. Anotación contable pendiente de validación." + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_asset_asset +#, fuzzy +msgid "Asset/Revenue Recognition" +msgstr "Reconocimiento de Activos/Ingresos" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_account_asset_asset_form +#: model:ir.model.fields,field_description:om_account_asset.field_account_bank_statement_line__asset_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_move__asset_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_payment__asset_ids +#: model:ir.ui.menu,name:om_account_asset.menu_action_account_asset_asset_form model:ir.ui.menu,name:om_account_asset.menu_action_asset_asset_report +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_purchase_tree +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +#, fuzzy +msgid "Assets" +msgstr "Activos" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_asset_asset_report model:ir.model,name:om_account_asset.model_asset_asset_report +#: model_terms:ir.ui.view,arch_db:om_account_asset.action_account_asset_report_graph +#: model_terms:ir.ui.view,arch_db:om_account_asset.action_account_asset_report_pivot +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#, fuzzy +msgid "Assets Analysis" +msgstr "Análisis de Activos" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_bank_statement_line__asset_depreciation_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_move__asset_depreciation_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_payment__asset_depreciation_ids +#, fuzzy +msgid "Assets Depreciation Lines" +msgstr "Líneas de Amortización de Activos" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +#, fuzzy +msgid "Assets in closed state" +msgstr "Activos en estado cerrado" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +#, fuzzy +msgid "Assets in draft and open states" +msgstr "Activos en estado de borrador y abierto" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#, fuzzy +msgid "Assets in draft state" +msgstr "Activos en estado de borrador" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#, fuzzy +msgid "Assets in running state" +msgstr "Activos en estado de ejecución" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_attachment_count +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__message_attachment_count +#, fuzzy +msgid "Attachment Count" +msgstr "Recuento de archivos adjuntos" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__open_asset +#, fuzzy +msgid "Auto-Confirm Assets" +msgstr "Confirmación automática de activos" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__date_first_depreciation__last_day_period +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__date_first_depreciation__last_day_period +#, fuzzy +msgid "Based on Last Day of Purchase Period" +msgstr "Basado en el último día del período de compra" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +#, fuzzy +msgid "Cancel" +msgstr "Cancelar" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +#, fuzzy +msgid "Category" +msgstr "Categoría" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#, fuzzy +msgid "Category of asset" +msgstr "Categoría del activo" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__open_asset +#, fuzzy +msgid "Check this if you want to automatically confirm the assets of this category when created by invoices." +msgstr "Marque esta opción si desea confirmar automáticamente los activos de esta categoría cuando se crean mediante facturas." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__group_entries +#, fuzzy +msgid "Check this if you want to group the generated entries by categories." +msgstr "Marque esta opción si desea agrupar las entradas generadas por categorías." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method +#, fuzzy +msgid "" +"Choose the method to use to compute the amount of depreciation lines.\n" +" * Linear: Calculated on basis of: Gross Value / Number of Depreciations\n" +" * Degressive: Calculated on basis of: Residual Value * Degressive Factor" +msgstr "" +"Elija el método que desea utilizar para calcular la cantidad de líneas de amortización.\n" +" * Lineal: Calculado sobre la base de: Valor bruto / Número de depreciaciones\n" +" * Degresivo: Calculado sobre la base de: Valor residual * Factor degresivo" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method_time +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method_time +#, fuzzy +msgid "" +"Choose the method to use to compute the dates and number of entries.\n" +" * Number of Entries: Fix the number of entries and the time between 2 depreciations.\n" +" * Ending Date: Choose the time between 2 depreciations and the date the depreciations won't go beyond." +msgstr "" +"Elija el método que desea utilizar para calcular las fechas y el número de entradas.\n" +" * Número de entradas: Fija el número de entradas y el tiempo entre 2 depreciaciones.\n" +" * Fecha de finalización: Elija el tiempo entre 2 depreciaciones y la fecha en que las depreciaciones no irán más allá." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_asset_depreciation_confirmation_wizard__date +#, fuzzy +msgid "Choose the period for which you want to automatically post the depreciation lines of running assets" +msgstr "Elija el período durante el cual desea contabilizar automáticamente las líneas de amortización de los activos en ejecución" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__state__close +#: model:ir.model.fields.selection,name:om_account_asset.selection__asset_asset_report__state__close +#, fuzzy +msgid "Close" +msgstr "Cerrar" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +#, fuzzy +msgid "Closed" +msgstr "Cerrado" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__company_id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__company_id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__company_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#, fuzzy +msgid "Company" +msgstr "Compañía" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method +#, fuzzy +msgid "Computation Method" +msgstr "Método de cálculo" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +#, fuzzy +msgid "Compute Asset" +msgstr "Activo informático" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#, fuzzy +msgid "Compute Depreciation" +msgstr "Calcular depreciación" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#, fuzzy +msgid "Confirm" +msgstr "Confirmar" + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/wizard/asset_depreciation_confirmation_wizard.py:0 +#, fuzzy, python-format +msgid "Created Asset Moves" +msgstr "Movimientos de activos creados" + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/wizard/asset_depreciation_confirmation_wizard.py:0 +#, fuzzy, python-format +msgid "Created Revenue Moves" +msgstr "Movimientos de ingresos creados" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__create_uid +#, fuzzy +msgid "Created by" +msgstr "Creado por" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__create_date +#, fuzzy +msgid "Created on" +msgstr "Creado en" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__depreciated_value +#, fuzzy +msgid "Cumulative Depreciation" +msgstr "Depreciación acumulada" + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/models/account_asset.py:0 model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__currency_id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__currency_id +#, fuzzy, python-format +msgid "Currency" +msgstr "Moneda" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +#, fuzzy +msgid "Current" +msgstr "Actual" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__amount +#, fuzzy +msgid "Current Depreciation" +msgstr "Depreciación actual" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__date +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +#, fuzzy +msgid "Date" +msgstr "Fecha" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#, fuzzy +msgid "Date of asset" +msgstr "Fecha del activo" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#, fuzzy +msgid "Date of asset purchase" +msgstr "Fecha de compra del activo" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#, fuzzy +msgid "Date of depreciation" +msgstr "Fecha de amortización" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#, fuzzy +msgid "Deferred Revenue Account" +msgstr "Cuenta de ingresos diferidos" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_product_product__deferred_revenue_category_id +#: model:ir.model.fields,field_description:om_account_asset.field_product_template__deferred_revenue_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#, fuzzy +msgid "Deferred Revenue Type" +msgstr "Tipo de ingresos diferidos" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +#, fuzzy +msgid "Deferred Revenues" +msgstr "Ingresos diferidos" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method__degressive +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method__degressive +#, fuzzy +msgid "Degressive" +msgstr "Decrecientes" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_progress_factor +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_progress_factor +#, fuzzy +msgid "Degressive Factor" +msgstr "Factor degresivo" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#, fuzzy +msgid "Depreciation" +msgstr "Depreciación" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#, fuzzy +msgid "Depreciation Board" +msgstr "Junta de Depreciación" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__depreciation_nbr +#, fuzzy +msgid "Depreciation Count" +msgstr "Recuento de depreciación" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__depreciation_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__depreciation_date +#, fuzzy +msgid "Depreciation Date" +msgstr "Fecha de amortización" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__date_first_depreciation +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__date_first_depreciation +#, fuzzy +msgid "Depreciation Dates" +msgstr "Fechas de depreciación" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_depreciation_id +#, fuzzy +msgid "Depreciation Entries: Asset Account" +msgstr "Asientos de amortización: Cuenta de activos" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_depreciation_expense_id +#, fuzzy +msgid "Depreciation Entries: Expense Account" +msgstr "Asientos de depreciación: Cuenta de gastos" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__move_id +#, fuzzy +msgid "Depreciation Entry" +msgstr "Entrada de depreciación" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#, fuzzy +msgid "Depreciation Information" +msgstr "Información de depreciación" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__depreciation_line_ids +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#, fuzzy +msgid "Depreciation Lines" +msgstr "Líneas de depreciación" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#, fuzzy +msgid "Depreciation Method" +msgstr "Método de depreciación" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#, fuzzy +msgid "Depreciation Month" +msgstr "Mes de depreciación" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__name +#, fuzzy +msgid "Depreciation Name" +msgstr "Nombre de depreciación" + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/wizard/asset_modify.py:0 +#, fuzzy, python-format +msgid "Depreciation board modified" +msgstr "Junta de amortización modificada" + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/models/account_asset.py:0 +#, fuzzy, python-format +msgid "Depreciation line posted." +msgstr "Línea de amortización contabilizada." + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__display_name +#, fuzzy +msgid "Display Name" +msgstr "Nombre para mostrar" + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/models/account_asset.py:0 +#, fuzzy, python-format +msgid "Disposal Move" +msgstr "Mudanza de eliminación" + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/models/account_asset.py:0 +#, fuzzy, python-format +msgid "Disposal Moves" +msgstr "Movimientos de eliminación" + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/models/account_asset.py:0 +#, fuzzy, python-format +msgid "Document closed." +msgstr "Documento cerrado." + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__state__draft +#: model:ir.model.fields.selection,name:om_account_asset.selection__asset_asset_report__state__draft +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#, fuzzy +msgid "Draft" +msgstr "Borrador" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_end +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method_time__end +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method_time__end +#, fuzzy +msgid "Ending Date" +msgstr "Fecha de finalización" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_end +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__method_end +#, fuzzy +msgid "Ending date" +msgstr "Fecha de finalización" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#, fuzzy +msgid "Extended Filters..." +msgstr "Filtros extendidos..." + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__first_depreciation_manual_date +#, fuzzy +msgid "First Depreciation Date" +msgstr "Primera fecha de amortización" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_follower_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__message_follower_ids +#, fuzzy +msgid "Followers" +msgstr "Seguidores" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_partner_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__message_partner_ids +#, fuzzy +msgid "Followers (Partners)" +msgstr "Seguidores (Socios)" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__activity_type_icon +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__activity_type_icon +#, fuzzy +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Icono de Fotn awesome, por ejemplo fa-tasks" + +#. module: om_account_asset +#: model_terms:ir.actions.act_window,help:om_account_asset.action_asset_asset_report +#, fuzzy +msgid "" +"From this report, you can have an overview on all depreciations. The\n" +" search bar can also be used to personalize your assets depreciation reporting." +msgstr "" +"A partir de este informe, puede tener una visión general de todas las depreciaciones. El\n" +" La barra de búsqueda también se puede utilizar para personalizar sus informes de depreciación de activos." + +#. module: om_account_asset +#: model:ir.ui.menu,name:om_account_asset.menu_asset_depreciation_confirmation_wizard +#, fuzzy +msgid "Generate Assets Entries" +msgstr "Generar entradas de activos" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +#, fuzzy +msgid "Generate Entries" +msgstr "Generar asientos" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__gross_value +#, fuzzy +msgid "Gross Amount" +msgstr "Importe bruto" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__value +#, fuzzy +msgid "Gross Value" +msgstr "Valor bruto" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#, fuzzy +msgid "Gross value of asset" +msgstr "Valor bruto del activo" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#, fuzzy +msgid "Group By" +msgstr "Agrupar por" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Group By..." +msgstr "Agrupar Por..." + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__group_entries +#, fuzzy +msgid "Group Journal Entries" +msgstr "Entradas de diario del grupo" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__has_message +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__has_message +#, fuzzy +msgid "Has Message" +msgstr "Tiene mensaje" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__id +#, fuzzy +msgid "ID" +msgstr "ID (identificación)" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__activity_exception_icon +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__activity_exception_icon +#, fuzzy +msgid "Icon" +msgstr "Icono" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__activity_exception_icon +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__activity_exception_icon +#, fuzzy +msgid "Icon to indicate an exception activity." +msgstr "Icono para indicar una actividad de excepción." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_needaction +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__message_needaction +#, fuzzy +msgid "If checked, new messages require your attention." +msgstr "Si está marcado, los nuevos mensajes requieren su atención." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_has_error +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_has_sms_error +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__message_has_error +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__message_has_sms_error +#, fuzzy +msgid "If checked, some messages have a delivery error." +msgstr "Si está marcada, algunos mensajes tienen un error de entrega." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__prorata +#, fuzzy +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 "" +"Indica que la primera entrada de depreciación para este activo debe realizarse a partir de la fecha del activo (fecha de compra) en lugar de la " +"primera fecha de enero / inicio del año fiscal" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__prorata +#, fuzzy +msgid "Indicates that the first depreciation entry for this asset have to be done from the purchase date instead of the first of January" +msgstr "Indica que la primera entrada de depreciación para este activo debe hacerse a partir de la fecha de compra en lugar del primero de enero" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__installment_nbr +#, fuzzy +msgid "Installment Count" +msgstr "Recuento de cuotas" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__invoice_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#, fuzzy +msgid "Invoice" +msgstr "Factura" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_is_follower +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__message_is_follower +#, fuzzy +msgid "Is Follower" +msgstr "Es seguidor" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__salvage_value +#, fuzzy +msgid "It is the amount you plan to have that you cannot depreciate." +msgstr "Es la cantidad que planea tener que no puede depreciar." + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#, fuzzy +msgid "Items" +msgstr "Artículos" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__journal_id +#, fuzzy +msgid "Journal" +msgstr "Diario" + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/models/account_asset.py:0 model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#, fuzzy, python-format +msgid "Journal Entries" +msgstr "Asientos contables" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_move +msgid "Journal Entry" +msgstr "Asiento contable" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_move_line +msgid "Journal Item" +msgstr "Apunte contable" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify____last_update +#, fuzzy +msgid "Last Modified on" +msgstr "Última modificación el" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__write_uid +#, fuzzy +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__write_date +#, fuzzy +msgid "Last Updated on" +msgstr "Ultima actualización en" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method__linear +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method__linear +#, fuzzy +msgid "Linear" +msgstr "Lineal" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__move_check +#, fuzzy +msgid "Linked" +msgstr "Enlazado" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_main_attachment_id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__message_main_attachment_id +#, fuzzy +msgid "Main Attachment" +msgstr "Archivo adjunto principal" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__date_first_depreciation__manual +#, fuzzy +msgid "Manual" +msgstr "Manual" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__date_first_depreciation__manual +#, fuzzy +msgid "Manual (Defaulted on Purchase Date)" +msgstr "Manual (predeterminado en la fecha de compra)" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_has_error +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__message_has_error +#, fuzzy +msgid "Message Delivery error" +msgstr "Error de entrega de mensajes" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__message_ids +#, fuzzy +msgid "Messages" +msgstr "Mensajes" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +#, fuzzy +msgid "Modify" +msgstr "Modifica importe del impuesto" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_asset_modify model:ir.model,name:om_account_asset.model_asset_modify +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +#, fuzzy +msgid "Modify Asset" +msgstr "Modificar activo" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#, fuzzy +msgid "Modify Depreciation" +msgstr "Modificar depreciación" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_mrr +#, fuzzy +msgid "Monthly Recurring Revenue" +msgstr "Ingresos recurrentes mensuales" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__my_activity_date_deadline +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__my_activity_date_deadline +#, fuzzy +msgid "My Activity Deadline" +msgstr "Fecha límite de mi actividad" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__activity_date_deadline +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__activity_date_deadline +#, fuzzy +msgid "Next Activity Deadline" +msgstr "Fecha límite de la próxima actividad" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__activity_summary +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__activity_summary +#, fuzzy +msgid "Next Activity Summary" +msgstr "Resumen de la siguiente actividad" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__activity_type_id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__activity_type_id +#, fuzzy +msgid "Next Activity Type" +msgstr "Siguiente tipo de actividad" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__remaining_value +#, fuzzy +msgid "Next Period Depreciation" +msgstr "Depreciación del próximo período" + +#. module: om_account_asset +#: model_terms:ir.actions.act_window,help:om_account_asset.action_asset_asset_report +#, fuzzy +msgid "No content" +msgstr "Sin contenido" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__note +#, fuzzy +msgid "Note" +msgstr "Nota" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__first_depreciation_manual_date +#, fuzzy +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 "" +"Tenga en cuenta que esta fecha no altera el cómputo de la primera entrada del diario en el caso de activos prorata temporis. Simplemente cambia su " +"fecha contable" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_needaction_counter +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__message_needaction_counter +#, fuzzy +msgid "Number of Actions" +msgstr "Número de acciones" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_number +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_number +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__method_number +#, fuzzy +msgid "Number of Depreciations" +msgstr "Número de depreciaciones" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method_time__number +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method_time__number +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#, fuzzy +msgid "Number of Entries" +msgstr "Número de entradas" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_period +#, fuzzy +msgid "Number of Months in a Period" +msgstr "Número de meses en un periodo" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_has_error_counter +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__message_has_error_counter +#, fuzzy +msgid "Number of errors" +msgstr "Número de errores" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_needaction_counter +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__message_needaction_counter +#, fuzzy +msgid "Number of messages which requires an action" +msgstr "Número de mensajes que requieren una acción" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_has_error_counter +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__message_has_error_counter +#, fuzzy +msgid "Number of messages with delivery error" +msgstr "Número de mensajes con error de entrega" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#, fuzzy +msgid "One Entry Every" +msgstr "Una entrada cada" + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/models/account_asset.py:0 model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__partner_id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__partner_id +#, fuzzy, python-format +msgid "Partner" +msgstr "Empresa" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_period +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__method_period +#, fuzzy +msgid "Period Length" +msgstr "Duración del período" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#, fuzzy +msgid "Periodicity" +msgstr "Periodicidad" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_asset_depreciation_confirmation_wizard +#, fuzzy +msgid "Post Depreciation Lines" +msgstr "Líneas de amortización posteriores" + +#. module: om_account_asset +#. odoo-javascript +#: code:addons/om_account_asset/static/src/js/account_asset.js:0 +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__move_posted_check +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__move_check +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#, fuzzy, python-format +msgid "Posted" +msgstr "Publicado" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__posted_value +#, fuzzy +msgid "Posted Amount" +msgstr "Cantidad publicada" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#, fuzzy +msgid "Posted depreciation lines" +msgstr "Líneas de amortización contabilizadas" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_product_template +msgid "Product" +msgstr "Producto" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__prorata +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__prorata +#, fuzzy +msgid "Prorata Temporis" +msgstr "Prorata Temporis" + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/models/account_asset.py:0 +#, fuzzy, python-format +msgid "Prorata temporis can be applied only for the \"number of depreciations\" time method." +msgstr "Prorata temporis sólo puede aplicarse al método de tiempo del \"número de depreciaciones\"." + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +#, fuzzy +msgid "Purchase" +msgstr "Compra" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#, fuzzy +msgid "Purchase Month" +msgstr "Mes de compra" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__type__purchase +#, fuzzy +msgid "Purchase: Asset" +msgstr "Compra: Activo" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__name +#, fuzzy +msgid "Reason" +msgstr "Motivo" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#, fuzzy +msgid "Recognition Account" +msgstr "Cuenta de reconocimiento" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#, fuzzy +msgid "Recognition Income Account" +msgstr "Cuenta de Ingresos de Reconocimiento" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__code +#, fuzzy +msgid "Reference" +msgstr "Referencia" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#, fuzzy +msgid "Residual" +msgstr "Remanente" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__value_residual +#, fuzzy +msgid "Residual Value" +msgstr "Valor residual" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__activity_user_id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__activity_user_id +#, fuzzy +msgid "Responsible User" +msgstr "Usuario responsable" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__state__open +#: model:ir.model.fields.selection,name:om_account_asset.selection__asset_asset_report__state__open +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#, fuzzy +msgid "Running" +msgstr "Corriente" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_has_sms_error +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__message_has_sms_error +#, fuzzy +msgid "SMS Delivery error" +msgstr "Error de entrega de SMS" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__type__sale +#, fuzzy +msgid "Sale: Revenue Recognition" +msgstr "Venta: Reconocimiento de ingresos" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +#, fuzzy +msgid "Sales" +msgstr "Ventas" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__salvage_value +#, fuzzy +msgid "Salvage Value" +msgstr "Valor de recuperación" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +#, fuzzy +msgid "Search Asset Category" +msgstr "Categoría de activos de búsqueda" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#, fuzzy +msgid "Sell or Dispose" +msgstr "Vender o disponer" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__sequence +#, fuzzy +msgid "Sequence" +msgstr "Secuencia" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#, fuzzy +msgid "Set to Draft" +msgstr "Restablecer a borrador" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method_period +#, fuzzy +msgid "State here the time between 2 depreciations, in months" +msgstr "Indique aquí el tiempo entre 2 depreciaciones, en meses" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__parent_state +#, fuzzy +msgid "State of Asset" +msgstr "Estado del activo" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__state +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__state +#, fuzzy +msgid "Status" +msgstr "Estado" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__activity_state +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__activity_state +#, fuzzy +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"Estado basado en actividades\n" +"Atrasado: la fecha de vencimiento ya pasó\n" +"Hoy: la fecha de la actividad es hoy\n" +"Planificado: Actividades futuras." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method_period +#, fuzzy +msgid "The amount of time between two depreciations, in months" +msgstr "La cantidad de tiempo entre dos depreciaciones, en meses" + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/wizard/asset_modify.py:0 +#, fuzzy, python-format +msgid "The number of depreciations must be greater than the number of posted or draft entries to allow for complete depreciation of the asset." +msgstr "" +"El número de amortizaciones debe ser mayor que el número de entradas contabilizadas o en borrador para permitir la depreciación completa del activo." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method_number +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method_number +msgid "The number of depreciations needed to depreciate your asset" +msgstr "El número de depreciaciones necesarias para que el activo se deprecie" + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/models/account_move.py:0 +#, fuzzy, python-format +msgid "The number of depreciations or the period length of your asset category cannot be 0." +msgstr "El número de amortizaciones o la duración del período de su categoría de activos no puede ser 0." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__date_first_depreciation +#, fuzzy +msgid "" +"The way to compute the date of the first depreciation.\n" +" * Based on last day of purchase period: The depreciation dates will be based on the last day of the purchase month or the purchase year (depending " +"on the periodicity of the depreciations).\n" +" * Based on purchase date: The depreciation dates will be based on the purchase date." +msgstr "" +"La forma de calcular la fecha de la primera depreciación.\n" +" * Basado en el último día del período de compra: Las fechas de depreciación se basarán en el último día del mes de compra o el año de compra " +"(dependiendo de la periodicidad de las depreciaciones).\n" +" * Basado en la fecha de compra: Las fechas de depreciación se basarán en la fecha de compra." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__date_first_depreciation +#, fuzzy +msgid "" +"The way to compute the date of the first depreciation.\n" +" * Based on last day of purchase period: The depreciation dates will be based on the last day of the purchase month or the purchase year (depending " +"on the periodicity of the depreciations).\n" +" * Based on purchase date: The depreciation dates will be based on the purchase date.\n" +msgstr "" +"La forma de calcular la fecha de la primera depreciación.\n" +" * Basado en el último día del período de compra: Las fechas de depreciación se basarán en el último día del mes de compra o el año de compra " +"(dependiendo de la periodicidad de las depreciaciones).\n" +" * Basado en la fecha de compra: Las fechas de depreciación se basarán en la fecha de compra.\n" + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/models/account_asset.py:0 +#, fuzzy, python-format +msgid "This depreciation is already linked to a journal entry. Please post or delete it." +msgstr "Esta depreciación ya está vinculada a una entrada de diario. Por favor, publíquelo o elimínelo." + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +#, fuzzy +msgid "" +"This wizard will post installment/depreciation lines for the selected month.
\n" +" This will generate journal entries for all related installment lines on this period\n" +" of asset/revenue recognition as well." +msgstr "" +"Este asistente registrará líneas de pago a plazos/depreciación para el mes seleccionado.
Esto generará entradas de diario para todas las líneas de " +"cuotas relacionadas en este período.\n" +" de reconocimiento de activos/ingresos también." + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_time +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_time +#, fuzzy +msgid "Time Method" +msgstr "Método Time" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#, fuzzy +msgid "Time Method Based On" +msgstr "Método de tiempo basado en" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__type +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__type +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +#, fuzzy +msgid "Type" +msgstr "Tipo" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__activity_exception_decoration +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__activity_exception_decoration +#, fuzzy +msgid "Type of the exception activity on record." +msgstr "Tipo de actividad de excepción registrada." + +#. module: om_account_asset +#. odoo-javascript +#: code:addons/om_account_asset/static/src/js/account_asset.js:0 +#, fuzzy, python-format +msgid "Unposted" +msgstr "Sin asentar" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__unposted_value +#, fuzzy +msgid "Unposted Amount" +msgstr "Cantidad no contabilizada" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_purchase_tree +#, fuzzy +msgid "Vendor" +msgstr "Proveedor" + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/models/account_move.py:0 +#, fuzzy, python-format +msgid "Vendor bill cancelled." +msgstr "Factura de proveedor cancelada." + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__website_message_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__website_message_ids +#, fuzzy +msgid "Website Messages" +msgstr "Mensajes del sitio web" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__website_message_ids +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__website_message_ids +#, fuzzy +msgid "Website communication history" +msgstr "Historial de comunicación del sitio web" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__state +#: model:ir.model.fields,help:om_account_asset.field_account_asset_depreciation_line__parent_state +#, fuzzy +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" +"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 "" +"Cuando se crea un activo, el estado es 'Borrador'.\n" +"Si se confirma el activo, el estado va en 'En ejecución' y las líneas de depreciación se pueden contabilizar en la contabilidad.\n" +"Puede cerrar manualmente un activo cuando finalice la depreciación. Si se contabiliza la última línea de amortización, el activo pasa automáticamente " +"a ese estado." + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__name +#, fuzzy +msgid "Year" +msgstr "Año" + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/models/account_asset.py:0 +#, fuzzy, python-format +msgid "You cannot delete a document that contains posted entries." +msgstr "No puede eliminar un documento que contenga entradas publicadas." + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/models/account_asset.py:0 +#, fuzzy, python-format +msgid "You cannot delete a document that is in %s state." +msgstr "No puede eliminar un documento que está en %s estado." + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/models/account_asset.py:0 +#, fuzzy, python-format +msgid "You cannot delete posted depreciation lines." +msgstr "No puede eliminar las líneas de amortización registradas." + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/models/account_asset.py:0 +#, fuzzy, python-format +msgid "You cannot delete posted installment lines." +msgstr "No puede eliminar las líneas de pago publicadas." + +#. module: om_account_asset +#. odoo-python +#: code:addons/om_account_asset/models/account_move.py:0 +#, fuzzy, python-format +msgid "You cannot reset to draft for an entry having a posted asset" +msgstr "No se puede restablecer el borrador de una entrada que tiene un recurso registrado" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_asset_depreciation_confirmation_wizard +#, fuzzy +msgid "asset.depreciation.confirmation.wizard" +msgstr "asset.depreciation.confirmation.wizard" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#, fuzzy +msgid "e.g. Computers" +msgstr "por ejemplo, ordenadores" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#, fuzzy +msgid "e.g. Laptop iBook" +msgstr "por ejemplo, Laptop iBook" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#, fuzzy +msgid "months" +msgstr "meses" diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/i18n/fr.po b/odoo-bringout-odoomates-om_account_asset/om_account_asset/i18n/fr.po new file mode 100644 index 0000000..f4293fa --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/i18n/fr.po @@ -0,0 +1,1357 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * om_account_asset +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-04-15 18:15+0000\n" +"PO-Revision-Date: 2022-07-06 00:05+0200\n" +"Last-Translator: Sylvain Lc\n" +"Language-Team: \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Poedit 3.1\n" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid " (copy)" +msgstr " (copie)" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid " (grouped)" +msgstr " (regroupé)" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__entry_count +msgid "# Asset Entries" +msgstr "# Entrées d’Actif" + +#. module: om_account_asset +#: model:ir.actions.server,name:om_account_asset.account_asset_cron_ir_actions_server +#: model:ir.cron,cron_name:om_account_asset.account_asset_cron +#: model:ir.cron,name:om_account_asset.account_asset_cron +msgid "Account Asset: Generate asset entries" +msgstr "Immo du compte: générer des entrées d'Immo" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__date +msgid "Account Date" +msgstr "Date Compte" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__account_depreciation_id +msgid "Account used in the depreciation entries, to decrease the asset value." +msgstr "" +"Compte utilisé dans les écritures d'amortissement, pour diminuer la valeur " +"de l'actif." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__account_depreciation_expense_id +msgid "" +"Account used in the periodical entries, to record a part of the asset as " +"expense." +msgstr "" +"Compte utilisé dans les entrées périodiques, pour enregistrer une partie de " +"l'amortissement comme une dépense." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__account_asset_id +msgid "Account used to record the purchase of the asset at its original price." +msgstr "" +"Compte utilisé pour enregistrer les achats des amortissements à son prix de " +"base." + +#. module: om_account_asset +#. openerp-web +#: code:addons/om_account_asset/static/src/js/account_asset.js:0 +#, python-format +msgid "Accounting entries waiting for manual verification" +msgstr "Écritures comptables en attente de vérification manuelle" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_needaction +msgid "Action Needed" +msgstr "Action nécessaire" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__active +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__active +msgid "Active" +msgstr "Actif" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Additional Options" +msgstr "Options supplémentaires" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Amount" +msgstr "Montant" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__depreciation_value +msgid "Amount of Depreciation Lines" +msgstr "Montant des lignes d'amortissement" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__installment_value +msgid "Amount of Installment Lines" +msgstr "Montant des lignes de versement" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__account_analytic_id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_analytic_id +msgid "Analytic Account" +msgstr "Compte analytique" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__asset_id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__asset_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Asset" +msgstr "Actifs" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_asset_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Asset Account" +msgstr "Compte d'actif" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_purchase_tree +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_invoice_asset_category +msgid "Asset Category" +msgstr "Catégorie d'actif" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +msgid "Asset Durations to Modify" +msgstr "Durées d'actif à modifier" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_end_date +msgid "Asset End Date" +msgstr "Date de fin de l'actif" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__asset_method_time +msgid "Asset Method Time" +msgstr "Actif Méthode Temps" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__name +msgid "Asset Name" +msgstr "Nom de l'actif" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_start_date +msgid "Asset Start Date" +msgstr "Date de début de l’immo" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__name +#: model:ir.model.fields,field_description:om_account_asset.field_product_product__asset_category_id +#: model:ir.model.fields,field_description:om_account_asset.field_product_template__asset_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Asset Type" +msgstr "Type d'actif" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_account_asset_asset_list_normal_purchase +#: model:ir.ui.menu,name:om_account_asset.menu_action_account_asset_asset_list_normal_purchase +msgid "Asset Category" +msgstr "Type d'actif" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_asset_category +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__asset_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_tree +msgid "Asset category" +msgstr "Catégorie d'actif" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Asset created" +msgstr "Actif créé" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_asset_depreciation_line +msgid "Asset depreciation line" +msgstr "Ligne d'amortissement des actifs" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Asset sold or disposed. Accounting entry awaiting for validation." +msgstr "" +"Immobilisation vendue ou éliminée. Saisie comptable en attente de validation." + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_asset_asset +msgid "Asset/Revenue Recognition" +msgstr "Reconnaissance des immobilisations/revenus" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_account_asset_asset_form +#: model:ir.model.fields,field_description:om_account_asset.field_account_bank_statement_line__asset_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_move__asset_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_payment__asset_ids +#: model:ir.ui.menu,name:om_account_asset.menu_action_account_asset_asset_form +#: model:ir.ui.menu,name:om_account_asset.menu_action_asset_asset_report +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_purchase_tree +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Assets" +msgstr "Actifs" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_asset_asset_report +#: model:ir.model,name:om_account_asset.model_asset_asset_report +#: model_terms:ir.ui.view,arch_db:om_account_asset.action_account_asset_report_graph +#: model_terms:ir.ui.view,arch_db:om_account_asset.action_account_asset_report_pivot +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Assets Analysis" +msgstr "Analyse des actifs" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_bank_statement_line__asset_depreciation_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_move__asset_depreciation_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_payment__asset_depreciation_ids +msgid "Assets Depreciation Lines" +msgstr "Lignes d'amortissement des actifs" + +#. module: om_account_asset +#: model:ir.ui.menu,name:om_account_asset.menu_finance_config_assets +msgid "Assets and Revenues" +msgstr "Immobilisations et revenus" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Assets in closed state" +msgstr "Amortissements terminés" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Assets in draft and open states" +msgstr "Immobilisations à l'état brouillon et ouvert" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Assets in draft state" +msgstr "Actif Brouillon" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Assets in running state" +msgstr "Actifs en cours d’exécution" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_attachment_count +msgid "Attachment Count" +msgstr "Nombre de pièces jointes" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__open_asset +msgid "Auto-Confirm Assets" +msgstr "Auto-confirmation les Immobilisations" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__date_first_depreciation__last_day_period +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__date_first_depreciation__last_day_period +msgid "Based on Last Day of Purchase Period" +msgstr "Basé sur la période du dernier jour d’achat" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +msgid "Cancel" +msgstr "Annuler" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Category" +msgstr "Catégorie" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Category of asset" +msgstr "Catégorie d'immobilisation" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__open_asset +msgid "" +"Check this if you want to automatically confirm the assets of this category " +"when created by invoices." +msgstr "" +"Cochez cette case si vous souhaitez confirmer automatiquement les actifs de " +"cette catégorie lorsqu’ils sont créés par des factures." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__group_entries +msgid "Check this if you want to group the generated entries by categories." +msgstr "" +"Vérifiez ceci si vous souhaitez regrouper les ecritures générées par " +"catégories." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method +msgid "" +"Choose the method to use to compute the amount of depreciation lines.\n" +" * Linear: Calculated on basis of: Gross Value / Number of Depreciations\n" +" * Degressive: Calculated on basis of: Residual Value * Degressive Factor" +msgstr "" +"Choisissez la méthode à utiliser pour calculer le montant des lignes " +"d’amortissement.\n" +" * Linéaire: Calculé sur la base de: Valeur brute / Nombre " +"d’amortissements\n" +" * Dégressif: Calculé sur la base de: Valeur résiduelle * Facteur dégressif" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method_time +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method_time +msgid "" +"Choose the method to use to compute the dates and number of entries.\n" +" * Number of Entries: Fix the number of entries and the time between 2 " +"depreciations.\n" +" * Ending Date: Choose the time between 2 depreciations and the date the " +"depreciations won't go beyond." +msgstr "" +"Choisissez la méthode à utiliser pour calculer les dates et le nombre " +"d’entrées.\n" +" * Nombre d’entrées: Fixez le nombre d’entrées et le temps entre 2 " +"amortissements.\n" +" * Date de fin: Choisissez le temps entre 2 amortissements et la date à " +"laquelle les amortissements n’iront pas au-delà." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_asset_depreciation_confirmation_wizard__date +msgid "" +"Choose the period for which you want to automatically post the depreciation " +"lines of running assets" +msgstr "" +"Choisissez la période pour laquelle vous souhaitez comptabiliser " +"automatiquement les lignes d'amortissement des immobilisations en cours" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__state__close +#: model:ir.model.fields.selection,name:om_account_asset.selection__asset_asset_report__state__close +msgid "Close" +msgstr "Fermer" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Closed" +msgstr "Fermé" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__company_id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__company_id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__company_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Company" +msgstr "Société" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method +msgid "Computation Method" +msgstr "Méthode de calcul" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +msgid "Compute Asset" +msgstr "Ressource de calcul" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Compute Depreciation" +msgstr "Calculer l'amortissement" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Confirm" +msgstr "Confirmer" + +#. module: om_account_asset +#: code:addons/om_account_asset/wizard/asset_depreciation_confirmation_wizard.py:0 +#, python-format +msgid "Created Asset Moves" +msgstr "Déplacements de ressources créés" + +#. module: om_account_asset +#: code:addons/om_account_asset/wizard/asset_depreciation_confirmation_wizard.py:0 +#, python-format +msgid "Created Revenue Moves" +msgstr "Déplacements de revenus créés" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__create_date +msgid "Created on" +msgstr "Créé sur" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__depreciated_value +msgid "Cumulative Depreciation" +msgstr "Amortissement cumulé" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__currency_id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__currency_id +#, python-format +msgid "Currency" +msgstr "Devise" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Current" +msgstr "Actuel" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__amount +msgid "Current Depreciation" +msgstr "Amortissement actuel" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__date +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Date" +msgstr "Fecha" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Date of asset" +msgstr "Date de l’Immobilisation" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Date of asset purchase" +msgstr "Date d’achat" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Date of depreciation" +msgstr "Date d'amortissement" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Deferred Revenue Account" +msgstr "Compte de revenus différé" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_product_product__deferred_revenue_category_id +#: model:ir.model.fields,field_description:om_account_asset.field_product_template__deferred_revenue_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Deferred Revenue Type" +msgstr "Type de revenus reportés" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Deferred Revenues" +msgstr "Revenus différés" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method__degressive +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method__degressive +msgid "Degressive" +msgstr "Dégressive" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_progress_factor +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_progress_factor +msgid "Degressive Factor" +msgstr "Facteur dégressif" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Depreciation" +msgstr "Amortissement" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Depreciation Board" +msgstr "Commission d'amortissement" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__depreciation_nbr +msgid "Depreciation Count" +msgstr "Compte d'amortissement" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__depreciation_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__depreciation_date +msgid "Depreciation Date" +msgstr "Date d'amortissement" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__date_first_depreciation +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__date_first_depreciation +msgid "Depreciation Dates" +msgstr "Dates d'amortissement" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_depreciation_id +msgid "Depreciation Entries: Asset Account" +msgstr "Écritures d'amortissement : compte d'immobilisations" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_depreciation_expense_id +msgid "Depreciation Entries: Expense Account" +msgstr "Écritures d'amortissement : compte de dépenses" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__move_id +msgid "Depreciation Entry" +msgstr "Saisie d'amortissement" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Depreciation Information" +msgstr "Informations sur l'amortissement" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__depreciation_line_ids +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Depreciation Lines" +msgstr "Lignes d'amortissement" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Depreciation Method" +msgstr "Méthode d'amortissement" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Depreciation Month" +msgstr "Mois d'amortissement" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__name +msgid "Depreciation Name" +msgstr "Nom de l'amortissement" + +#. module: om_account_asset +#: code:addons/om_account_asset/wizard/asset_modify.py:0 +#, python-format +msgid "Depreciation board modified" +msgstr "Tableau des amortissements modifié" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Depreciation line posted." +msgstr "Ligne d'amortissement comptabilisée." + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__display_name +msgid "Display Name" +msgstr "Afficher un nom" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Disposal Move" +msgstr "Écriture d'élimination" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Disposal Moves" +msgstr "Écritures d'élimination" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Document closed." +msgstr "Document fermé." + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__state__draft +#: model:ir.model.fields.selection,name:om_account_asset.selection__asset_asset_report__state__draft +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Draft" +msgstr "Brouillon" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_end +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method_time__end +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method_time__end +msgid "Ending Date" +msgstr "Date de fin" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_end +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__method_end +msgid "Ending date" +msgstr "Date de fin" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Extended Filters..." +msgstr "Filtres étendus..." + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__first_depreciation_manual_date +msgid "First Depreciation Date" +msgstr "Première date d'amortissement" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_follower_ids +msgid "Followers" +msgstr "Suiveuses" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_partner_ids +msgid "Followers (Partners)" +msgstr "Abonnés (Partenaires)" + +#. module: om_account_asset +#: model_terms:ir.actions.act_window,help:om_account_asset.action_asset_asset_report +msgid "" +"From this report, you can have an overview on all depreciations. The\n" +" search bar can also be used to personalize your assets " +"depreciation reporting." +msgstr "" +"À partir de ce rapport, vous pouvez avoir une vue d’ensemble de toutes les " +"dépréciations.\n" +" la barre de recherche peut également être utilisée pour " +"personnaliser la déclaration d’amortissement de vos actifs." + +#. module: om_account_asset +#: model:ir.ui.menu,name:om_account_asset.menu_asset_depreciation_confirmation_wizard +msgid "Generate Assets Entries" +msgstr "Générer des entrées d’actifs" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +msgid "Generate Entries" +msgstr "Générer les lignes d'écritures" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__gross_value +msgid "Gross Amount" +msgstr "Montant HT" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__value +msgid "Gross Value" +msgstr "Valeur brute" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Gross value of asset" +msgstr "Valeur brute de l'actif" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Group By" +msgstr "Grouper par" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Group By..." +msgstr "Regrouper par..." + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__group_entries +msgid "Group Journal Entries" +msgstr "Grouper les Pièces comptables" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__has_message +msgid "Has Message" +msgstr "A un message" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__id +msgid "ID" +msgstr "ID" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_needaction +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_unread +msgid "If checked, new messages require your attention." +msgstr "Si coché, de nouveaux messages demandent votre attention." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_has_error +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "Si actif, certains messages ont une erreur de livraison." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_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 "" +"Indique que la première écriture d'amortissement pour cet actif doit être " +"effectuée à partir de la date de l'actif (date d'achat) au lieu du premier " +"janvier / date de début de l'exercice" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__prorata +msgid "" +"Indicates that the first depreciation entry for this asset have to be done " +"from the purchase date instead of the first of January" +msgstr "" +"Indique que la première écriture d'amortissement pour ce bien doit être " +"effectuée à partir de la date d'achat au lieu du premier janvier" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__installment_nbr +msgid "Installment Count" +msgstr "Nombre de versements" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__invoice_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Invoice" +msgstr "Facture" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_is_follower +msgid "Is Follower" +msgstr "Est un abonné" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__salvage_value +msgid "It is the amount you plan to have that you cannot depreciate." +msgstr "Il s'agit de la part non dépréciable de l'immobilisation." + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Items" +msgstr "Éléments" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__journal_id +msgid "Journal" +msgstr "Journal" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#, python-format +msgid "Journal Entries" +msgstr "Pièces comptables" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_move +msgid "Journal Entry" +msgstr "Pièce comptable" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_move_line +msgid "Journal Item" +msgstr "Écriture comptable" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify____last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__write_date +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method__linear +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method__linear +msgid "Linear" +msgstr "Linéaire" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__move_check +msgid "Linked" +msgstr "Lié" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_main_attachment_id +msgid "Main Attachment" +msgstr "Pièce jointe principale" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__date_first_depreciation__manual +msgid "Manual" +msgstr "Manuel" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__date_first_depreciation__manual +msgid "Manual (Defaulted on Purchase Date)" +msgstr "Manuel (par défaut à la date d’achat)" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_has_error +msgid "Message Delivery error" +msgstr "Erreur d'envoi du message" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_ids +msgid "Messages" +msgstr "Messages" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +msgid "Modify" +msgstr "Modifier" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_asset_modify +#: model:ir.model,name:om_account_asset.model_asset_modify +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +msgid "Modify Asset" +msgstr "Modifier l'actif" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Modify Depreciation" +msgstr "Modifier l'amortissement" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_mrr +msgid "Monthly Recurring Revenue" +msgstr "Revenus récurrents mensuels" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__remaining_value +msgid "Next Period Depreciation" +msgstr "Amortissement de la prochaine période" + +#. module: om_account_asset +#: model_terms:ir.actions.act_window,help:om_account_asset.action_asset_asset_report +msgid "No content" +msgstr "Aucun contenu" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__note +msgid "Note" +msgstr "Note" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__first_depreciation_manual_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 "" +"Notez que cette date ne modifie pas le calcul de la première entrée de " +"journal dans le cas d'actifs prorata temporis. Il change simplement sa date " +"de comptabilisation" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_needaction_counter +msgid "Number of Actions" +msgstr "Nombre d'actions" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_number +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_number +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__method_number +msgid "Number of Depreciations" +msgstr "Nombre d'amortissements" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method_time__number +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method_time__number +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Number of Entries" +msgstr "Nombre d’entrées" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_period +msgid "Number of Months in a Period" +msgstr "Nombre de mois dans une période" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_has_error_counter +msgid "Number of errors" +msgstr "Nombre d'erreurs" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "Nombre de messages exigeant une action" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Nombre de messages avec des erreurs d'envoi" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_unread_counter +msgid "Number of unread messages" +msgstr "Nombre de messages non lus" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "One Entry Every" +msgstr "Une entrée par an" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__partner_id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__partner_id +#, python-format +msgid "Partner" +msgstr "Partenaire" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_period +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__method_period +msgid "Period Length" +msgstr "Durée de la période" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Periodicity" +msgstr "Périodicité" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_asset_depreciation_confirmation_wizard +msgid "Post Depreciation Lines" +msgstr "Lignes après amortissement" + +#. module: om_account_asset +#. openerp-web +#: code:addons/om_account_asset/static/src/js/account_asset.js:0 +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__move_posted_check +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__move_check +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#, python-format +msgid "Posted" +msgstr "Comptabilisé" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__posted_value +msgid "Posted Amount" +msgstr "Montant comptabilisé" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Posted depreciation lines" +msgstr "Lignes d'amortissement comptabilisées" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_product_template +msgid "Product Template" +msgstr "Modèle d'article" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__prorata +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__prorata +msgid "Prorata Temporis" +msgstr "Prorata temporis" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "" +"Prorata temporis can be applied only for the \"number of depreciations\" " +"time method." +msgstr "" +"Le prorata temporis ne peut être appliqué que pour la méthode du temps du " +"« nombre d’amortissements »." + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Purchase" +msgstr "Achats" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Purchase Month" +msgstr "Mois d’achat" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__type__purchase +msgid "Purchase: Asset" +msgstr "Achat : Immobilisation" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__name +msgid "Reason" +msgstr "Motif" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Recognition Account" +msgstr "Compte de reconnaissance" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Recognition Income Account" +msgstr "Compte de comptabilisation des produits" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__code +msgid "Reference" +msgstr "Référence" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Residual" +msgstr "Résiduel" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__value_residual +msgid "Residual Value" +msgstr "Valeur résiduelle" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__state__open +#: model:ir.model.fields.selection,name:om_account_asset.selection__asset_asset_report__state__open +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Running" +msgstr "En cours" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_has_sms_error +msgid "SMS Delivery error" +msgstr "Erreur d'envoi SMS" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__type__sale +msgid "Sale: Revenue Recognition" +msgstr "Ventes : reconnaissance de revenu" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Sales" +msgstr "Vente" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__salvage_value +msgid "Salvage Value" +msgstr "Valeur de récupération" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Search Asset Category" +msgstr "recherche de Catégorie d’Immobilisation" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Sell or Dispose" +msgstr "Vendre ou éliminer" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__sequence +msgid "Sequence" +msgstr "Séquence" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Set to Draft" +msgstr "Marquer comme brouillon" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method_period +msgid "State here the time between 2 depreciations, in months" +msgstr "Définir ici le temps entre 2 dépréciations, en mois" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__parent_state +msgid "State of Asset" +msgstr "État de l’actif" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__state +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__state +msgid "Status" +msgstr "Statut" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method_period +msgid "The amount of time between two depreciations, in months" +msgstr "Le temps entre deux amortissements, en mois" + +#. module: om_account_asset +#: code:addons/om_account_asset/wizard/asset_modify.py:0 +#, python-format +msgid "" +"The number of depreciations must be greater than the number of posted or " +"draft entries to allow for complete depreciation of the asset." +msgstr "" +"Le nombre d’amortissements doit être supérieur au nombre d’écritures " +"affichées ou provisoires pour permettre l’amortissement complet de l’actif." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method_number +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method_number +msgid "The number of depreciations needed to depreciate your asset" +msgstr "" +"Le nombre d'amortissements nécessaire pour amortir votre immobilisation" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_move.py:0 +#, python-format +msgid "" +"The number of depreciations or the period length of your asset category " +"cannot be 0." +msgstr "" +"Le nombre d’amortissements ou la durée de votre catégorie d’actifs ne peut " +"pas être égal à 0." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__date_first_depreciation +msgid "" +"The way to compute the date of the first depreciation.\n" +" * Based on last day of purchase period: The depreciation dates will be " +"based on the last day of the purchase month or the purchase year (depending " +"on the periodicity of the depreciations).\n" +" * Based on purchase date: The depreciation dates will be based on the " +"purchase date." +msgstr "" +"La façon de calculer la date du premier amortissement.\n" +" * Basé sur le dernier jour de la période d’achat: Les dates " +"d’amortissement seront basées sur le dernier jour du mois d’achat ou de " +"l’année d’achat (selon la périodicité des amortissements).\n" +" * Basé sur la date d’achat: Les dates d’amortissement seront basées sur la " +"date d’achat." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__date_first_depreciation +msgid "" +"The way to compute the date of the first depreciation.\n" +" * Based on last day of purchase period: The depreciation dates will be " +"based on the last day of the purchase month or the purchase year (depending " +"on the periodicity of the depreciations).\n" +" * Based on purchase date: The depreciation dates will be based on the " +"purchase date.\n" +msgstr "" +"La façon de calculer la date de la première dépréciation.\n" +" * Selon le dernier jour de la période d’achat : Les dates d’amortissement " +"seront basées sur le dernier jour du mois d’achat ou de l’année d’achat " +"(selon la périodicité des amortissements).\n" +" * Selon la date d’achat : Les dates d’amortissement seront basées sur la " +"date d’achat.\n" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "" +"This depreciation is already linked to a journal entry. Please post or " +"delete it." +msgstr "" +"Cette dépréciation est déjà liée à une entrée de journal. Veuillez le " +"publier ou le supprimer." + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +msgid "" +"This wizard will post installment/depreciation lines for the selected month." +"
\n" +" This will generate journal entries for all related " +"installment lines on this period\n" +" of asset/revenue recognition as well." +msgstr "" +"Cet assistant publiera les lignes de versement/amortissement pour le mois " +"sélectionné.
Cela générera des entrées de journal pour toutes les lignes " +"de versements connexes sur cette période\n" +" de la comptabilisation des actifs et des produits " +"également." + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_time +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_time +msgid "Time Method" +msgstr "Méthode du temps" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Time Method Based On" +msgstr "Méthode de temps basée sur" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__type +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__type +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Type" +msgstr "Type" + +#. module: om_account_asset +#. openerp-web +#: code:addons/om_account_asset/static/src/js/account_asset.js:0 +#, python-format +msgid "Unposted" +msgstr "Non Validé" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__unposted_value +msgid "Unposted Amount" +msgstr "Montant non validé" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_unread +msgid "Unread Messages" +msgstr "Messages non lus" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_unread_counter +msgid "Unread Messages Counter" +msgstr "Compteur de messages non lus" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_purchase_tree +msgid "Vendor" +msgstr "Fournisseur" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_move.py:0 +#, python-format +msgid "Vendor bill cancelled." +msgstr "Facture fournisseur annulée." + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__website_message_ids +msgid "Website Messages" +msgstr "Messages du site web" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__website_message_ids +msgid "Website communication history" +msgstr "Historique de communication du site web" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__state +#: model:ir.model.fields,help:om_account_asset.field_account_asset_depreciation_line__parent_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" +"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 "" +"Lorsqu’une ressource est créée, l’état est « Brouillon ».\n" +"Si l’actif est confirmé, l’état passe en « En cours » et les lignes " +"d’amortissement peuvent être enregistrées dans la comptabilité.\n" +"Vous pouvez fermer manuellement un actif lorsque l’amortissement est " +"terminé. Si la dernière ligne d’amortissement est comptabilisée, l’actif " +"passe automatiquement dans cet état." + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__name +msgid "Year" +msgstr "Année" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot delete a document that contains posted entries." +msgstr "" +"Vous ne pouvez pas supprimer un document qui contient des entrées validées." + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot delete a document that is in %s state." +msgstr "" +"Vous ne pouvez pas supprimer un document qui se trouve dans l'étape %s." + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot delete posted depreciation lines." +msgstr "Vous ne pouvez pas supprimer les lignes d'amortissement validées." + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot delete posted installment lines." +msgstr "Vous ne pouvez pas supprimer les lignes de versement publiées." + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_move.py:0 +#, python-format +msgid "You cannot reset to draft for an entry having a posted asset" +msgstr "" +"Vous ne pouvez pas réinitialiser le brouillon pour une entrée ayant une " +"ressource validée" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_asset_depreciation_confirmation_wizard +msgid "asset.depreciation.confirmation.wizard" +msgstr "asset.depreciation.confirmation.wizard" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "e.g. Computers" +msgstr "p. ex. Ordinateurs" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "e.g. Laptop iBook" +msgstr "ex : ordinateur portable iBook" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "months" +msgstr "mois" diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/i18n/tr.po b/odoo-bringout-odoomates-om_account_asset/om_account_asset/i18n/tr.po new file mode 100644 index 0000000..bbe267f --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/i18n/tr.po @@ -0,0 +1,1319 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * om_account_asset +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-04-15 06:42+0000\n" +"PO-Revision-Date: 2022-04-15 06:42+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: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid " (copy)" +msgstr "(kopya)" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid " (grouped)" +msgstr "(gruplandı)" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__entry_count +msgid "# Asset Entries" +msgstr "# Demirbaş Kayıtları" + +#. module: om_account_asset +#: model:ir.actions.server,name:om_account_asset.account_asset_cron_ir_actions_server +#: model:ir.cron,cron_name:om_account_asset.account_asset_cron +#: model:ir.cron,name:om_account_asset.account_asset_cron +msgid "Account Asset: Generate asset entries" +msgstr "Demirbaş Hesabı: Demirbaş kayıtlarını üret" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__date +msgid "Account Date" +msgstr "Hesap Tarihi" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__account_depreciation_id +msgid "Account used in the depreciation entries, to decrease the asset value." +msgstr "" +"Demirbaşın değerini düşürmek için kullanılacak amortisman kayıtlarına ait " +"hesap" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__account_depreciation_expense_id +msgid "" +"Account used in the periodical entries, to record a part of the asset as " +"expense." +msgstr "" +"Demirbaşın bir bölümünü gider olarak kaydetmek için kullanılacak dönemsel " +"kayıtlara ait hesap" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__account_asset_id +msgid "" +"Account used to record the purchase of the asset at its original price." +msgstr "" +"Demirbaşın orijinal değerinden satın alma kaydının oluşturulacağı hesap" + +#. module: om_account_asset +#. openerp-web +#: code:addons/om_account_asset/static/src/js/account_asset.js:0 +#, python-format +msgid "Accounting entries waiting for manual verification" +msgstr "Manuel doğrulama bekleyen muhasebe kayıtları" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_needaction +msgid "Action Needed" +msgstr "Eylem Gerekli" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__active +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__active +msgid "Active" +msgstr "Etkin" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Additional Options" +msgstr "İlave Seçenekler" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Amount" +msgstr "Miktar" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__depreciation_value +msgid "Amount of Depreciation Lines" +msgstr "Amortisman Satırı Miktarı" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__installment_value +msgid "Amount of Installment Lines" +msgstr "Taksit Satırı Miktarı" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__account_analytic_id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_analytic_id +msgid "Analytic Account" +msgstr "Analitik Hesap" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__asset_id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__asset_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Asset" +msgstr "Demirbaş" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_asset_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Asset Account" +msgstr "Demirbaş Hesabı" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_purchase_tree +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_invoice_asset_category +msgid "Asset Category" +msgstr "Demirbaş Kategorisi" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +msgid "Asset Durations to Modify" +msgstr "Düzenlenecek Demirbaş Süreleri" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_end_date +msgid "Asset End Date" +msgstr "Demirbaş Son Tarih" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__asset_method_time +msgid "Asset Method Time" +msgstr "Demirbaş Metot Zamanı" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__name +msgid "Asset Name" +msgstr "Demirbaş Adı" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_start_date +msgid "Asset Start Date" +msgstr "Demirbaş Başlangıç Tarihi" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__name +#: model:ir.model.fields,field_description:om_account_asset.field_product_product__asset_category_id +#: model:ir.model.fields,field_description:om_account_asset.field_product_template__asset_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Asset Type" +msgstr "Demirbaş Tipi" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_account_asset_asset_list_normal_purchase +#: model:ir.ui.menu,name:om_account_asset.menu_action_account_asset_asset_list_normal_purchase +msgid "Asset Category" +msgstr "Demirbaş Tipleri" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_asset_category +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__asset_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_tree +msgid "Asset category" +msgstr "Demirbaş kategorisi" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Asset created" +msgstr "Demirbaş oluşturuldu" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_asset_depreciation_line +msgid "Asset depreciation line" +msgstr "Demirbaş amortisman satırı" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Asset sold or disposed. Accounting entry awaiting for validation." +msgstr "" +"Demirbaş satıldı ya da imha edildi. Muhasebe kaydı doğrulama bekliyor." + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_asset_asset +msgid "Asset/Revenue Recognition" +msgstr "Demirbaş/Gelir Tahakkuku" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_account_asset_asset_form +#: model:ir.model.fields,field_description:om_account_asset.field_account_bank_statement_line__asset_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_move__asset_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_payment__asset_ids +#: model:ir.ui.menu,name:om_account_asset.menu_action_account_asset_asset_form +#: model:ir.ui.menu,name:om_account_asset.menu_action_asset_asset_report +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_purchase_tree +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Assets" +msgstr "Demirbaşlar" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_asset_asset_report +#: model:ir.model,name:om_account_asset.model_asset_asset_report +#: model_terms:ir.ui.view,arch_db:om_account_asset.action_account_asset_report_graph +#: model_terms:ir.ui.view,arch_db:om_account_asset.action_account_asset_report_pivot +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Assets Analysis" +msgstr "Demirbaş Analizi" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_bank_statement_line__asset_depreciation_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_move__asset_depreciation_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_payment__asset_depreciation_ids +msgid "Assets Depreciation Lines" +msgstr "Demirbaş Amortisman Satırları" + +#. module: om_account_asset +#: model:ir.ui.menu,name:om_account_asset.menu_finance_config_assets +msgid "Assets and Revenues" +msgstr "Demirbaş ve Gelirler" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Assets in closed state" +msgstr "Kapalı durumdaki demirbaşlar" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Assets in draft and open states" +msgstr "Taslak ve açık durumdaki demirbaşlar" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Assets in draft state" +msgstr "Taslak durumdaki demirbaşlar" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Assets in running state" +msgstr "Kullanımda durumundaki demirbaşlar" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_attachment_count +msgid "Attachment Count" +msgstr "Ek Sayısı" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__open_asset +msgid "Auto-Confirm Assets" +msgstr "Otomatik onaylanan demirbaşlar" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__date_first_depreciation__last_day_period +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__date_first_depreciation__last_day_period +msgid "Based on Last Day of Purchase Period" +msgstr "Satın Alma Döneminin Son Günü Tabanlı" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +msgid "Cancel" +msgstr "İptal" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Category" +msgstr "Kategori" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Category of asset" +msgstr "Demirbaşın kategorisi" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__open_asset +msgid "" +"Check this if you want to automatically confirm the assets of this category " +"when created by invoices." +msgstr "" +"Bu kategoriye ait demirbaşların, fatura ile oluşturulduğunda, otomatik " +"olarak onaylanmasını istiyorsanız burayı işaretleyiniz" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__group_entries +msgid "Check this if you want to group the generated entries by categories." +msgstr "" +"Kayıtların kategorilere göre gruplanmasını istiyorsanız burayı işaretleyiniz" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method +msgid "" +"Choose the method to use to compute the amount of depreciation lines.\n" +" * Linear: Calculated on basis of: Gross Value / Number of Depreciations\n" +" * Degressive: Calculated on basis of: Residual Value * Degressive Factor" +msgstr "" +"Amortisman satır sayısını hesaplamak için kullanılacak metodu seçiniz.\n" +" * Doğrusal: Brüt Değer / Amortisman Sayısı\n" +" * Azalan Oranlı: Kalan Değer × Azalan Çarpan" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method_time +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method_time +msgid "" +"Choose the method to use to compute the dates and number of entries.\n" +" * Number of Entries: Fix the number of entries and the time between 2 depreciations.\n" +" * Ending Date: Choose the time between 2 depreciations and the date the depreciations won't go beyond." +msgstr "" +"Tarihleri ve kayıt sayısını hesaplamak için kullanılacak metodu seçiniz.\n" +" * Kayıt Sayısı: İki amortisman arasındaki kayıt sayısı ve zaman sabittir.\n" +" * Bitiş Tarihi: İki amortisman arasındaki zaman ve tarih seçilir, amortismanlar daha ileri gitmez." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_asset_depreciation_confirmation_wizard__date +msgid "" +"Choose the period for which you want to automatically post the depreciation " +"lines of running assets" +msgstr "" +"Kullanımdaki demirbaşların amortisman satırlarının otomatik tanımlanmasında " +"kullanılacak dönemi seçiniz" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__state__close +#: model:ir.model.fields.selection,name:om_account_asset.selection__asset_asset_report__state__close +msgid "Close" +msgstr "Kapat" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Closed" +msgstr "Kapatıldı" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__company_id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__company_id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__company_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Company" +msgstr "Şirket" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method +msgid "Computation Method" +msgstr "Hesaplama Metodu" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +msgid "Compute Asset" +msgstr "Demirbaş Hesaplama" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Compute Depreciation" +msgstr "Amortisman Hesaplama" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Confirm" +msgstr "Onayla" + +#. module: om_account_asset +#: code:addons/om_account_asset/wizard/asset_depreciation_confirmation_wizard.py:0 +#, python-format +msgid "Created Asset Moves" +msgstr "Oluşturulan Demirbaş Hareketleri" + +#. module: om_account_asset +#: code:addons/om_account_asset/wizard/asset_depreciation_confirmation_wizard.py:0 +#, python-format +msgid "Created Revenue Moves" +msgstr "Oluşturulan Gelir Hareketleri" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__create_uid +msgid "Created by" +msgstr "Oluşturan" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__create_date +msgid "Created on" +msgstr "Oluşturulma Tarihi" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__depreciated_value +msgid "Cumulative Depreciation" +msgstr "Kümülatif Amortisman" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__currency_id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__currency_id +#, python-format +msgid "Currency" +msgstr "Para Birimi" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Current" +msgstr "Mevcut" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__amount +msgid "Current Depreciation" +msgstr "Mevcut Amortisman" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__date +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Date" +msgstr "Tarih" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Date of asset" +msgstr "Demirbaşın Tarihi" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Date of asset purchase" +msgstr "Demirbaşın Satın Alınma Tarihi" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Date of depreciation" +msgstr "Amortismanın Tarihi" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Deferred Revenue Account" +msgstr "Ertelenmiş Gelir Hesabı" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_product_product__deferred_revenue_category_id +#: model:ir.model.fields,field_description:om_account_asset.field_product_template__deferred_revenue_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Deferred Revenue Type" +msgstr "Ertelenmiş Gelir Tipi" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Deferred Revenues" +msgstr "Ertelenmiş Gelirler" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method__degressive +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method__degressive +msgid "Degressive" +msgstr "Azalan" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_progress_factor +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_progress_factor +msgid "Degressive Factor" +msgstr "Azalan Çarpan" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Depreciation" +msgstr "Amortisman" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Depreciation Board" +msgstr "Amortisman Panosu" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__depreciation_nbr +msgid "Depreciation Count" +msgstr "Amortisman Sayısı" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__depreciation_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__depreciation_date +msgid "Depreciation Date" +msgstr "Amortisman Tarihi" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__date_first_depreciation +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__date_first_depreciation +msgid "Depreciation Dates" +msgstr "Amortisman Tarihleri" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_depreciation_id +msgid "Depreciation Entries: Asset Account" +msgstr "Amortisman Kayıtları: Demirbaş Hesabı" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_depreciation_expense_id +msgid "Depreciation Entries: Expense Account" +msgstr "Amortisman Kayıtları: Gider Hesabı" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__move_id +msgid "Depreciation Entry" +msgstr "Amortisman Kaydı" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Depreciation Information" +msgstr "Amortisman Bilgisi" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__depreciation_line_ids +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Depreciation Lines" +msgstr "Amortisman Satırları" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Depreciation Method" +msgstr "Amortisman Metodu" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Depreciation Month" +msgstr "Amortisman Ayı" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__name +msgid "Depreciation Name" +msgstr "Amortisman Adı" + +#. module: om_account_asset +#: code:addons/om_account_asset/wizard/asset_modify.py:0 +#, python-format +msgid "Depreciation board modified" +msgstr "Amortisman panosu düzenlendi" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Depreciation line posted." +msgstr "Amortisman satırı uygulandı." + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__display_name +msgid "Display Name" +msgstr "Görüntülenen Ad" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Disposal Move" +msgstr "İmha Hareketi" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Disposal Moves" +msgstr "İmha Hareketleri" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Document closed." +msgstr "Belge kapatıldı." + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__state__draft +#: model:ir.model.fields.selection,name:om_account_asset.selection__asset_asset_report__state__draft +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Draft" +msgstr "Taslak" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_end +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method_time__end +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method_time__end +msgid "Ending Date" +msgstr "Bitiş Tarihi" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_end +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__method_end +msgid "Ending date" +msgstr "Bitiş tarihi" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Extended Filters..." +msgstr "Gelişmiş Filtreler" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__first_depreciation_manual_date +msgid "First Depreciation Date" +msgstr "İlk Amortisman Tarihi" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_follower_ids +msgid "Followers" +msgstr "Takipçiler" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_partner_ids +msgid "Followers (Partners)" +msgstr "Takipçiler (İş Ortakları)" + +#. module: om_account_asset +#: model_terms:ir.actions.act_window,help:om_account_asset.action_asset_asset_report +msgid "" +"From this report, you can have an overview on all depreciations. The\n" +" search bar can also be used to personalize your assets depreciation reporting." +msgstr "" +"Bu rapor ile, tüm amortismanlar hakkında genel bilgi sahibi olabilirsiniz. " +"Arama çubuğu kullanılarak demirbaş amortisman raporu özelleştirilebilir." + +#. module: om_account_asset +#: model:ir.ui.menu,name:om_account_asset.menu_asset_depreciation_confirmation_wizard +msgid "Generate Assets Entries" +msgstr "Demirbaş Kayıtlarını Oluştur" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +msgid "Generate Entries" +msgstr "Kayıtları Oluştur" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__gross_value +msgid "Gross Amount" +msgstr "Brüt Miktar" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__value +msgid "Gross Value" +msgstr "Brüt Değer" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Gross value of asset" +msgstr "Demirbaşın brüt değeri" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Group By" +msgstr "Gruplama" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Group By..." +msgstr "Grupla..." + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__group_entries +msgid "Group Journal Entries" +msgstr "Defter Kayıtlarını Grupla" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__has_message +msgid "Has Message" +msgstr "Mesajı Olan" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__id +msgid "ID" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_needaction +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_unread +msgid "If checked, new messages require your attention." +msgstr "İşaretlenirse, yeni mesajlarla ilgilenmeniz gerekir." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_has_error +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "İşaretlenirse, bazı iletilerde teslim hatası olur." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_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 "" +"Demirbaşın ilk amortisman kaydının, ilk Ocak ayı/mali yıl başlangıcı yerine " +"demirbaş tarihinden (satın alma tarihi) itibaren oluşturulması gerektiğini " +"ifade eder." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__prorata +msgid "" +"Indicates that the first depreciation entry for this asset have to be done " +"from the purchase date instead of the first of January" +msgstr "" +"Demirbaşın ilk amortisman kaydının, ilk Ocak ayı/mali yıl başlangıcı yerine " +"demirbaş tarihinden (satın alma tarihi) itibaren oluşturulması gerektiğini " +"ifade eder." + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__installment_nbr +msgid "Installment Count" +msgstr "Taksit Sayısı" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__invoice_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Invoice" +msgstr "Fatura" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_is_follower +msgid "Is Follower" +msgstr "Takipçi mi?" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__salvage_value +msgid "It is the amount you plan to have that you cannot depreciate." +msgstr "Planladığınız, amortisman uygulanmayacak değerdir." + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Items" +msgstr "Öğeler" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__journal_id +msgid "Journal" +msgstr "Yevmiye" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#, python-format +msgid "Journal Entries" +msgstr "Defter Kayıtları" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_move +msgid "Journal Entry" +msgstr "Yevmiye Kaydı" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_move_line +msgid "Journal Item" +msgstr "Yevmiye Kalemi" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify____last_update +msgid "Last Modified on" +msgstr "Son Değişiklik Tarihi" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__write_uid +msgid "Last Updated by" +msgstr "Son Güncellemeyi Yapan" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__write_date +msgid "Last Updated on" +msgstr "Son Güncelleme Tarihi" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method__linear +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method__linear +msgid "Linear" +msgstr "Doğrusal" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__move_check +msgid "Linked" +msgstr "Bağlantılı" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_main_attachment_id +msgid "Main Attachment" +msgstr "Ana Ek" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__date_first_depreciation__manual +msgid "Manual" +msgstr "Manuel" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__date_first_depreciation__manual +msgid "Manual (Defaulted on Purchase Date)" +msgstr "Manuel (Satın Alma Tarihine Varsayılan)" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_has_error +msgid "Message Delivery error" +msgstr "Teslim hatası mesajı" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_ids +msgid "Messages" +msgstr "Mesajlar" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +msgid "Modify" +msgstr "Düzenle" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_asset_modify +#: model:ir.model,name:om_account_asset.model_asset_modify +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +msgid "Modify Asset" +msgstr "Demirbaşı Düzenle" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Modify Depreciation" +msgstr "Amortismanı Düzenle" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_mrr +msgid "Monthly Recurring Revenue" +msgstr "Aylık Tekrar Eden Gelir" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__remaining_value +msgid "Next Period Depreciation" +msgstr "Sonraki Dönem Amortismanı" + +#. module: om_account_asset +#: model_terms:ir.actions.act_window,help:om_account_asset.action_asset_asset_report +msgid "No content" +msgstr "İçerik yok" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__note +msgid "Note" +msgstr "Not" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__first_depreciation_manual_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 "" +"Bu tarih, \"Kısmi süreyle orantılı\" demirbaşlar için ilk defter kaydının " +"hesaplanmasını değiştirmez. Sadece ilk muhasebe tarihini düzenler." + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_needaction_counter +msgid "Number of Actions" +msgstr "Eylem Sayısı" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_number +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_number +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__method_number +msgid "Number of Depreciations" +msgstr "Amortisman Sayısı" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method_time__number +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method_time__number +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Number of Entries" +msgstr "Kayıt Sayısı" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_period +msgid "Number of Months in a Period" +msgstr "Bir Dönem İçindeki Ay Sayısı" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_has_error_counter +msgid "Number of errors" +msgstr "Hata Sayısı" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "Eylem gerektiren mesaj sayısı" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Teslim hatası içeren mesaj hatası" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_unread_counter +msgid "Number of unread messages" +msgstr "Okunmamış mesaj sayısı" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "One Entry Every" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__partner_id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__partner_id +#, python-format +msgid "Partner" +msgstr "İş Ortağı" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_period +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__method_period +msgid "Period Length" +msgstr "Dönem Uzunluğu" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Periodicity" +msgstr "Tekrarlanma" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_asset_depreciation_confirmation_wizard +msgid "Post Depreciation Lines" +msgstr "Amortisman Satırlarını Uygula" + +#. module: om_account_asset +#. openerp-web +#: code:addons/om_account_asset/static/src/js/account_asset.js:0 +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__move_posted_check +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__move_check +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#, python-format +msgid "Posted" +msgstr "Gönderildi" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__posted_value +msgid "Posted Amount" +msgstr "Gönderilen Miktar" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Posted depreciation lines" +msgstr "Uygulanan amortisman satırları" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_product_template +msgid "Product Template" +msgstr "Ürün Şablonu" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__prorata +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__prorata +msgid "Prorata Temporis" +msgstr "Kısmi Süreyle Orantılı" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "" +"Prorata temporis can be applied only for the \"number of depreciations\" " +"time method." +msgstr "" +"\"Kısmi süreyle orantı\" sadece \"amortisman sayısı\" zaman metoduna " +"uygulanabilir." + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Purchase" +msgstr "Satın Alma" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Purchase Month" +msgstr "Satın Alınan Ay" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__type__purchase +msgid "Purchase: Asset" +msgstr "Satın Alma: Demirbaş" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__name +msgid "Reason" +msgstr "Gerekçe" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Recognition Account" +msgstr "Muhasebeleştirilen Hesap" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Recognition Income Account" +msgstr "Muhasebeleştirilen Gelir Hesabı" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__code +msgid "Reference" +msgstr "Referans" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Residual" +msgstr "Kalan" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__value_residual +msgid "Residual Value" +msgstr "Kalan Değer" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__state__open +#: model:ir.model.fields.selection,name:om_account_asset.selection__asset_asset_report__state__open +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Running" +msgstr "Kullanımda" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_has_sms_error +msgid "SMS Delivery error" +msgstr "SMS Teslim Hatası" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__type__sale +msgid "Sale: Revenue Recognition" +msgstr "Satış: Gelir Muhasebeleştirme" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Sales" +msgstr "Satışlar" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__salvage_value +msgid "Salvage Value" +msgstr "Kurtarma Değeri" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Search Asset Category" +msgstr "Demirbaş Kategorisini Ara" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Sell or Dispose" +msgstr "Sat ya da İmha Et" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__sequence +msgid "Sequence" +msgstr "Sıra" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Set to Draft" +msgstr "Taslak olarak Ayarla" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method_period +msgid "State here the time between 2 depreciations, in months" +msgstr "" +"Ardışık iki amortisman arasındaki süreyi ay olarak burada belirleyiniz" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__parent_state +msgid "State of Asset" +msgstr "Demirbaşın Durumu" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__state +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__state +msgid "Status" +msgstr "Durum" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method_period +msgid "The amount of time between two depreciations, in months" +msgstr "Ardışık iki amortisman arasındaki süre, ay olarak" + +#. module: om_account_asset +#: code:addons/om_account_asset/wizard/asset_modify.py:0 +#, python-format +msgid "" +"The number of depreciations must be greater than the number of posted or " +"draft entries to allow for complete depreciation of the asset." +msgstr "" +"Demirbaşa tamamen amortisman uygulanabilmesi için, amortisman sayısının " +"uygulanan ya da taslak durumdaki kayıt sayısından fazla olması gerekir." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method_number +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method_number +msgid "The number of depreciations needed to depreciate your asset" +msgstr "Demirbaşın amortismana ayrılması için gerekli amortisman sayısı" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_move.py:0 +#, python-format +msgid "" +"The number of depreciations or the period length of your asset category " +"cannot be 0." +msgstr "" +"Amortisman sayısı ya da demirbaş kategorisinin dönem uzunluğu 0 olamaz." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__date_first_depreciation +msgid "" +"The way to compute the date of the first depreciation.\n" +" * Based on last day of purchase period: The depreciation dates will be based on the last day of the purchase month or the purchase year (depending on the periodicity of the depreciations).\n" +" * Based on purchase date: The depreciation dates will be based on the purchase date." +msgstr "" +"İlk amortisman tarihini hesaplama şekli.\n" +" * Satın alma döneminin son günü baz alınarak: Amortisman tarihleri, satın almanın yapıldığı ay ya da yılın son günü baz alınarak ve amortisman tekrarlanması dikkate alınarak hesaplanır.\n" +" * Satın alma tarihi baz alınarak: Amortisman tarihleri satın almanın gerçekleştiği tarih dikkate alınarak hesaplanır." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__date_first_depreciation +msgid "" +"The way to compute the date of the first depreciation.\n" +" * Based on last day of purchase period: The depreciation dates will be based on the last day of the purchase month or the purchase year (depending on the periodicity of the depreciations).\n" +" * Based on purchase date: The depreciation dates will be based on the purchase date.\n" +msgstr "" +"İlk amortisman tarihini hesaplama şekli.\n" +" * Satın alma döneminin son günü baz alınarak: Amortisman tarihleri, satın almanın yapıldığı ay ya da yılın son günü baz alınarak ve amortisman tekrarlanması dikkate alınarak hesaplanır.\n" +" * Satın alma tarihi baz alınarak: Amortisman tarihleri satın almanın gerçekleştiği tarih dikkate alınarak hesaplanır." + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "" +"This depreciation is already linked to a journal entry. Please post or " +"delete it." +msgstr "" +"Bu amortisman hali hazırda bir defter kaydı ile ilişkilidir. Lütfen " +"uygulayınız ya da siliniz." + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +msgid "" +"This wizard will post installment/depreciation lines for the selected month.
\n" +" This will generate journal entries for all related installment lines on this period\n" +" of asset/revenue recognition as well." +msgstr "" +"Bu sihirbaz, seçili ay için taksit/amortisman uygulaması yapacaktır.
\n" +" Bu işlem, bu dönemdeki tüm demirbaş/gelir muhasebeleştirmesi ile ilgili taksit \n" +" satırları için defter kayıtlarını üretecektir." + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_time +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_time +msgid "Time Method" +msgstr "Zaman Metodu" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Time Method Based On" +msgstr "Zaman Metodu Bazı" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__type +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__type +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Type" +msgstr "Tip" + +#. module: om_account_asset +#. openerp-web +#: code:addons/om_account_asset/static/src/js/account_asset.js:0 +#, python-format +msgid "Unposted" +msgstr "Uygulanmadı" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__unposted_value +msgid "Unposted Amount" +msgstr "Gönderilmemiş Miktar" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_unread +msgid "Unread Messages" +msgstr "Okunmamış Mesajlar" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_unread_counter +msgid "Unread Messages Counter" +msgstr "Okunmamış Mesaj Sayacı" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_purchase_tree +msgid "Vendor" +msgstr "Tedarikçi" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_move.py:0 +#: code:addons/om_account_asset/models/account_move.py:0 +#, python-format +msgid "Vendor bill cancelled." +msgstr "Tedarikçi faturası iptal edildi." + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__website_message_ids +msgid "Website Messages" +msgstr "Websitesi Mesajları" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__website_message_ids +msgid "Website communication history" +msgstr "Websitesi iletişim geçmişi" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__state +#: model:ir.model.fields,help:om_account_asset.field_account_asset_depreciation_line__parent_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" +"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 "" +"Bir demirbaş oluşturulduğunda, 'Taslak' durumundadır.\n" +"Onaylandığında, \"kullanımda\" durumuna geçer ve amortisman kayıtlarının gönderimi mümkün hale gelir. Amortismanı tamamlandığında demirbaşı kapatabilirsiniz. Son amortisman satırı işlendiğinde, demirbaş bu duruma otomatik olarak gelir." + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__name +msgid "Year" +msgstr "Yıl" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot delete a document that contains posted entries." +msgstr "Amortisman uygulanmış kayıtları olan bir belgeyi silemezsiniz." + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot delete a document that is in %s state." +msgstr "%s durumdaki bir belgeyi silemezsiniz." + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot delete posted depreciation lines." +msgstr "Uygulanmış amortisman satırlarını silemezsiniz." + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot delete posted installment lines." +msgstr "Uygulanmış taksit satırlarını silemezsiniz." + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_move.py:0 +#, python-format +msgid "You cannot reset to draft for an entry having a posted asset" +msgstr "" +"Amortisman uygulanmış demirbaş içeren kaydı taslak durumuna çekemezsiniz." + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_asset_depreciation_confirmation_wizard +msgid "asset.depreciation.confirmation.wizard" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "e.g. Computers" +msgstr "örn. Bilgisayarlar" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "e.g. Laptop iBook" +msgstr "örn. Dizüstü Macbook Pro" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "months" +msgstr "ay" diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/i18n/uk.po b/odoo-bringout-odoomates-om_account_asset/om_account_asset/i18n/uk.po new file mode 100644 index 0000000..bede0f8 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/i18n/uk.po @@ -0,0 +1,1288 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * om_account_asset +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-07 07:07+0000\n" +"PO-Revision-Date: 2022-07-07 07:07+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: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid " (copy)" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid " (grouped)" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__entry_count +msgid "# Asset Entries" +msgstr "" + +#. module: om_account_asset +#: model:ir.actions.server,name:om_account_asset.account_asset_cron_ir_actions_server +#: model:ir.cron,cron_name:om_account_asset.account_asset_cron +#: model:ir.cron,name:om_account_asset.account_asset_cron +msgid "Account Asset: Generate asset entries" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__date +msgid "Account Date" +msgstr "Дата обліку" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__account_depreciation_id +msgid "Account used in the depreciation entries, to decrease the asset value." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__account_depreciation_expense_id +msgid "" +"Account used in the periodical entries, to record a part of the asset as " +"expense." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__account_asset_id +msgid "" +"Account used to record the purchase of the asset at its original price." +msgstr "" + +#. module: om_account_asset +#. openerp-web +#: code:addons/om_account_asset/static/src/js/account_asset.js:0 +#, python-format +msgid "Accounting entries waiting for manual verification" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__active +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__active +msgid "Active" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Additional Options" +msgstr "Додаткові параметри" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Amount" +msgstr "Сума" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__depreciation_value +msgid "Amount of Depreciation Lines" +msgstr "Сума амортизації" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__installment_value +msgid "Amount of Installment Lines" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__account_analytic_id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_analytic_id +msgid "Analytic Account" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__asset_id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__asset_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Asset" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_asset_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Asset Account" +msgstr "Рахунок активу" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_purchase_tree +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_invoice_asset_category +msgid "Asset Category" +msgstr "Категорія активу" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +msgid "Asset Durations to Modify" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_end_date +msgid "Asset End Date" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__asset_method_time +msgid "Asset Method Time" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__name +msgid "Asset Name" +msgstr "Назва активу" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_start_date +msgid "Asset Start Date" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__name +#: model:ir.model.fields,field_description:om_account_asset.field_product_product__asset_category_id +#: model:ir.model.fields,field_description:om_account_asset.field_product_template__asset_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Asset Type" +msgstr "Тип активу" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_account_asset_asset_list_normal_purchase +#: model:ir.ui.menu,name:om_account_asset.menu_action_account_asset_asset_list_normal_purchase +msgid "Asset Category" +msgstr "Типи активів" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_asset_category +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__asset_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_tree +msgid "Asset category" +msgstr "Категорія активу" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Asset created" +msgstr "" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_asset_depreciation_line +msgid "Asset depreciation line" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Asset sold or disposed. Accounting entry awaiting for validation." +msgstr "" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_asset_asset +msgid "Asset/Revenue Recognition" +msgstr "" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_account_asset_asset_form +#: model:ir.model.fields,field_description:om_account_asset.field_account_bank_statement_line__asset_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_move__asset_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_payment__asset_ids +#: model:ir.ui.menu,name:om_account_asset.menu_action_account_asset_asset_form +#: model:ir.ui.menu,name:om_account_asset.menu_action_asset_asset_report +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_purchase_tree +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Assets" +msgstr "Активи" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_asset_asset_report +#: model:ir.model,name:om_account_asset.model_asset_asset_report +#: model_terms:ir.ui.view,arch_db:om_account_asset.action_account_asset_report_graph +#: model_terms:ir.ui.view,arch_db:om_account_asset.action_account_asset_report_pivot +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Assets Analysis" +msgstr "Аналіз активів" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_bank_statement_line__asset_depreciation_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_move__asset_depreciation_ids +#: model:ir.model.fields,field_description:om_account_asset.field_account_payment__asset_depreciation_ids +msgid "Assets Depreciation Lines" +msgstr "" + +#. module: om_account_asset +#: model:ir.ui.menu,name:om_account_asset.menu_finance_config_assets +msgid "Assets and Revenues" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Assets in closed state" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Assets in draft and open states" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Assets in draft state" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Assets in running state" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__open_asset +msgid "Auto-Confirm Assets" +msgstr "Автоматичне підтвердження активів" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__date_first_depreciation__last_day_period +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__date_first_depreciation__last_day_period +msgid "Based on Last Day of Purchase Period" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +msgid "Cancel" +msgstr "Скасувати" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Category" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Category of asset" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__open_asset +msgid "" +"Check this if you want to automatically confirm the assets of this category " +"when created by invoices." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__group_entries +msgid "Check this if you want to group the generated entries by categories." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method +msgid "" +"Choose the method to use to compute the amount of depreciation lines.\n" +" * Linear: Calculated on basis of: Gross Value / Number of Depreciations\n" +" * Degressive: Calculated on basis of: Residual Value * Degressive Factor" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method_time +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method_time +msgid "" +"Choose the method to use to compute the dates and number of entries.\n" +" * Number of Entries: Fix the number of entries and the time between 2 depreciations.\n" +" * Ending Date: Choose the time between 2 depreciations and the date the depreciations won't go beyond." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_asset_depreciation_confirmation_wizard__date +msgid "" +"Choose the period for which you want to automatically post the depreciation " +"lines of running assets" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__state__close +#: model:ir.model.fields.selection,name:om_account_asset.selection__asset_asset_report__state__close +msgid "Close" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Closed" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__company_id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__company_id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__company_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Company" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method +msgid "Computation Method" +msgstr "Метод обчислення" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +msgid "Compute Asset" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Compute Depreciation" +msgstr "Обчислити амортизацію" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Confirm" +msgstr "Підтвердити" + +#. module: om_account_asset +#: code:addons/om_account_asset/wizard/asset_depreciation_confirmation_wizard.py:0 +#, python-format +msgid "Created Asset Moves" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/wizard/asset_depreciation_confirmation_wizard.py:0 +#, python-format +msgid "Created Revenue Moves" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__create_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__create_uid +msgid "Created by" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__create_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__create_date +msgid "Created on" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__depreciated_value +msgid "Cumulative Depreciation" +msgstr "Накопичена амортизація" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__currency_id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__currency_id +#, python-format +msgid "Currency" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Current" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__amount +msgid "Current Depreciation" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__date +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Date" +msgstr "Дата" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Date of asset" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Date of asset purchase" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Date of depreciation" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Deferred Revenue Account" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_product_product__deferred_revenue_category_id +#: model:ir.model.fields,field_description:om_account_asset.field_product_template__deferred_revenue_category_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Deferred Revenue Type" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Deferred Revenues" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method__degressive +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method__degressive +msgid "Degressive" +msgstr "Спосіб зменшуваного залишку" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_progress_factor +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_progress_factor +msgid "Degressive Factor" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Depreciation" +msgstr "Амортизація" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Depreciation Board" +msgstr "Дошка амортизації" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__depreciation_nbr +msgid "Depreciation Count" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__depreciation_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__depreciation_date +msgid "Depreciation Date" +msgstr "Дата амортизації" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__date_first_depreciation +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__date_first_depreciation +msgid "Depreciation Dates" +msgstr "Дати амортизації" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_depreciation_id +msgid "Depreciation Entries: Asset Account" +msgstr "Записи амортизації: рахунок активу" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__account_depreciation_expense_id +msgid "Depreciation Entries: Expense Account" +msgstr "Записи амортизації: рахунок витрат" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__move_id +msgid "Depreciation Entry" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Depreciation Information" +msgstr "Інформація про амортизацію" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__depreciation_line_ids +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Depreciation Lines" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Depreciation Method" +msgstr "Метод амортизації" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Depreciation Month" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__name +msgid "Depreciation Name" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/wizard/asset_modify.py:0 +#, python-format +msgid "Depreciation board modified" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Depreciation line posted." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_account_move__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__display_name +#: model:ir.model.fields,field_description:om_account_asset.field_product_template__display_name +msgid "Display Name" +msgstr "Відобразити назву" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Disposal Move" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Disposal Moves" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "Document closed." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__state__draft +#: model:ir.model.fields.selection,name:om_account_asset.selection__asset_asset_report__state__draft +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Draft" +msgstr "Чернетка" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_end +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method_time__end +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method_time__end +msgid "Ending Date" +msgstr "Кінцева дата" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_end +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__method_end +msgid "Ending date" +msgstr "Кінцева дата" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Extended Filters..." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__first_depreciation_manual_date +msgid "First Depreciation Date" +msgstr "Перша дата амортизації" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_channel_ids +msgid "Followers (Channels)" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.actions.act_window,help:om_account_asset.action_asset_asset_report +msgid "" +"From this report, you can have an overview on all depreciations. The\n" +" search bar can also be used to personalize your assets depreciation reporting." +msgstr "" + +#. module: om_account_asset +#: model:ir.ui.menu,name:om_account_asset.menu_asset_depreciation_confirmation_wizard +msgid "Generate Assets Entries" +msgstr "Нарахування амортизації та зносу" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +msgid "Generate Entries" +msgstr "Згенерувати записи" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__gross_value +msgid "Gross Amount" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__value +msgid "Gross Value" +msgstr "Валова вартість" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Gross value of asset" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Group By" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_search +msgid "Group By..." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__group_entries +msgid "Group Journal Entries" +msgstr "Журнал групи записів" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__id +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__id +#: model:ir.model.fields,field_description:om_account_asset.field_account_move__id +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__id +#: model:ir.model.fields,field_description:om_account_asset.field_product_template__id +msgid "ID" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_needaction +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_unread +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_has_error +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_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: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__prorata +msgid "" +"Indicates that the first depreciation entry for this asset have to be done " +"from the purchase date instead of the first of January" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__installment_nbr +msgid "Installment Count" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__invoice_id +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Invoice" +msgstr "Рахунок" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__salvage_value +msgid "It is the amount you plan to have that you cannot depreciate." +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Items" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__journal_id +msgid "Journal" +msgstr "Журнал" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +#, python-format +msgid "Journal Entries" +msgstr "Записи журнала" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_move +msgid "Journal Entry" +msgstr "Запис у журналі" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_account_move_line +msgid "Journal Item" +msgstr "Елемент журналу" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_account_move____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify____last_update +#: model:ir.model.fields,field_description:om_account_asset.field_product_template____last_update +msgid "Last Modified on" +msgstr "Останні зміни" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__write_uid +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_depreciation_confirmation_wizard__write_date +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__write_date +msgid "Last Updated on" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method__linear +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method__linear +msgid "Linear" +msgstr "Лінійний" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__move_check +msgid "Linked" +msgstr "Пов'язані" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__date_first_depreciation__manual +msgid "Manual" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__date_first_depreciation__manual +msgid "Manual (Defaulted on Purchase Date)" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_ids +msgid "Messages" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +msgid "Modify" +msgstr "" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_asset_modify +#: model:ir.model,name:om_account_asset.model_asset_modify +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +msgid "Modify Asset" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Modify Depreciation" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_move_line__asset_mrr +msgid "Monthly Recurring Revenue" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__remaining_value +msgid "Next Period Depreciation" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.actions.act_window,help:om_account_asset.action_asset_asset_report +msgid "No content" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__note +msgid "Note" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__first_depreciation_manual_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: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_number +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_number +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__method_number +msgid "Number of Depreciations" +msgstr "Номер амортизації" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__method_time__number +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__method_time__number +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Number of Entries" +msgstr "Кількість записів" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_period +msgid "Number of Months in a Period" +msgstr "Кількість місяців у періоді" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "One Entry Every" +msgstr "Один запис кожні" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__partner_id +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__partner_id +#, python-format +msgid "Partner" +msgstr "Партнер" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_period +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__method_period +msgid "Period Length" +msgstr "Тривалість періоду" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Periodicity" +msgstr "Періодичність" + +#. module: om_account_asset +#: model:ir.actions.act_window,name:om_account_asset.action_asset_depreciation_confirmation_wizard +msgid "Post Depreciation Lines" +msgstr "Нарахування амортизації та зносу" + +#. module: om_account_asset +#. openerp-web +#: code:addons/om_account_asset/static/src/js/account_asset.js:0 +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__move_posted_check +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__move_check +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +#, python-format +msgid "Posted" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__posted_value +msgid "Posted Amount" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Posted depreciation lines" +msgstr "" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_product_template +msgid "Product Template" +msgstr "Шаблон товару" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__prorata +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__prorata +msgid "Prorata Temporis" +msgstr "Відповідно до часу" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "" +"Prorata temporis can be applied only for the \"number of depreciations\" " +"time method." +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Purchase" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Purchase Month" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__type__purchase +msgid "Purchase: Asset" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_modify__name +msgid "Reason" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Recognition Account" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Recognition Income Account" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__code +msgid "Reference" +msgstr "Референс" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Residual" +msgstr "Залишок" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__value_residual +msgid "Residual Value" +msgstr "Залишкова вартість" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_asset__state__open +#: model:ir.model.fields.selection,name:om_account_asset.selection__asset_asset_report__state__open +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_asset_report_search +msgid "Running" +msgstr "Діючий" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_has_sms_error +msgid "SMS Delivery error" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields.selection,name:om_account_asset.selection__account_asset_category__type__sale +msgid "Sale: Revenue Recognition" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Sales" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__salvage_value +msgid "Salvage Value" +msgstr "Ліквідаційна вартість" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Search Asset Category" +msgstr "Пошук категорії активу" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Sell or Dispose" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__sequence +msgid "Sequence" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "Set to Draft" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method_period +msgid "State here the time between 2 depreciations, in months" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_depreciation_line__parent_state +msgid "State of Asset" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__state +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__state +msgid "Status" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method_period +msgid "The amount of time between two depreciations, in months" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/wizard/asset_modify.py:0 +#, python-format +msgid "" +"The number of depreciations must be greater than the number of posted or " +"draft entries to allow for complete depreciation of the asset." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__method_number +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__method_number +msgid "The number of depreciations needed to depreciate your asset" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_move.py:0 +#, python-format +msgid "" +"The number of depreciations or the period length of your asset category " +"cannot be 0." +msgstr "Амортизація за період, обраних ОЗ, не може дорівнювати 0." + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_category__date_first_depreciation +msgid "" +"The way to compute the date of the first depreciation.\n" +" * Based on last day of purchase period: The depreciation dates will be based on the last day of the purchase month or the purchase year (depending on the periodicity of the depreciations).\n" +" * Based on purchase date: The depreciation dates will be based on the purchase date." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__date_first_depreciation +msgid "" +"The way to compute the date of the first depreciation.\n" +" * Based on last day of purchase period: The depreciation dates will be based on the last day of the purchase month or the purchase year (depending on the periodicity of the depreciations).\n" +" * Based on purchase date: The depreciation dates will be based on the purchase date.\n" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "" +"This depreciation is already linked to a journal entry. Please post or " +"delete it." +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_asset_depreciation_confirmation_wizard +msgid "" +"This wizard will post installment/depreciation lines for the selected month.
\n" +" This will generate journal entries for all related installment lines on this period\n" +" of asset/revenue recognition as well." +msgstr "" +"Майстер нарахує знос/амортизацію на обраний місяць.\n" +"Будуть сформовані бухгалтерські проведення для усіх ОЗ введених в експлуатацію на цей період." + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__method_time +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__method_time +msgid "Time Method" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "Time Method Based On" +msgstr "Часовий метод базується на" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__type +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_category__type +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_search +msgid "Type" +msgstr "" + +#. module: om_account_asset +#. openerp-web +#: code:addons/om_account_asset/static/src/js/account_asset.js:0 +#, python-format +msgid "Unposted" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__unposted_value +msgid "Unposted Amount" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_purchase_tree +msgid "Vendor" +msgstr "Постачальник" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_move.py:0 +#, python-format +msgid "Vendor bill cancelled." +msgstr "Скасувати" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_move.py:0 +#, python-format +msgid "Vendor bill reset to draft." +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_account_asset_asset__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: om_account_asset +#: model:ir.model.fields,help:om_account_asset.field_account_asset_asset__state +#: model:ir.model.fields,help:om_account_asset.field_account_asset_depreciation_line__parent_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" +"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: om_account_asset +#: model:ir.model.fields,field_description:om_account_asset.field_asset_asset_report__name +msgid "Year" +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot delete a document that contains posted entries." +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot delete a document that is in %s state." +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot delete posted depreciation lines." +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot delete posted installment lines." +msgstr "" + +#. module: om_account_asset +#: code:addons/om_account_asset/models/account_move.py:0 +#, python-format +msgid "You cannot reset to draft for an entry having a posted asset" +msgstr "" + +#. module: om_account_asset +#: model:ir.model,name:om_account_asset.model_asset_depreciation_confirmation_wizard +msgid "asset.depreciation.confirmation.wizard" +msgstr "Підтвердити" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "e.g. Computers" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_asset_form +msgid "e.g. Laptop iBook" +msgstr "" + +#. module: om_account_asset +#: model_terms:ir.ui.view,arch_db:om_account_asset.asset_modify_form +#: model_terms:ir.ui.view,arch_db:om_account_asset.view_account_asset_category_form +msgid "months" +msgstr "місяців" diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/models/__init__.py b/odoo-bringout-odoomates-om_account_asset/om_account_asset/models/__init__.py new file mode 100644 index 0000000..e63cfa9 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/models/__init__.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import account +from . import account_asset +from . import account_move +from . import product diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/models/account.py b/odoo-bringout-odoomates-om_account_asset/om_account_asset/models/account.py new file mode 100644 index 0000000..211e35b --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/models/account.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models + + +class AccountMove(models.Model): + _inherit = 'account.move' + + asset_depreciation_ids = fields.One2many('account.asset.depreciation.line', 'move_id', + string='Assets Depreciation Lines') + + def button_cancel(self): + for move in self: + for line in move.asset_depreciation_ids: + line.move_posted_check = False + return super(AccountMove, self).button_cancel() + + def action_post(self): + for move in self: + for depreciation_line in move.asset_depreciation_ids: + depreciation_line.post_lines_and_close_asset() + return super(AccountMove, self).action_post() diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/models/account_asset.py b/odoo-bringout-odoomates-om_account_asset/om_account_asset/models/account_asset.py new file mode 100644 index 0000000..81fed4c --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/models/account_asset.py @@ -0,0 +1,714 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import calendar +from datetime import date, datetime +from dateutil.relativedelta import relativedelta + +from odoo import api, fields, models, _ +from odoo.exceptions import UserError, ValidationError +from odoo.tools import float_compare, float_is_zero + + +class AccountAssetCategory(models.Model): + _name = 'account.asset.category' + _description = 'Asset category' + _inherit = ['mail.thread', 'mail.activity.mixin', 'analytic.mixin'] + + exclude_types = ['asset_receivable', 'asset_cash', 'liability_payable', + 'liability_credit_card', 'equity', 'equity_unaffected'] + + active = fields.Boolean(default=True) + name = fields.Char(required=True, index=True, string="Asset Type") + account_analytic_id = fields.Many2one('account.analytic.account', string='Analytic Account') + # analytic_tag_ids = fields.Many2many('account.analytic.tag', string='Analytic Tag') + account_asset_id = fields.Many2one('account.account', string='Asset Account', + required=True, + domain=[('account_type', 'not in', exclude_types), ('deprecated', '=', False)], + help="Account used to record the purchase of the asset at its original price.") + account_depreciation_id = fields.Many2one('account.account', + string='Depreciation Entries: Asset Account', + required=True, domain=[('account_type', 'not in', exclude_types), ('deprecated', '=', False)], + help="Account used in the depreciation entries, to decrease the asset value.") + account_depreciation_expense_id = fields.Many2one('account.account', + string='Depreciation Entries: Expense Account', + required=True, + domain=[('account_type', 'not in', exclude_types), ('deprecated', '=', 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', required=True) + company_id = fields.Many2one('res.company', string='Company', required=True, + default=lambda self: self.env.company) + method = fields.Selection([('linear', 'Linear'), ('degressive', 'Degressive')], + string='Computation Method', required=True, default='linear', + help="Choose the method to use to compute the amount of depreciation lines.\n" + " * Linear: Calculated on basis of: Gross Value / Number of Depreciations\n" + " * Degressive: Calculated on basis of: Residual Value * Degressive Factor") + method_number = fields.Integer(string='Number of Depreciations', default=5, + help="The number of depreciations needed to depreciate your asset") + method_period = fields.Integer(string='Period Length', default=1, + help="State here the time between 2 depreciations, in months", required=True) + method_progress_factor = fields.Float('Degressive Factor', default=0.3) + method_time = fields.Selection([('number', 'Number of Entries'), ('end', 'Ending Date')], + string='Time Method', required=True, default='number', + help="Choose the method to use to compute the dates and number of entries.\n" + " * Number of Entries: Fix the number of entries and the time between 2 depreciations.\n" + " * Ending Date: Choose the time between 2 depreciations and the date the depreciations won't go beyond.") + method_end = fields.Date('Ending date') + prorata = fields.Boolean(string='Prorata Temporis', + help='Indicates that the first depreciation entry for this asset have to be done from the ' + 'purchase date instead of the first of January') + open_asset = fields.Boolean(string='Auto-Confirm Assets', + help="Check this if you want to automatically confirm the assets " + "of this category when created by invoices.") + group_entries = fields.Boolean(string='Group Journal Entries', + help="Check this if you want to group the generated entries by categories.") + type = fields.Selection([('sale', 'Sale: Revenue Recognition'), ('purchase', 'Purchase: Asset')], + required=True, index=True, default='purchase') + date_first_depreciation = fields.Selection([ + ('last_day_period', 'Based on Last Day of Purchase Period'), + ('manual', 'Manual (Defaulted on Purchase Date)')], + string='Depreciation Dates', default='manual', required=True, + help='The way to compute the date of the first depreciation.\n' + ' * Based on last day of purchase period: The depreciation dates will' + ' be based on the last day of the purchase month or the purchase' + ' year (depending on the periodicity of the depreciations).\n' + ' * Based on purchase date: The depreciation dates will be based on the purchase date.') + + @api.onchange('account_asset_id') + def onchange_account_asset(self): + if self.type == "purchase": + self.account_depreciation_id = self.account_asset_id + elif self.type == "sale": + self.account_depreciation_expense_id = self.account_asset_id + + @api.onchange('type') + def onchange_type(self): + if self.type == 'sale': + self.prorata = True + self.method_period = 1 + else: + self.method_period = 12 + + @api.onchange('method_time') + def _onchange_method_time(self): + if self.method_time != 'number': + self.prorata = False + + +class AccountAssetAsset(models.Model): + _name = 'account.asset.asset' + _description = 'Asset/Revenue Recognition' + _inherit = ['mail.thread', 'mail.activity.mixin', 'analytic.mixin'] + + entry_count = fields.Integer(compute='_entry_count', string='# Asset Entries') + name = fields.Char(string='Asset Name', required=True, + readonly=True, states={'draft': [('readonly', False)]}) + code = fields.Char(string='Reference', size=32, readonly=True, + states={'draft': [('readonly', False)]}) + value = fields.Monetary(string='Gross Value', required=True, readonly=True, + states={'draft': [('readonly', False)]}) + 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) + company_id = fields.Many2one('res.company', string='Company', required=True, + readonly=True, states={'draft': [('readonly', False)]}, + default=lambda self: self.env.company) + note = fields.Text() + category_id = fields.Many2one('account.asset.category', string='Category', + required=True, change_default=True, + readonly=True, states={'draft': [('readonly', False)]}) + date = fields.Date(string='Date', required=True, readonly=True, + states={'draft': [('readonly', False)]}, default=fields.Date.context_today) + state = fields.Selection([('draft', 'Draft'), ('open', 'Running'), ('close', 'Close')], + 'Status', required=True, 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" + "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) + partner_id = fields.Many2one('res.partner', string='Partner', + readonly=True, states={'draft': [('readonly', False)]}) + method = fields.Selection([('linear', 'Linear'), ('degressive', 'Degressive')], + string='Computation Method', required=True, readonly=True, + states={'draft': [('readonly', False)]}, default='linear', + help="Choose the method to use to compute the amount of depreciation lines.\n * Linear:" + " Calculated on basis of: Gross Value / Number of Depreciations\n" + " * Degressive: Calculated on basis of: Residual Value * Degressive Factor") + method_number = fields.Integer(string='Number of Depreciations', readonly=True, + states={'draft': [('readonly', False)]}, default=5, + help="The number of depreciations needed to depreciate your asset") + method_period = fields.Integer(string='Number of Months in a Period', required=True, + readonly=True, default=12, states={'draft': [('readonly', False)]}, + help="The amount of time between two depreciations, in months") + method_end = fields.Date(string='Ending Date', readonly=True, states={'draft': [('readonly', False)]}) + method_progress_factor = fields.Float(string='Degressive Factor', + readonly=True, default=0.3, states={'draft': [('readonly', False)]}) + value_residual = fields.Monetary(compute='_amount_residual', string='Residual Value') + method_time = fields.Selection([('number', 'Number of Entries'), ('end', 'Ending Date')], + string='Time Method', required=True, readonly=True, default='number', + states={'draft': [('readonly', False)]}, + help="Choose the method to use to compute the dates and number of entries.\n" + " * Number of Entries: Fix the number of entries and the time between 2 depreciations.\n" + " * Ending Date: Choose the time between 2 depreciations and the date the depreciations won't go beyond.") + prorata = fields.Boolean(string='Prorata Temporis', readonly=True, states={'draft': [('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') + depreciation_line_ids = fields.One2many('account.asset.depreciation.line', 'asset_id', + string='Depreciation Lines', readonly=True, + states={'draft': [('readonly', False)], 'open': [('readonly', False)]}) + salvage_value = fields.Monetary(string='Salvage Value', readonly=True, + states={'draft': [('readonly', False)]}, + help="It is the amount you plan to have that you cannot depreciate.") + invoice_id = fields.Many2one('account.move', string='Invoice', states={'draft': [('readonly', False)]}, copy=False) + type = fields.Selection(related="category_id.type", string='Type', required=True) + account_analytic_id = fields.Many2one('account.analytic.account', string='Analytic Account') + # analytic_tag_ids = fields.Many2many('account.analytic.tag', string='Analytic Tag') + date_first_depreciation = fields.Selection([ + ('last_day_period', 'Based on Last Day of Purchase Period'), + ('manual', 'Manual')], + string='Depreciation Dates', default='manual', + readonly=True, states={'draft': [('readonly', False)]}, required=True, + help='The way to compute the date of the first depreciation.\n' + ' * Based on last day of purchase period: The depreciation' + ' dates will be based on the last day of the purchase month or the ' + 'purchase year (depending on the periodicity of the depreciations).\n' + ' * Based on purchase date: The depreciation dates will be based on the purchase date.\n') + first_depreciation_manual_date = fields.Date( + string='First Depreciation Date', + readonly=True, states={'draft': [('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' + ) + + def unlink(self): + for asset in self: + if asset.state in ['open', 'close']: + raise UserError(_('You cannot delete a document that is in %s state.') % (asset.state,)) + for depreciation_line in asset.depreciation_line_ids: + if depreciation_line.move_id: + raise UserError(_('You cannot delete a document that contains posted entries.')) + return super(AccountAssetAsset, self).unlink() + + @api.model + def _cron_generate_entries(self): + self.compute_generated_entries(datetime.today()) + + @api.model + def compute_generated_entries(self, date, asset_type=None): + # Entries generated : one by grouped category and one by asset from ungrouped category + created_move_ids = [] + type_domain = [] + if asset_type: + type_domain = [('type', '=', asset_type)] + + ungrouped_assets = self.env['account.asset.asset'].search(type_domain + [('state', '=', 'open'), ('category_id.group_entries', '=', False)]) + created_move_ids += ungrouped_assets._compute_entries(date, group_entries=False) + + for grouped_category in self.env['account.asset.category'].search(type_domain + [('group_entries', '=', True)]): + assets = self.env['account.asset.asset'].search([('state', '=', 'open'), ('category_id', '=', grouped_category.id)]) + created_move_ids += assets._compute_entries(date, group_entries=True) + return created_move_ids + + def _compute_board_amount(self, sequence, residual_amount, amount_to_depr, + undone_dotation_number, posted_depreciation_line_ids, + total_days, depreciation_date): + amount = 0 + if sequence == undone_dotation_number: + amount = residual_amount + else: + if self.method == 'linear': + amount = amount_to_depr / (undone_dotation_number - len(posted_depreciation_line_ids)) + if self.prorata: + amount = amount_to_depr / self.method_number + if sequence == 1: + date = self.date + if self.method_period % 12 != 0: + month_days = calendar.monthrange(date.year, date.month)[1] + days = month_days - date.day + 1 + amount = (amount_to_depr / self.method_number) / month_days * days + else: + days = (self.company_id.compute_fiscalyear_dates(date)['date_to'] - date).days + 1 + amount = (amount_to_depr / self.method_number) / total_days * days + elif self.method == 'degressive': + amount = residual_amount * self.method_progress_factor + if self.prorata: + if sequence == 1: + date = self.date + if self.method_period % 12 != 0: + month_days = calendar.monthrange(date.year, date.month)[1] + days = month_days - date.day + 1 + amount = (residual_amount * self.method_progress_factor) / month_days * days + else: + days = (self.company_id.compute_fiscalyear_dates(date)['date_to'] - date).days + 1 + amount = (residual_amount * self.method_progress_factor) / total_days * days + return amount + + def _compute_board_undone_dotation_nb(self, depreciation_date, total_days): + undone_dotation_number = self.method_number + if self.method_time == 'end': + end_date = self.method_end + undone_dotation_number = 0 + while depreciation_date <= end_date: + depreciation_date = date(depreciation_date.year, depreciation_date.month, + depreciation_date.day) + relativedelta(months=+self.method_period) + undone_dotation_number += 1 + if self.prorata: + undone_dotation_number += 1 + return undone_dotation_number + + def compute_depreciation_board(self): + self.ensure_one() + + posted_depreciation_line_ids = self.depreciation_line_ids.filtered(lambda x: x.move_check).sorted(key=lambda l: l.depreciation_date) + unposted_depreciation_line_ids = self.depreciation_line_ids.filtered(lambda x: not x.move_check) + + # Remove old unposted depreciation lines. We cannot use unlink() with One2many field + commands = [(2, line_id.id, False) for line_id in unposted_depreciation_line_ids] + + if self.value_residual != 0.0: + amount_to_depr = residual_amount = self.value_residual + + # if we already have some previous validated entries, starting date is last entry + method period + if posted_depreciation_line_ids and posted_depreciation_line_ids[-1].depreciation_date: + last_depreciation_date = fields.Date.from_string(posted_depreciation_line_ids[-1].depreciation_date) + depreciation_date = last_depreciation_date + relativedelta(months=+self.method_period) + else: + # depreciation_date computed from the purchase date + depreciation_date = self.date + if self.date_first_depreciation == 'last_day_period': + # depreciation_date = the last day of the month + depreciation_date = depreciation_date + relativedelta(day=31) + # ... or fiscalyear depending the number of period + if self.method_period == 12: + depreciation_date = depreciation_date + relativedelta(month=int(self.company_id.fiscalyear_last_month)) + depreciation_date = depreciation_date + relativedelta(day=int(self.company_id.fiscalyear_last_day)) + if depreciation_date < self.date: + depreciation_date = depreciation_date + relativedelta(years=1) + elif self.first_depreciation_manual_date and self.first_depreciation_manual_date != self.date: + # depreciation_date set manually from the 'first_depreciation_manual_date' field + depreciation_date = self.first_depreciation_manual_date + total_days = (depreciation_date.year % 4) and 365 or 366 + month_day = depreciation_date.day + undone_dotation_number = self._compute_board_undone_dotation_nb(depreciation_date, total_days) + + for x in range(len(posted_depreciation_line_ids), undone_dotation_number): + sequence = x + 1 + amount = self._compute_board_amount(sequence, residual_amount, amount_to_depr, + undone_dotation_number, posted_depreciation_line_ids, + total_days, depreciation_date) + amount = self.currency_id.round(amount) + if float_is_zero(amount, precision_rounding=self.currency_id.rounding): + continue + residual_amount -= amount + vals = { + 'amount': amount, + 'asset_id': self.id, + 'sequence': sequence, + 'name': (self.code or '') + '/' + str(sequence), + 'remaining_value': residual_amount, + 'depreciated_value': self.value - (self.salvage_value + residual_amount), + 'depreciation_date': depreciation_date, + } + commands.append((0, False, vals)) + + depreciation_date = depreciation_date + relativedelta(months=+self.method_period) + + if month_day > 28 and self.date_first_depreciation == 'manual': + max_day_in_month = calendar.monthrange(depreciation_date.year, depreciation_date.month)[1] + depreciation_date = depreciation_date.replace(day=min(max_day_in_month, month_day)) + + # datetime doesn't take into account that the number of days is not the same for each month + if not self.prorata and self.method_period % 12 != 0 and self.date_first_depreciation == 'last_day_period': + max_day_in_month = calendar.monthrange(depreciation_date.year, depreciation_date.month)[1] + depreciation_date = depreciation_date.replace(day=max_day_in_month) + + self.write({'depreciation_line_ids': commands}) + + return True + + def validate(self): + self.write({'state': 'open'}) + fields = [ + 'method', + 'method_number', + 'method_period', + 'method_end', + 'method_progress_factor', + 'method_time', + 'salvage_value', + 'invoice_id', + ] + ref_tracked_fields = self.env['account.asset.asset'].fields_get(fields) + for asset in self: + tracked_fields = ref_tracked_fields.copy() + if asset.method == 'linear': + del(tracked_fields['method_progress_factor']) + if asset.method_time != 'end': + del(tracked_fields['method_end']) + else: + del(tracked_fields['method_number']) + dummy, tracking_value_ids = asset._mail_track(tracked_fields, dict.fromkeys(fields)) + asset.message_post(subject=_('Asset created'), tracking_value_ids=tracking_value_ids) + + 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_type': 'form', + 'view_mode': view_mode, + 'res_model': 'account.move', + 'type': 'ir.actions.act_window', + 'target': 'current', + 'res_id': move_ids[0], + } + + def _get_disposal_moves(self): + move_ids = [] + for asset in self: + unposted_depreciation_line_ids = asset.depreciation_line_ids.filtered(lambda x: not x.move_check) + if unposted_depreciation_line_ids: + old_values = { + 'method_end': asset.method_end, + 'method_number': asset.method_number, + } + + # Remove all unposted depr. lines + commands = [(2, line_id.id, False) for line_id in unposted_depreciation_line_ids] + + # Create a new depr. line with the residual amount and post it + sequence = len(asset.depreciation_line_ids) - len(unposted_depreciation_line_ids) + 1 + today = fields.Datetime.today() + vals = { + 'amount': asset.value_residual, + 'asset_id': asset.id, + 'sequence': sequence, + 'name': (asset.code or '') + '/' + str(sequence), + 'remaining_value': 0, + 'depreciated_value': asset.value - asset.salvage_value, # the asset is completely depreciated + 'depreciation_date': today, + } + commands.append((0, False, vals)) + asset.write({'depreciation_line_ids': commands, 'method_end': today, 'method_number': sequence}) + tracked_fields = self.env['account.asset.asset'].fields_get(['method_number', 'method_end']) + changes, tracking_value_ids = asset._mail_track(tracked_fields, old_values) + if changes: + asset.message_post(subject=_('Asset sold or disposed. Accounting entry awaiting for validation.'), tracking_value_ids=tracking_value_ids) + move_ids += asset.depreciation_line_ids[-1].create_move(post_move=False) + + return move_ids + + def set_to_close(self): + move_ids = self._get_disposal_moves() + if move_ids: + return self._return_disposal_view(move_ids) + # Fallback, as if we just clicked on the smartbutton + return self.open_entries() + + def set_to_draft(self): + self.write({'state': 'draft'}) + + @api.depends('value', 'salvage_value', 'depreciation_line_ids.move_check', 'depreciation_line_ids.amount') + def _amount_residual(self): + for rec in self: + total_amount = 0.0 + for line in rec.depreciation_line_ids: + if line.move_check: + total_amount += line.amount + rec.value_residual = rec.value - total_amount - rec.salvage_value + + @api.onchange('company_id') + def onchange_company_id(self): + self.currency_id = self.company_id.currency_id.id + + @api.onchange('date_first_depreciation') + def onchange_date_first_depreciation(self): + for record in self: + if record.date_first_depreciation == 'manual': + record.first_depreciation_manual_date = record.date + + @api.depends('depreciation_line_ids.move_id') + def _entry_count(self): + for asset in self: + res = self.env['account.asset.depreciation.line'].search_count([('asset_id', '=', asset.id), ('move_id', '!=', False)]) + asset.entry_count = res or 0 + + @api.constrains('prorata', 'method_time') + def _check_prorata(self): + if self.prorata and self.method_time != 'number': + raise ValidationError(_('Prorata temporis can be applied only for the "number of depreciations" time method.')) + + @api.onchange('category_id') + def onchange_category_id(self): + vals = self.onchange_category_id_values(self.category_id.id) + # We cannot use 'write' on an object that doesn't exist yet + if vals: + for k, v in vals['value'].items(): + setattr(self, k, v) + + def onchange_category_id_values(self, category_id): + if category_id: + category = self.env['account.asset.category'].browse(category_id) + return { + 'value': { + 'method': category.method, + 'method_number': category.method_number, + 'method_time': category.method_time, + 'method_period': category.method_period, + 'method_progress_factor': category.method_progress_factor, + 'method_end': category.method_end, + 'prorata': category.prorata, + 'date_first_depreciation': category.date_first_depreciation, + 'account_analytic_id': category.account_analytic_id.id, + 'analytic_distribution': category.analytic_distribution, + # 'analytic_tag_ids': [(6, 0, category.analytic_tag_ids.ids)], + } + } + + @api.onchange('method_time') + def onchange_method_time(self): + if self.method_time != 'number': + self.prorata = False + + def copy_data(self, default=None): + if default is None: + default = {} + default['name'] = self.name + _(' (copy)') + return super(AccountAssetAsset, self).copy_data(default) + + def _compute_entries(self, date, group_entries=False): + depreciation_ids = self.env['account.asset.depreciation.line'].search([ + ('asset_id', 'in', self.ids), ('depreciation_date', '<=', date), + ('move_check', '=', False)]) + if group_entries: + return depreciation_ids.create_grouped_move() + return depreciation_ids.create_move() + + @api.model_create_multi + def create(self, vals_list): + assets = super(AccountAssetAsset, self.with_context(mail_create_nolog=True)).create(vals_list) + for asset in assets: + asset.sudo().compute_depreciation_board() + return assets + + def write(self, vals): + res = super(AccountAssetAsset, self).write(vals) + if 'depreciation_line_ids' not in vals and 'state' not in vals: + for rec in self: + rec.compute_depreciation_board() + return res + + def open_entries(self): + move_ids = [] + for asset in self: + for depreciation_line in asset.depreciation_line_ids: + if depreciation_line.move_id: + move_ids.append(depreciation_line.move_id.id) + return { + 'name': _('Journal Entries'), + 'view_type': 'form', + 'view_mode': 'tree,form', + 'res_model': 'account.move', + 'view_id': False, + 'type': 'ir.actions.act_window', + 'domain': [('id', 'in', move_ids)], + } + + +class AccountAssetDepreciationLine(models.Model): + _name = 'account.asset.depreciation.line' + _description = 'Asset depreciation line' + + name = fields.Char(string='Depreciation Name', required=True, index=True) + sequence = fields.Integer(required=True) + asset_id = fields.Many2one('account.asset.asset', string='Asset', + required=True, ondelete='cascade') + parent_state = fields.Selection(related='asset_id.state', + string='State of Asset') + amount = fields.Monetary(string='Current Depreciation', + required=True) + remaining_value = fields.Monetary(string='Next Period Depreciation', + required=True) + depreciated_value = fields.Monetary(string='Cumulative Depreciation', + required=True) + depreciation_date = fields.Date('Depreciation Date', index=True) + move_id = fields.Many2one('account.move', string='Depreciation Entry') + move_check = fields.Boolean(compute='_get_move_check', string='Linked', + store=True) + move_posted_check = fields.Boolean(compute='_get_move_posted_check', + string='Posted', store=True) + currency_id = fields.Many2one('res.currency', string='Currency', + related='asset_id.currency_id', + readonly=True) + + @api.depends('move_id') + def _get_move_check(self): + for line in self: + line.move_check = bool(line.move_id) + + @api.depends('move_id.state') + def _get_move_posted_check(self): + for line in self: + line.move_posted_check = True if line.move_id and line.move_id.state == 'posted' else False + + def create_move(self, post_move=True): + created_moves = self.env['account.move'] + for line in self: + if line.move_id: + raise UserError(_('This depreciation is already linked to a journal entry. Please post or delete it.')) + move_vals = self._prepare_move(line) + move = self.env['account.move'].create(move_vals) + line.write({'move_id': move.id, 'move_check': True}) + created_moves |= move + + if post_move and created_moves: + created_moves.filtered(lambda m: any(m.asset_depreciation_ids.mapped('asset_id.category_id.open_asset'))).action_post() + return [x.id for x in created_moves] + + def _prepare_move(self, line): + category_id = line.asset_id.category_id + account_analytic_id = line.asset_id.account_analytic_id + # analytic_tag_ids = line.asset_id.analytic_tag_ids + analytic_distribution = line.asset_id.analytic_distribution + depreciation_date = self.env.context.get('depreciation_date') or line.depreciation_date or fields.Date.context_today(self) + company_currency = line.asset_id.company_id.currency_id + current_currency = line.asset_id.currency_id + prec = company_currency.decimal_places + amount = current_currency._convert( + line.amount, company_currency, line.asset_id.company_id, depreciation_date) + asset_name = line.asset_id.name + ' (%s/%s)' % (line.sequence, len(line.asset_id.depreciation_line_ids)) + move_line_1 = { + 'name': asset_name, + 'account_id': category_id.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, + 'partner_id': line.asset_id.partner_id.id, + # 'analytic_account_id': account_analytic_id.id if category_id.type == 'sale' else False, + # 'analytic_tag_ids': [(6, 0, analytic_tag_ids.ids)] if category_id.type == 'sale' else False, + 'analytic_distribution': analytic_distribution, + 'currency_id': company_currency != current_currency and current_currency.id or company_currency.id, + 'amount_currency': - 1.0 * line.amount + } + move_line_2 = { + 'name': asset_name, + 'account_id': category_id.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, + 'partner_id': line.asset_id.partner_id.id, + # 'analytic_account_id': account_analytic_id.id if category_id.type == 'purchase' else False, + # 'analytic_tag_ids': [(6, 0, analytic_tag_ids.ids)] if category_id.type == 'purchase' else False, + 'analytic_distribution': analytic_distribution, + 'currency_id': company_currency != current_currency and current_currency.id or company_currency.id, + 'amount_currency': line.amount, + } + move_vals = { + 'ref': line.asset_id.code, + 'date': depreciation_date or False, + 'journal_id': category_id.journal_id.id, + 'line_ids': [(0, 0, move_line_1), (0, 0, move_line_2)], + } + return move_vals + + def _prepare_move_grouped(self): + asset_id = self[0].asset_id + category_id = asset_id.category_id # we can suppose that all lines have the same category + account_analytic_id = asset_id.account_analytic_id + # analytic_tag_ids = asset_id.analytic_tag_ids + analytic_distribution = asset_id.analytic_distribution + + depreciation_date = self.env.context.get('depreciation_date') or fields.Date.context_today(self) + amount = 0.0 + for line in self: + # Sum amount of all depreciation lines + company_currency = line.asset_id.company_id.currency_id + current_currency = line.asset_id.currency_id + company = line.asset_id.company_id + amount += current_currency._convert(line.amount, company_currency, company, fields.Date.today()) + + name = category_id.name + _(' (grouped)') + move_line_1 = { + 'name': name, + 'account_id': category_id.account_depreciation_id.id, + 'debit': 0.0, + 'credit': amount, + 'journal_id': category_id.journal_id.id, + 'analytic_account_id': account_analytic_id.id if category_id.type == 'sale' else False, + 'analytic_distribution': analytic_distribution, + # 'analytic_tag_ids': [(6, 0, analytic_tag_ids.ids)] if category_id.type == 'sale' else False, + } + move_line_2 = { + 'name': name, + 'account_id': category_id.account_depreciation_expense_id.id, + 'credit': 0.0, + 'debit': amount, + 'journal_id': category_id.journal_id.id, + 'analytic_account_id': account_analytic_id.id if category_id.type == 'purchase' else False, + 'analytic_distribution': analytic_distribution, + # 'analytic_tag_ids': [(6, 0, analytic_tag_ids.ids)] if category_id.type == 'purchase' else False, + } + move_vals = { + 'ref': category_id.name, + 'date': depreciation_date or False, + 'journal_id': category_id.journal_id.id, + 'line_ids': [(0, 0, move_line_1), (0, 0, move_line_2)], + } + + return move_vals + + def create_grouped_move(self, post_move=True): + if not self.exists(): + return [] + + created_moves = self.env['account.move'] + move = self.env['account.move'].create(self._prepare_move_grouped()) + self.write({'move_id': move.id, 'move_check': True}) + created_moves |= move + + if post_move and created_moves: + created_moves.action_post() + return [x.id for x in created_moves] + + def post_lines_and_close_asset(self): + # we re-evaluate the assets to determine whether we can close them + for line in self: + line.log_message_when_posted() + asset = line.asset_id + if asset.currency_id.is_zero(asset.value_residual): + asset.message_post(body=_("Document closed.")) + asset.write({'state': 'close'}) + + def log_message_when_posted(self): + def _format_message(message_description, tracked_values): + message = '' + if message_description: + message = '%s' % message_description + for name, values in tracked_values.items(): + message += '
    • %s: ' % name + message += '%s
' % values + return message + + for line in self: + if line.move_id and line.move_id.state == 'draft': + partner_name = line.asset_id.partner_id.name + currency_name = line.asset_id.currency_id.name + msg_values = {_('Currency'): currency_name, _('Amount'): line.amount} + if partner_name: + msg_values[_('Partner')] = partner_name + msg = _format_message(_('Depreciation line posted.'), msg_values) + line.asset_id.message_post(body=msg) + + def unlink(self): + for record in self: + if record.move_check: + if record.asset_id.category_id.type == 'purchase': + msg = _("You cannot delete posted depreciation lines.") + else: + msg = _("You cannot delete posted installment lines.") + raise UserError(msg) + return super(AccountAssetDepreciationLine, self).unlink() \ No newline at end of file diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/models/account_move.py b/odoo-bringout-odoomates-om_account_asset/om_account_asset/models/account_move.py new file mode 100644 index 0000000..1c1235c --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/models/account_move.py @@ -0,0 +1,152 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from dateutil.relativedelta import relativedelta +from odoo import api, fields, models, _ +from odoo.exceptions import UserError, ValidationError + + +class AccountMove(models.Model): + _inherit = 'account.move' + + asset_ids = fields.One2many('account.asset.asset', 'invoice_id', + string="Assets") + + def button_draft(self): + res = super(AccountMove, self).button_draft() + for move in self: + if any(asset_id.state != 'draft' for asset_id in move.asset_ids): + raise ValidationError(_( + 'You cannot reset to draft for an entry having a posted asset')) + if move.asset_ids: + move.asset_ids.sudo().write({'active': False}) + for asset in move.asset_ids: + asset.sudo().message_post(body=_("Vendor bill cancelled.")) + return res + + @api.model + def _refund_cleanup_lines(self, lines): + result = super(AccountMove, self)._refund_cleanup_lines(lines) + for i, line in enumerate(lines): + for name, field in line._fields.items(): + if name == 'asset_category_id': + result[i][2][name] = False + break + return result + + def action_cancel(self): + res = super(AccountMove, self).action_cancel() + assets = self.env['account.asset.asset'].sudo().search( + [('invoice_id', 'in', self.ids)]) + if assets: + assets.sudo().write({'active': False}) + for asset in assets: + asset.sudo().message_post(body=_("Vendor bill cancelled.")) + return res + + def action_post(self): + result = super(AccountMove, self).action_post() + for inv in self: + context = dict(self.env.context) + context.pop('default_type', None) + for mv_line in inv.invoice_line_ids: + mv_line.with_context(context).asset_create() + return result + + +class AccountMoveLine(models.Model): + _inherit = 'account.move.line' + + asset_category_id = fields.Many2one('account.asset.category', string='Asset Category') + asset_start_date = fields.Date(string='Asset Start Date', compute='_get_asset_date', readonly=True, store=True) + asset_end_date = fields.Date(string='Asset End Date', compute='_get_asset_date', readonly=True, store=True) + asset_mrr = fields.Float(string='Monthly Recurring Revenue', compute='_get_asset_date', readonly=True, + store=True) + + @api.model + def default_get(self, fields): + res = super(AccountMoveLine, self).default_get(fields) + if self.env.context.get('create_bill') and not self.asset_category_id: + if self.product_id and self.move_id.move_type == 'out_invoice' and \ + self.product_id.product_tmpl_id.deferred_revenue_category_id: + self.asset_category_id = self.product_id.product_tmpl_id.deferred_revenue_category_id.id + elif self.product_id and self.product_id.product_tmpl_id.asset_category_id and \ + self.move_id.move_type == 'in_invoice': + self.asset_category_id = self.product_id.product_tmpl_id.asset_category_id.id + self.onchange_asset_category_id() + return res + + @api.depends('asset_category_id', 'move_id.invoice_date') + def _get_asset_date(self): + for rec in self: + rec.asset_mrr = 0 + rec.asset_start_date = False + rec.asset_end_date = False + cat = rec.asset_category_id + if cat: + if cat.method_number == 0 or cat.method_period == 0: + raise UserError(_('The number of depreciations or the period length of ' + 'your asset category cannot be 0.')) + months = cat.method_number * cat.method_period + if rec.move_id.move_type in ['out_invoice', 'out_refund']: + price_subtotal = self.currency_id._convert( + self.price_subtotal, + self.company_currency_id, + self.company_id, + self.move_id.invoice_date or fields.Date.context_today( + self)) + + rec.asset_mrr = price_subtotal / months + if rec.move_id.invoice_date: + start_date = rec.move_id.invoice_date.replace(day=1) + end_date = (start_date + relativedelta(months=months, days=-1)) + rec.asset_start_date = start_date + rec.asset_end_date = end_date + + def asset_create(self): + if self.asset_category_id: + price_subtotal = self.currency_id._convert( + self.price_subtotal, + self.company_currency_id, + self.company_id, + self.move_id.invoice_date or fields.Date.context_today( + self)) + vals = { + 'name': self.name, + 'code': self.name or False, + 'category_id': self.asset_category_id.id, + 'value': price_subtotal, + 'partner_id': self.move_id.partner_id.id, + 'company_id': self.move_id.company_id.id, + 'currency_id': self.move_id.company_currency_id.id, + 'date': self.move_id.invoice_date or self.move_id.date, + 'invoice_id': self.move_id.id, + } + changed_vals = self.env['account.asset.asset'].onchange_category_id_values(vals['category_id']) + vals.update(changed_vals['value']) + asset = self.env['account.asset.asset'].create(vals) + if self.asset_category_id.open_asset: + if asset.date_first_depreciation == 'manual': + asset.first_depreciation_manual_date = asset.date + asset.validate() + return True + + @api.onchange('asset_category_id', 'product_uom_id') + def onchange_asset_category_id(self): + if self.move_id.move_type == 'out_invoice' and self.asset_category_id: + self.account_id = self.asset_category_id.account_asset_id.id + elif self.move_id.move_type == 'in_invoice' and self.asset_category_id: + self.account_id = self.asset_category_id.account_asset_id.id + + @api.onchange('product_id') + def _inverse_product_id(self): + res = super(AccountMoveLine, self)._inverse_product_id() + for rec in self: + if rec.product_id: + if rec.move_id.move_type == 'out_invoice': + rec.asset_category_id = rec.product_id.product_tmpl_id.deferred_revenue_category_id.id + elif rec.move_id.move_type == 'in_invoice': + rec.asset_category_id = rec.product_id.product_tmpl_id.asset_category_id.id + + def get_invoice_line_account(self, type, product, fpos, company): + return product.asset_category_id.account_asset_id or super(AccountMoveLine, self).get_invoice_line_account(type, product, fpos, company) diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/models/product.py b/odoo-bringout-odoomates-om_account_asset/om_account_asset/models/product.py new file mode 100644 index 0000000..4583f22 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/models/product.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models + + +class ProductTemplate(models.Model): + _inherit = 'product.template' + + asset_category_id = fields.Many2one('account.asset.category', string='Asset Type', + company_dependent=True, ondelete="restrict") + deferred_revenue_category_id = fields.Many2one('account.asset.category', string='Deferred Revenue Type', + company_dependent=True, ondelete="restrict") + + def _get_asset_accounts(self): + res = super(ProductTemplate, self)._get_asset_accounts() + if self.asset_category_id: + res['stock_input'] = self.property_account_expense_id + if self.deferred_revenue_category_id: + res['stock_output'] = self.property_account_income_id + return res diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/report/__init__.py b/odoo-bringout-odoomates-om_account_asset/om_account_asset/report/__init__.py new file mode 100644 index 0000000..092b527 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/report/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import account_asset_report diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/report/account_asset_report.py b/odoo-bringout-odoomates-om_account_asset/om_account_asset/report/account_asset_report.py new file mode 100644 index 0000000..7f5d9d3 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/report/account_asset_report.py @@ -0,0 +1,68 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models, tools + + +class AssetAssetReport(models.Model): + _name = "asset.asset.report" + _description = "Assets Analysis" + _auto = False + + name = fields.Char(string='Year', required=False, readonly=True) + date = fields.Date(readonly=True) + depreciation_date = fields.Date(string='Depreciation Date', readonly=True) + asset_id = fields.Many2one('account.asset.asset', string='Asset', readonly=True) + asset_category_id = fields.Many2one('account.asset.category', string='Asset category', readonly=True) + partner_id = fields.Many2one('res.partner', string='Partner', readonly=True) + state = fields.Selection([('draft', 'Draft'), ('open', 'Running'), ('close', 'Close')], string='Status', readonly=True) + depreciation_value = fields.Float(string='Amount of Depreciation Lines', readonly=True) + installment_value = fields.Float(string='Amount of Installment Lines', readonly=True) + move_check = fields.Boolean(string='Posted', readonly=True) + installment_nbr = fields.Integer(string='Installment Count', readonly=True) + depreciation_nbr = fields.Integer(string='Depreciation Count', readonly=True) + gross_value = fields.Float(string='Gross Amount', readonly=True) + posted_value = fields.Float(string='Posted Amount', readonly=True) + unposted_value = fields.Float(string='Unposted Amount', readonly=True) + company_id = fields.Many2one('res.company', string='Company', readonly=True) + + def init(self): + tools.drop_view_if_exists(self._cr, 'asset_asset_report') + self._cr.execute(""" + create or replace view asset_asset_report as ( + select + min(dl.id) as id, + dl.name as name, + dl.depreciation_date as depreciation_date, + a.date as date, + (CASE WHEN dlmin.id = min(dl.id) + THEN a.value + ELSE 0 + END) as gross_value, + dl.amount as depreciation_value, + dl.amount as installment_value, + (CASE WHEN dl.move_check + THEN dl.amount + ELSE 0 + END) as posted_value, + (CASE WHEN NOT dl.move_check + THEN dl.amount + ELSE 0 + END) as unposted_value, + dl.asset_id as asset_id, + dl.move_check as move_check, + a.category_id as asset_category_id, + a.partner_id as partner_id, + a.state as state, + count(dl.*) as installment_nbr, + count(dl.*) as depreciation_nbr, + a.company_id as company_id + from account_asset_depreciation_line dl + left join account_asset_asset a on (dl.asset_id=a.id) + left join (select min(d.id) as id,ac.id as ac_id from account_asset_depreciation_line as d inner join account_asset_asset as ac ON (ac.id=d.asset_id) group by ac_id) as dlmin on dlmin.ac_id=a.id + where a.active is true + group by + dl.amount,dl.asset_id,dl.depreciation_date,dl.name, + a.date, dl.move_check, a.state, a.category_id, a.partner_id, a.company_id, + a.value, a.id, a.salvage_value, dlmin.id + )""") diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/report/account_asset_report_views.xml b/odoo-bringout-odoomates-om_account_asset/om_account_asset/report/account_asset_report_views.xml new file mode 100644 index 0000000..3cfbf00 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/report/account_asset_report_views.xml @@ -0,0 +1,87 @@ + + + + + asset.asset.report.pivot + asset.asset.report + + + + + + + + + + + asset.asset.report.graph + asset.asset.report + + + + + + + + + + + asset.asset.report.search + asset.asset.report + + + + + + + + + + + + + + + + + + + + + + + + + + + + Assets Analysis + asset.asset.report + graph,pivot + + [('asset_category_id.type', '=', 'purchase')] + {} + +

+ No content +

+ From this report, you can have an overview on all depreciations. The + search bar can also be used to personalize your assets depreciation reporting. +

+
+
+ + + +
diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/security/account_asset_security.xml b/odoo-bringout-odoomates-om_account_asset/om_account_asset/security/account_asset_security.xml new file mode 100644 index 0000000..4494614 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/security/account_asset_security.xml @@ -0,0 +1,21 @@ + + + + + + + Account Asset Category multi-company + + + ['|',('company_id','=',False),('company_id', 'in', company_ids)] + + + + Account Asset multi-company + + + ['|',('company_id','=',False),('company_id', 'in', company_ids)] + + + + diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/security/ir.model.access.csv b/odoo-bringout-odoomates-om_account_asset/om_account_asset/security/ir.model.access.csv new file mode 100644 index 0000000..f6ceaf8 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/security/ir.model.access.csv @@ -0,0 +1,14 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_account_asset_category,account.asset.category,model_account_asset_category,account.group_account_user,1,0,0,0 +access_asset_depreciation_confirmation_wizard,access_asset_depreciation_confirmation_wizard,model_asset_depreciation_confirmation_wizard,,1,1,1,0 +access_asset_modify,access_asset_modify,model_asset_modify,,1,1,1,0 +access_account_asset_asset,account.asset.asset,model_account_asset_asset,account.group_account_user,1,0,0,0 +access_account_asset_category_manager,account.asset.category,model_account_asset_category,account.group_account_manager,1,1,1,1 +access_account_asset_asset_manager,account.asset.asset,model_account_asset_asset,account.group_account_manager,1,1,1,1 +access_account_asset_depreciation_line,account.asset.depreciation.line,model_account_asset_depreciation_line,account.group_account_user,1,0,0,0 +access_account_asset_depreciation_line_manager,account.asset.depreciation.line,model_account_asset_depreciation_line,account.group_account_manager,1,1,1,1 +access_asset_asset_report,asset.asset.report,model_asset_asset_report,account.group_account_user,1,0,0,0 +access_asset_asset_report_manager,asset.asset.report,model_asset_asset_report,account.group_account_manager,1,1,1,1 +access_account_asset_category_invoicing_payment,account.asset.category,model_account_asset_category,account.group_account_invoice,1,0,0,0 +access_account_asset_asset_invoicing_payment,account.asset.asset,model_account_asset_asset,account.group_account_invoice,1,0,1,0 +access_account_asset_depreciation_line_invoicing_payment,account.asset.depreciation.line,model_account_asset_depreciation_line,account.group_account_invoice,1,0,1,0 diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/description/asset_types.png b/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/description/asset_types.png new file mode 100644 index 0000000..cb491b3 Binary files /dev/null and b/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/description/asset_types.png differ diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/description/assets.gif b/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/description/assets.gif new file mode 100644 index 0000000..abfb1ae Binary files /dev/null and b/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/description/assets.gif differ diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/description/assets.png b/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/description/assets.png new file mode 100644 index 0000000..da7605a Binary files /dev/null and b/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/description/assets.png differ diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/description/icon.png b/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/description/icon.png new file mode 100644 index 0000000..899c853 Binary files /dev/null and b/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/description/icon.png differ diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/description/icon.svg b/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/description/icon.svg new file mode 100644 index 0000000..7d215c3 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/description/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/description/index.html b/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/description/index.html new file mode 100644 index 0000000..640e96e --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/description/index.html @@ -0,0 +1,84 @@ +
+
+

Odoo 16 Asset Management

+
+
+ +
+
+
+

+ Manage assets owned by a company or a person. +


+

+ Keeps track of depreciation's, and creates corresponding journal entries +


+ +
+
+
+
+ +
+ +
+ +
+
+

Asset Category

+
+ +
+
+
+ +
+
+

Assets

+
+ +
+
+
+ + + +
+
+
+
+
+ +
+

If you need any help or want more features, just contact us:


+

Email: odoomates@gmail.com

+
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/description/odoo_mates.png b/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/description/odoo_mates.png new file mode 100644 index 0000000..8408fa3 Binary files /dev/null and b/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/description/odoo_mates.png differ diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/src/js/account_asset.js b/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/src/js/account_asset.js new file mode 100644 index 0000000..99de318 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/static/src/js/account_asset.js @@ -0,0 +1,87 @@ +odoo.define('om_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 AccountAssetWidget = AbstractField.extend({ + events: _.extend({}, AbstractField.prototype.events, { + 'click': '_onClick', + }), + description: "", + + //-------------------------------------------------------------------------- + // Public + //-------------------------------------------------------------------------- + + /** + * @override + */ + isSet: function () { + return true; // it should always be displayed, whatever its value + }, + + //-------------------------------------------------------------------------- + // Private + //-------------------------------------------------------------------------- + + /** + * @override + * @private + */ + _render: function () { + var className = ''; + var disabled = true; + var title; + if (this.recordData.move_posted_check) { + className = 'o_is_posted'; + title = _t('Posted'); + } else if (this.recordData.move_check) { + className = 'o_unposted'; + title = _t('Accounting entries waiting for manual verification'); + } else { + disabled = false; + title = _t('Unposted'); + } + var $button = $(' + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + + + account.asset.asset.kanban + account.asset.asset + + + + + + + + +
+
+
+ + + + + +
+
+ + + +
+
+
+
+ + + +
+
+ + + +
+
+
+
+
+
+
+
+ + + account.asset.asset.purchase.tree + account.asset.asset + + + + + + + + + + + + + + + + + account.asset.asset.search + account.asset.asset + + + + + + + + + + + + + + + + + + Assets + account.asset.asset + tree,kanban,form + + [('category_id.type', '=', 'purchase')] + + + + + + diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/views/account_move_views.xml b/odoo-bringout-odoomates-om_account_asset/om_account_asset/views/account_move_views.xml new file mode 100644 index 0000000..c1b959e --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/views/account_move_views.xml @@ -0,0 +1,20 @@ + + + + + account.move.supplier.form + account.move + + + + + + + + + + + + diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/views/asset_category_views.xml b/odoo-bringout-odoomates-om_account_asset/om_account_asset/views/asset_category_views.xml new file mode 100644 index 0000000..036dc0a --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/views/asset_category_views.xml @@ -0,0 +1,175 @@ + + + + + account.asset.category.form + account.asset.category + +
+ +
+
+ + + +
+
+ +
+
+ +
+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + account.asset.category.kanban + account.asset.category + + + + + + + +
+
+
+ + + + + +
+
+ + + + + +
+
+
+ +
+
+
+
+
+
+
+ + + account.asset.category.tree + account.asset.category + + + + + + + + + + + + account.asset.category.search + account.asset.category + + + + + + + + + + + + + + + Asset Category + account.asset.category + [('type', '=', 'purchase')] + tree,kanban,form + {'default_type': 'purchase'} + + + + +
diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/views/product_views.xml b/odoo-bringout-odoomates-om_account_asset/om_account_asset/views/product_views.xml new file mode 100644 index 0000000..8eea95b --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/views/product_views.xml @@ -0,0 +1,18 @@ + + + + + Product Template (form) + product.template + + + + + + + + + \ No newline at end of file diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/wizard/__init__.py b/odoo-bringout-odoomates-om_account_asset/om_account_asset/wizard/__init__.py new file mode 100644 index 0000000..0cd5349 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/wizard/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import asset_depreciation_confirmation_wizard +from . import asset_modify diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/wizard/asset_depreciation_confirmation_wizard.py b/odoo-bringout-odoomates-om_account_asset/om_account_asset/wizard/asset_depreciation_confirmation_wizard.py new file mode 100644 index 0000000..581faaf --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/wizard/asset_depreciation_confirmation_wizard.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models, _ + + +class AssetDepreciationConfirmationWizard(models.TransientModel): + _name = "asset.depreciation.confirmation.wizard" + _description = "asset.depreciation.confirmation.wizard" + + date = fields.Date('Account Date', required=True, + help="Choose the period for which you want to automatically post the depreciation " + "lines of running assets", default=fields.Date.context_today) + + def asset_compute(self): + self.ensure_one() + context = self._context + created_move_ids = self.env['account.asset.asset'].compute_generated_entries(self.date, asset_type=context.get('asset_type')) + + return { + 'name': _('Created Asset Moves') if context.get('asset_type') == 'purchase' else _('Created Revenue Moves'), + 'view_type': 'form', + 'view_mode': 'tree,form', + 'res_model': 'account.move', + 'view_id': False, + 'domain': "[('id','in',[" + ','.join(str(id) for id in created_move_ids) + "])]", + 'type': 'ir.actions.act_window', + } diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/wizard/asset_depreciation_confirmation_wizard_views.xml b/odoo-bringout-odoomates-om_account_asset/om_account_asset/wizard/asset_depreciation_confirmation_wizard_views.xml new file mode 100644 index 0000000..e24dcf6 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/wizard/asset_depreciation_confirmation_wizard_views.xml @@ -0,0 +1,43 @@ + + + + + asset.depreciation.confirmation.wizard + asset.depreciation.confirmation.wizard + +
+
+

+ This wizard will post installment/depreciation lines for the selected month.
+ This will generate journal entries for all related installment lines on this period + of asset/revenue recognition as well. +

+
+ + + +
+
+
+
+
+ + + Post Depreciation Lines + asset.depreciation.confirmation.wizard + tree,form + + new + {'asset_type': 'purchase'} + + + + +
diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/wizard/asset_modify.py b/odoo-bringout-odoomates-om_account_asset/om_account_asset/wizard/asset_modify.py new file mode 100644 index 0000000..7da995d --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/wizard/asset_modify.py @@ -0,0 +1,66 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +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', required=True) + method_number = fields.Integer(string='Number of Depreciations', required=True) + method_period = fields.Integer(string='Period Length') + method_end = fields.Date(string='Ending date') + asset_method_time = fields.Char(compute='_get_asset_method_time', string='Asset Method Time', readonly=True) + + def _get_asset_method_time(self): + if self.env.context.get('active_id'): + asset = self.env['account.asset.asset'].browse(self.env.context.get('active_id')) + self.asset_method_time = asset.method_time + + @api.model + def default_get(self, fields): + res = super(AssetModify, self).default_get(fields) + asset_id = self.env.context.get('active_id') + asset = self.env['account.asset.asset'].browse(asset_id) + if 'name' in fields: + res.update({'name': asset.name}) + if 'method_number' in fields and asset.method_time == 'number': + res.update({'method_number': asset.method_number}) + if 'method_period' in fields: + res.update({'method_period': asset.method_period}) + if 'method_end' in fields and asset.method_time == 'end': + res.update({'method_end': asset.method_end}) + if self.env.context.get('active_id'): + active_asset = self.env['account.asset.asset'].browse(self.env.context.get('active_id')) + res['asset_method_time'] = active_asset.method_time + return res + + def modify(self): + """ Modifies the duration of asset for calculating depreciation + and maintains the history of old values, in the chatter. + """ + asset_id = self.env.context.get('active_id', False) + asset = self.env['account.asset.asset'].browse(asset_id) + old_values = { + 'method_number': asset.method_number, + 'method_period': asset.method_period, + 'method_end': asset.method_end, + } + asset_vals = { + 'method_number': self.method_number, + 'method_period': self.method_period, + 'method_end': self.method_end, + } + if asset_vals['method_number'] <= asset.entry_count: + raise UserError(_('The number of depreciations must be greater than the number of posted or draft entries ' + 'to allow for complete depreciation of the asset.')) + asset.write(asset_vals) + asset.compute_depreciation_board() + tracked_fields = self.env['account.asset.asset'].fields_get(['method_number', 'method_period', 'method_end']) + changes, tracking_value_ids = asset._mail_track(tracked_fields, old_values) + if changes: + asset.message_post(subject=_('Depreciation board modified'), body=self.name, tracking_value_ids=tracking_value_ids) + return {'type': 'ir.actions.act_window_close'} diff --git a/odoo-bringout-odoomates-om_account_asset/om_account_asset/wizard/asset_modify_views.xml b/odoo-bringout-odoomates-om_account_asset/om_account_asset/wizard/asset_modify_views.xml new file mode 100644 index 0000000..a7227a9 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/om_account_asset/wizard/asset_modify_views.xml @@ -0,0 +1,40 @@ + + + + + wizard.asset.modify.form + asset.modify + +
+ + + + + + + + + + +
+
+ +
+
+ + + Modify Asset + asset.modify + ir.actions.act_window + tree,form + + new + + +
diff --git a/odoo-bringout-odoomates-om_account_asset/pyproject.toml b/odoo-bringout-odoomates-om_account_asset/pyproject.toml new file mode 100644 index 0000000..0366ad8 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_asset/pyproject.toml @@ -0,0 +1,42 @@ +[project] +name = "odoo-bringout-odoomates-om_account_asset" +version = "16.0.0" +description = "Odoo 16 Assets Management - Odoo 16 Assets Management" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-ocb-account>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["om_account_asset"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-odoomates-om_account_budget/README.md b/odoo-bringout-odoomates-om_account_budget/README.md new file mode 100644 index 0000000..1f899ae --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/README.md @@ -0,0 +1,46 @@ +# Odoo 16 Budget Management + +Use budgets to compare actual with expected revenues and costs + +## Installation + +```bash +pip install odoo-bringout-odoomates-om_account_budget +``` + +## Dependencies + +This addon depends on: +- account + +## Manifest Information + +- **Name**: Odoo 16 Budget Management +- **Version**: 16.0.1.0.0 +- **Category**: Accounting +- **License**: LGPL-3 +- **Installable**: False + +## Source + +Custom addon from bringout-odoomates vendor, addon `om_account_budget`. + +## License + +This package maintains the original LGPL-3 license from the addon. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-odoomates-om_account_budget/doc/ARCHITECTURE.md b/odoo-bringout-odoomates-om_account_budget/doc/ARCHITECTURE.md new file mode 100644 index 0000000..75e0dfc --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Om_account_budget Module - om_account_budget + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-odoomates-om_account_budget/doc/CONFIGURATION.md b/odoo-bringout-odoomates-om_account_budget/doc/CONFIGURATION.md new file mode 100644 index 0000000..ab00051 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for om_account_budget. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-odoomates-om_account_budget/doc/CONTROLLERS.md b/odoo-bringout-odoomates-om_account_budget/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-odoomates-om_account_budget/doc/DEPENDENCIES.md b/odoo-bringout-odoomates-om_account_budget/doc/DEPENDENCIES.md new file mode 100644 index 0000000..99c6b28 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/doc/DEPENDENCIES.md @@ -0,0 +1,5 @@ +# Dependencies + +This addon depends on: + +- [account](../../odoo-bringout-oca-ocb-account) diff --git a/odoo-bringout-odoomates-om_account_budget/doc/FAQ.md b/odoo-bringout-odoomates-om_account_budget/doc/FAQ.md new file mode 100644 index 0000000..21c5a98 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon om_account_budget or install in UI. diff --git a/odoo-bringout-odoomates-om_account_budget/doc/INSTALL.md b/odoo-bringout-odoomates-om_account_budget/doc/INSTALL.md new file mode 100644 index 0000000..7673d9e --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-odoomates-om_account_budget" +# or +uv pip install odoo-bringout-odoomates-om_account_budget" +``` diff --git a/odoo-bringout-odoomates-om_account_budget/doc/MODELS.md b/odoo-bringout-odoomates-om_account_budget/doc/MODELS.md new file mode 100644 index 0000000..854ac8a --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/doc/MODELS.md @@ -0,0 +1,15 @@ +# Models + +Detected core models and extensions in om_account_budget. + +```mermaid +classDiagram + class account_budget_post + class crossovered_budget + class crossovered_budget_lines + class account_analytic_account +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-odoomates-om_account_budget/doc/OVERVIEW.md b/odoo-bringout-odoomates-om_account_budget/doc/OVERVIEW.md new file mode 100644 index 0000000..f00cd4e --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: om_account_budget. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon om_account_budget +- License: LGPL-3 diff --git a/odoo-bringout-odoomates-om_account_budget/doc/REPORTS.md b/odoo-bringout-odoomates-om_account_budget/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-odoomates-om_account_budget/doc/SECURITY.md b/odoo-bringout-odoomates-om_account_budget/doc/SECURITY.md new file mode 100644 index 0000000..71ee165 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/doc/SECURITY.md @@ -0,0 +1,41 @@ +# Security + +Access control and security definitions in om_account_budget. + +## Access Control Lists (ACLs) + +Model access permissions defined in: +- **[ir.model.access.csv](../om_account_budget/security/ir.model.access.csv)** + - 6 model access rules + +## Record Rules + +Row-level security rules defined in: + +## Security Groups & Configuration + +Security groups and permissions defined in: +- **[account_budget_security.xml](../om_account_budget/security/account_budget_security.xml)** + +```mermaid +graph TB + subgraph "Security Layers" + A[Users] --> B[Groups] + B --> C[Access Control Lists] + C --> D[Models] + B --> E[Record Rules] + E --> F[Individual Records] + end +``` + +Security files overview: +- **[account_budget_security.xml](../om_account_budget/security/account_budget_security.xml)** + - Security groups, categories, and XML-based rules +- **[ir.model.access.csv](../om_account_budget/security/ir.model.access.csv)** + - Model access permissions (CRUD rights) + +Notes +- Access Control Lists define which groups can access which models +- Record Rules provide row-level security (filter records by user/group) +- Security groups organize users and define permission sets +- All security is enforced at the ORM level by Odoo diff --git a/odoo-bringout-odoomates-om_account_budget/doc/TROUBLESHOOTING.md b/odoo-bringout-odoomates-om_account_budget/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-odoomates-om_account_budget/doc/USAGE.md b/odoo-bringout-odoomates-om_account_budget/doc/USAGE.md new file mode 100644 index 0000000..04ab10f --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon om_account_budget +``` diff --git a/odoo-bringout-odoomates-om_account_budget/doc/WIZARDS.md b/odoo-bringout-odoomates-om_account_budget/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-odoomates-om_account_budget/om_account_budget/__init__.py b/odoo-bringout-odoomates-om_account_budget/om_account_budget/__init__.py new file mode 100644 index 0000000..dc5e6b6 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/om_account_budget/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import models diff --git a/odoo-bringout-odoomates-om_account_budget/om_account_budget/__manifest__.py b/odoo-bringout-odoomates-om_account_budget/om_account_budget/__manifest__.py new file mode 100644 index 0000000..d7b3644 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/om_account_budget/__manifest__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +{ + 'name': 'Odoo 16 Budget Management', + 'author': 'Odoo Mates, Odoo SA', + 'category': 'Accounting', + 'version': '16.0.1.0.0', + 'description': """Use budgets to compare actual with expected revenues and costs""", + 'summary': 'Odoo 16 Budget Management', + 'sequence': 10, + 'website': 'https://www.odoomates.tech', + 'depends': ['account'], + 'license': 'LGPL-3', + 'data': [ + 'security/ir.model.access.csv', + 'security/account_budget_security.xml', + 'views/account_analytic_account_views.xml', + 'views/account_budget_views.xml', + 'views/res_config_settings_views.xml', + ], + "images": ['static/description/banner.gif'], + 'demo': ['data/account_budget_demo.xml'], +} diff --git a/odoo-bringout-odoomates-om_account_budget/om_account_budget/data/account_budget_demo.xml b/odoo-bringout-odoomates-om_account_budget/om_account_budget/data/account_budget_demo.xml new file mode 100644 index 0000000..76a2c28 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/om_account_budget/data/account_budget_demo.xml @@ -0,0 +1,232 @@ + + + + + + + + + + + + + + + + + + -35000 + + + + + + + + 10000 + + + + + + + + 10000 + + + + + + + + 12000 + + + + + + + + 15000 + + + + + + + + 15000 + + + + + + + + 15000 + + + + + + + + 13000 + + + + + + + + 9000 + + + + + + + + 8000 + + + + + + + + 15000 + + + + + + + + 15000 + + + + + + + + 18000 + + + + + + + + + + + + + + + + + -55000 + + + + + + + + 9000 + + + + + + + + 8000 + + + + + + + + 10000 + + + + + + + + 14000 + + + + + + + + 16000 + + + + + + + + 13000 + + + + + + + + 10000 + + + + + + + + 8000 + + + + + + + + 7000 + + + + + + + + 12000 + + + + + + + + 17000 + + + + + + + + 17000 + + + + + diff --git a/odoo-bringout-odoomates-om_account_budget/om_account_budget/doc/RELEASE_NOTES.md b/odoo-bringout-odoomates-om_account_budget/om_account_budget/doc/RELEASE_NOTES.md new file mode 100644 index 0000000..eb8945b --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/om_account_budget/doc/RELEASE_NOTES.md @@ -0,0 +1,8 @@ +## Module + +#### 22.07.2022 +#### Version 16.0.1.0.0 +##### ADD +- initial release + + diff --git a/odoo-bringout-odoomates-om_account_budget/om_account_budget/i18n/bs.po b/odoo-bringout-odoomates-om_account_budget/om_account_budget/i18n/bs.po new file mode 100644 index 0000000..a78a362 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/om_account_budget/i18n/bs.po @@ -0,0 +1,490 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * om_account_budget +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-04-26 14:55+0000\n" +"PO-Revision-Date: 2024-04-26 14:55+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: om_account_budget +#. odoo-python +#: code:addons/om_account_budget/models/account_budget.py:0 +#, python-format +msgid "" +"\"End Date\" of the budget line should be included in the Period of the " +"budget" +msgstr "" + +#. module: om_account_budget +#. odoo-python +#: code:addons/om_account_budget/models/account_budget.py:0 +#, python-format +msgid "" +"\"Start Date\" of the budget line should be included in the Period of the " +"budget" +msgstr "" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_kanban +msgid "" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_account_budget_post__account_ids +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_budget_post_form +msgid "Accounts" +msgstr "Konta" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__percentage +msgid "Achievement" +msgstr "Achievement" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__message_needaction +msgid "Action Needed" +msgstr "Potrebna akcija" + +#. module: om_account_budget +#: model:ir.model.fields,help:om_account_budget.field_crossovered_budget_lines__practical_amount +msgid "Amount really earned/spent." +msgstr "Iznos really earned/spent." + +#. module: om_account_budget +#: model:ir.model.fields,help:om_account_budget.field_crossovered_budget_lines__theoritical_amount +msgid "Amount you are supposed to have earned/spent at this date." +msgstr "Iznos you are supposed to have earned/spent at this date." + +#. module: om_account_budget +#: model:ir.model.fields,help:om_account_budget.field_crossovered_budget_lines__planned_amount +msgid "" +"Amount you plan to earn/spend. Record a positive amount if it is a revenue " +"and a negative amount if it is a cost." +msgstr "" + +#. module: om_account_budget +#: model:ir.model,name:om_account_budget.model_account_analytic_account +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__analytic_account_id +msgid "Analytic Account" +msgstr "Analitički konto" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__analytic_plan_id +msgid "Analytic Plan" +msgstr "Analitički plan" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +msgid "Approve" +msgstr "Odobri" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__message_attachment_count +msgid "Attachment Count" +msgstr "Broj priloga" + +#. module: om_account_budget +#: model:ir.model,name:om_account_budget.model_crossovered_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__crossovered_budget_id +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_tree +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_search +msgid "Budget" +msgstr "Budžet" + +#. module: om_account_budget +#: model:ir.actions.act_window,name:om_account_budget.act_account_analytic_account_cb_lines +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_account_analytic_account_form_inherit_budget +msgid "Budget Items" +msgstr "Stavke budžeta" + +#. module: om_account_budget +#: model:ir.model,name:om_account_budget.model_crossovered_budget_lines +msgid "Budget Line" +msgstr "Budžet Stavka" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_account_analytic_account__crossovered_budget_line +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__crossovered_budget_line +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_form +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_graph +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_pivot +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_search +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_tree +msgid "Budget Lines" +msgstr "Linije budžeta" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__name +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +msgid "Budget Name" +msgstr "Budžet Naziv" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__crossovered_budget_state +msgid "Budget State" +msgstr "Budžet Stanje" + +#. module: om_account_budget +#: model:ir.model,name:om_account_budget.model_account_budget_post +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__general_budget_id +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_budget_post_form +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_budget_post_search +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_budget_post_tree +msgid "Budgetary Position" +msgstr "Budžetary Position" + +#. module: om_account_budget +#: model:ir.actions.act_window,name:om_account_budget.open_budget_post_form +#: model:ir.ui.menu,name:om_account_budget.menu_budget_post_form +msgid "Budgetary Positions" +msgstr "Budžetary Positions" + +#. module: om_account_budget +#: model:ir.actions.act_window,name:om_account_budget.act_crossovered_budget_view +#: model:ir.ui.menu,name:om_account_budget.menu_act_crossovered_budget_view +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_search +msgid "Budgets" +msgstr "Budžeti" + +#. module: om_account_budget +#: model:ir.actions.act_window,name:om_account_budget.act_crossovered_budget_lines_view +#: model:ir.ui.menu,name:om_account_budget.menu_act_crossovered_budget_lines_view +msgid "Budgets Analysis" +msgstr "Budžets Analiza" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +msgid "Cancel Budget" +msgstr "Otkaži Budžet" + +#. module: om_account_budget +#: model:ir.model.fields.selection,name:om_account_budget.selection__crossovered_budget__state__cancel +msgid "Cancelled" +msgstr "Otkazan" + +#. module: om_account_budget +#: model_terms:ir.actions.act_window,help:om_account_budget.act_crossovered_budget_view +msgid "Click to create a new budget." +msgstr "Click to create a new budget." + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_account_budget_post__company_id +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__company_id +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__company_id +msgid "Company" +msgstr "Preduzeće" + +#. module: om_account_budget +#: model:ir.model.fields,help:om_account_budget.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: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +msgid "Confirm" +msgstr "Potvrdi" + +#. module: om_account_budget +#: model:ir.model.fields.selection,name:om_account_budget.selection__crossovered_budget__state__confirm +msgid "Confirmed" +msgstr "Potvrđeno" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_account_budget_post__create_uid +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__create_uid +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_account_budget_post__create_date +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__create_date +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__create_date +msgid "Created on" +msgstr "Kreirano" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__currency_id +msgid "Currency" +msgstr "Valuta" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_account_budget_post__display_name +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__display_name +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__display_name +msgid "Display Name" +msgstr "Prikazani naziv" + +#. module: om_account_budget +#: model:ir.model.fields.selection,name:om_account_budget.selection__crossovered_budget__state__done +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +msgid "Done" +msgstr "Gotovo" + +#. module: om_account_budget +#: model:ir.model.fields.selection,name:om_account_budget.selection__crossovered_budget__state__draft +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_search +msgid "Draft" +msgstr "U pripremi" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_search +msgid "Draft Budgets" +msgstr "Nacrt Budžets" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__date_to +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__date_to +msgid "End Date" +msgstr "Datum završetka" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +msgid "Entries..." +msgstr "Entries..." + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__message_follower_ids +msgid "Followers" +msgstr "Pratioci" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__message_partner_ids +msgid "Followers (Partners)" +msgstr "Pratioci (Partneri)" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_search +msgid "Group By" +msgstr "Grupiši po" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__has_message +msgid "Has Message" +msgstr "Ima poruku" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_account_budget_post__id +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__id +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__id +msgid "ID" +msgstr "ID" + +#. module: om_account_budget +#: model:ir.model.fields,help:om_account_budget.field_crossovered_budget__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Ako je zakačeno, nove poruke će zahtjevati vašu pažnju" + +#. module: om_account_budget +#: model:ir.model.fields,help:om_account_budget.field_crossovered_budget__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "Ako je označeno neke poruke mogu imati grešku u dostavi." + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__is_above_budget +msgid "Is Above Budget" +msgstr "Is Above Budžet" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__message_is_follower +msgid "Is Follower" +msgstr "Pratilac" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_account_budget_post____last_update +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget____last_update +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines____last_update +msgid "Last Modified on" +msgstr "Zadnje mijenjano" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_account_budget_post__write_uid +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__write_uid +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__write_uid +msgid "Last Updated by" +msgstr "Zadnji ažurirao" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_account_budget_post__write_date +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__write_date +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__write_date +msgid "Last Updated on" +msgstr "Zadnje ažurirano" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__message_main_attachment_id +msgid "Main Attachment" +msgstr "Glavna zakačka" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__message_has_error +msgid "Message Delivery error" +msgstr "Greška pri isporuci poruke" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__message_ids +msgid "Messages" +msgstr "Poruke" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_account_budget_post__name +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__name +msgid "Name" +msgstr "Naziv:" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_search +msgid "Not Cancelled" +msgstr "Not Otkažiled" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__message_needaction_counter +msgid "Number of Actions" +msgstr "Broj akcija" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__message_has_error_counter +msgid "Number of errors" +msgstr "Broj grešaka" + +#. module: om_account_budget +#: model:ir.model.fields,help:om_account_budget.field_crossovered_budget__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "Broj poruka koje zahtijevaju aktivnost" + +#. module: om_account_budget +#: model:ir.model.fields,help:om_account_budget.field_crossovered_budget__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Broj poruka sa greškama pri isporuci" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__paid_date +msgid "Paid Date" +msgstr "Paid Datum" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +msgid "Period" +msgstr "Period" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__planned_amount +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +msgid "Planned Amount" +msgstr "Planirano Iznos" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_graph +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_pivot +msgid "Planned amount" +msgstr "Planirano amount" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__practical_amount +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_account_analytic_account_form_inherit_budget +msgid "Practical Amount" +msgstr "Practical Iznos" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_graph +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_pivot +msgid "Practical amount" +msgstr "Practical amount" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +msgid "Reset to Draft" +msgstr "Vrati u pripremu" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__user_id +msgid "Responsible" +msgstr "Odgovoran" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__date_from +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__date_from +msgid "Start Date" +msgstr "Početni datum" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__state +msgid "Status" +msgstr "Status" + +#. module: om_account_budget +#. odoo-python +#: code:addons/om_account_budget/models/account_budget.py:0 +#, python-format +msgid "The budget must have at least one account." +msgstr "The budget must have at least one account." + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__theoritical_amount +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +msgid "Theoretical Amount" +msgstr "Theoretical Iznos" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_account_analytic_account_form_inherit_budget +msgid "Theoritical Amount" +msgstr "Theoritical Iznos" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_graph +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_pivot +msgid "Theoritical amount" +msgstr "Theoritical amount" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_search +msgid "To Approve" +msgstr "Za odobriti" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_search +msgid "To Approve Budgets" +msgstr "To Approve Budžets" + +#. module: om_account_budget +#: model_terms:ir.actions.act_window,help:om_account_budget.act_crossovered_budget_view +msgid "Use budgets to compare actual with expected revenues and costs" +msgstr "Koristite proračune za usporedbu stvarnih s očekivanim prihodima i troškovima" + +#. module: om_account_budget +#: model:ir.model.fields.selection,name:om_account_budget.selection__crossovered_budget__state__validate +msgid "Validated" +msgstr "Odobreno" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__website_message_ids +msgid "Website Messages" +msgstr "Poruke sa website-a" + +#. module: om_account_budget +#: model:ir.model.fields,help:om_account_budget.field_crossovered_budget__website_message_ids +msgid "Website communication history" +msgstr "Povijest komunikacije Web stranice" + +#. module: om_account_budget +#. odoo-python +#: code:addons/om_account_budget/models/account_budget.py:0 +#, python-format +msgid "" +"You have to enter at least a budgetary position or analytic account on a " +"budget line." +msgstr "" diff --git a/odoo-bringout-odoomates-om_account_budget/om_account_budget/i18n/om_account_budget.pot b/odoo-bringout-odoomates-om_account_budget/om_account_budget/i18n/om_account_budget.pot new file mode 100644 index 0000000..7602f2d --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/om_account_budget/i18n/om_account_budget.pot @@ -0,0 +1,490 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * om_account_budget +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-04-26 14:55+0000\n" +"PO-Revision-Date: 2024-04-26 14:55+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: om_account_budget +#. odoo-python +#: code:addons/om_account_budget/models/account_budget.py:0 +#, python-format +msgid "" +"\"End Date\" of the budget line should be included in the Period of the " +"budget" +msgstr "" + +#. module: om_account_budget +#. odoo-python +#: code:addons/om_account_budget/models/account_budget.py:0 +#, python-format +msgid "" +"\"Start Date\" of the budget line should be included in the Period of the " +"budget" +msgstr "" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_kanban +msgid "" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_account_budget_post__account_ids +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_budget_post_form +msgid "Accounts" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__percentage +msgid "Achievement" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,help:om_account_budget.field_crossovered_budget_lines__practical_amount +msgid "Amount really earned/spent." +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,help:om_account_budget.field_crossovered_budget_lines__theoritical_amount +msgid "Amount you are supposed to have earned/spent at this date." +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,help:om_account_budget.field_crossovered_budget_lines__planned_amount +msgid "" +"Amount you plan to earn/spend. Record a positive amount if it is a revenue " +"and a negative amount if it is a cost." +msgstr "" + +#. module: om_account_budget +#: model:ir.model,name:om_account_budget.model_account_analytic_account +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__analytic_account_id +msgid "Analytic Account" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__analytic_plan_id +msgid "Analytic Plan" +msgstr "" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +msgid "Approve" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: om_account_budget +#: model:ir.model,name:om_account_budget.model_crossovered_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__crossovered_budget_id +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_tree +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_search +msgid "Budget" +msgstr "" + +#. module: om_account_budget +#: model:ir.actions.act_window,name:om_account_budget.act_account_analytic_account_cb_lines +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_account_analytic_account_form_inherit_budget +msgid "Budget Items" +msgstr "" + +#. module: om_account_budget +#: model:ir.model,name:om_account_budget.model_crossovered_budget_lines +msgid "Budget Line" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_account_analytic_account__crossovered_budget_line +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__crossovered_budget_line +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_form +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_graph +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_pivot +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_search +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_tree +msgid "Budget Lines" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__name +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +msgid "Budget Name" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__crossovered_budget_state +msgid "Budget State" +msgstr "" + +#. module: om_account_budget +#: model:ir.model,name:om_account_budget.model_account_budget_post +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__general_budget_id +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_budget_post_form +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_budget_post_search +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_budget_post_tree +msgid "Budgetary Position" +msgstr "" + +#. module: om_account_budget +#: model:ir.actions.act_window,name:om_account_budget.open_budget_post_form +#: model:ir.ui.menu,name:om_account_budget.menu_budget_post_form +msgid "Budgetary Positions" +msgstr "" + +#. module: om_account_budget +#: model:ir.actions.act_window,name:om_account_budget.act_crossovered_budget_view +#: model:ir.ui.menu,name:om_account_budget.menu_act_crossovered_budget_view +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_search +msgid "Budgets" +msgstr "" + +#. module: om_account_budget +#: model:ir.actions.act_window,name:om_account_budget.act_crossovered_budget_lines_view +#: model:ir.ui.menu,name:om_account_budget.menu_act_crossovered_budget_lines_view +msgid "Budgets Analysis" +msgstr "" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +msgid "Cancel Budget" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields.selection,name:om_account_budget.selection__crossovered_budget__state__cancel +msgid "Cancelled" +msgstr "" + +#. module: om_account_budget +#: model_terms:ir.actions.act_window,help:om_account_budget.act_crossovered_budget_view +msgid "Click to create a new budget." +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_account_budget_post__company_id +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__company_id +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__company_id +msgid "Company" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,help:om_account_budget.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: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +msgid "Confirm" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields.selection,name:om_account_budget.selection__crossovered_budget__state__confirm +msgid "Confirmed" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_account_budget_post__create_uid +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__create_uid +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__create_uid +msgid "Created by" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_account_budget_post__create_date +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__create_date +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__create_date +msgid "Created on" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__currency_id +msgid "Currency" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_account_budget_post__display_name +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__display_name +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__display_name +msgid "Display Name" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields.selection,name:om_account_budget.selection__crossovered_budget__state__done +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +msgid "Done" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields.selection,name:om_account_budget.selection__crossovered_budget__state__draft +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_search +msgid "Draft" +msgstr "" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_search +msgid "Draft Budgets" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__date_to +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__date_to +msgid "End Date" +msgstr "" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +msgid "Entries..." +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_search +msgid "Group By" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__has_message +msgid "Has Message" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_account_budget_post__id +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__id +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__id +msgid "ID" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,help:om_account_budget.field_crossovered_budget__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,help:om_account_budget.field_crossovered_budget__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__is_above_budget +msgid "Is Above Budget" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_account_budget_post____last_update +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget____last_update +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines____last_update +msgid "Last Modified on" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_account_budget_post__write_uid +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__write_uid +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_account_budget_post__write_date +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__write_date +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__write_date +msgid "Last Updated on" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__message_ids +msgid "Messages" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_account_budget_post__name +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__name +msgid "Name" +msgstr "" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_search +msgid "Not Cancelled" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,help:om_account_budget.field_crossovered_budget__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,help:om_account_budget.field_crossovered_budget__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__paid_date +msgid "Paid Date" +msgstr "" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +msgid "Period" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__planned_amount +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +msgid "Planned Amount" +msgstr "" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_graph +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_pivot +msgid "Planned amount" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__practical_amount +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_account_analytic_account_form_inherit_budget +msgid "Practical Amount" +msgstr "" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_graph +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_pivot +msgid "Practical amount" +msgstr "" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +msgid "Reset to Draft" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__user_id +msgid "Responsible" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__date_from +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__date_from +msgid "Start Date" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__state +msgid "Status" +msgstr "" + +#. module: om_account_budget +#. odoo-python +#: code:addons/om_account_budget/models/account_budget.py:0 +#, python-format +msgid "The budget must have at least one account." +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget_lines__theoritical_amount +#: model_terms:ir.ui.view,arch_db:om_account_budget.crossovered_budget_view_form +msgid "Theoretical Amount" +msgstr "" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_account_analytic_account_form_inherit_budget +msgid "Theoritical Amount" +msgstr "" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_graph +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_line_pivot +msgid "Theoritical amount" +msgstr "" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_search +msgid "To Approve" +msgstr "" + +#. module: om_account_budget +#: model_terms:ir.ui.view,arch_db:om_account_budget.view_crossovered_budget_search +msgid "To Approve Budgets" +msgstr "" + +#. module: om_account_budget +#: model_terms:ir.actions.act_window,help:om_account_budget.act_crossovered_budget_view +msgid "Use budgets to compare actual with expected revenues and costs" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields.selection,name:om_account_budget.selection__crossovered_budget__state__validate +msgid "Validated" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,field_description:om_account_budget.field_crossovered_budget__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: om_account_budget +#: model:ir.model.fields,help:om_account_budget.field_crossovered_budget__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: om_account_budget +#. odoo-python +#: code:addons/om_account_budget/models/account_budget.py:0 +#, python-format +msgid "" +"You have to enter at least a budgetary position or analytic account on a " +"budget line." +msgstr "" diff --git a/odoo-bringout-odoomates-om_account_budget/om_account_budget/models/__init__.py b/odoo-bringout-odoomates-om_account_budget/om_account_budget/models/__init__.py new file mode 100644 index 0000000..a57168c --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/om_account_budget/models/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import account_budget +from . import account_analytic_account diff --git a/odoo-bringout-odoomates-om_account_budget/om_account_budget/models/account_analytic_account.py b/odoo-bringout-odoomates-om_account_budget/om_account_budget/models/account_analytic_account.py new file mode 100644 index 0000000..a246876 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/om_account_budget/models/account_analytic_account.py @@ -0,0 +1,10 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models + + +class AccountAnalyticAccount(models.Model): + _inherit = "account.analytic.account" + + crossovered_budget_line = fields.One2many('crossovered.budget.lines', 'analytic_account_id', 'Budget Lines') diff --git a/odoo-bringout-odoomates-om_account_budget/om_account_budget/models/account_budget.py b/odoo-bringout-odoomates-om_account_budget/om_account_budget/models/account_budget.py new file mode 100644 index 0000000..d72c622 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/om_account_budget/models/account_budget.py @@ -0,0 +1,265 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models, _ +from odoo.exceptions import ValidationError + +# --------------------------------------------------------- +# Budgets +# --------------------------------------------------------- +class AccountBudgetPost(models.Model): + _name = "account.budget.post" + _order = "name" + _description = "Budgetary Position" + + name = fields.Char('Name', required=True) + account_ids = fields.Many2many('account.account', 'account_budget_rel', 'budget_id', 'account_id', 'Accounts', + domain=[('deprecated', '=', False)]) + company_id = fields.Many2one('res.company', 'Company', required=True, default=lambda self: self.env.company) + + def _check_account_ids(self, vals): + # Raise an error to prevent the account.budget.post to have not specified account_ids. + # This check is done on create because require=True doesn't work on Many2many fields. + if 'account_ids' in vals: + account_ids = self.new({'account_ids': vals['account_ids']}, origin=self).account_ids + else: + account_ids = self.account_ids + if not account_ids: + raise ValidationError(_('The budget must have at least one account.')) + + @api.model_create_multi + def create(self, vals_list): + for vals in vals_list: + self._check_account_ids(vals) + return super(AccountBudgetPost, self).create(vals_list) + + def write(self, vals): + self._check_account_ids(vals) + return super(AccountBudgetPost, self).write(vals) + + +class CrossoveredBudget(models.Model): + _name = "crossovered.budget" + _description = "Budget" + _inherit = ['mail.thread'] + + name = fields.Char('Budget Name', required=True, states={'done': [('readonly', True)]}) + user_id = fields.Many2one('res.users', 'Responsible', default=lambda self: self.env.user) + date_from = fields.Date('Start Date', required=True, states={'done': [('readonly', True)]}) + date_to = fields.Date('End Date', required=True, states={'done': [('readonly', True)]}) + state = fields.Selection([ + ('draft', 'Draft'), + ('cancel', 'Cancelled'), + ('confirm', 'Confirmed'), + ('validate', 'Validated'), + ('done', 'Done') + ], 'Status', default='draft', index=True, required=True, readonly=True, copy=False, tracking=True) + crossovered_budget_line = fields.One2many('crossovered.budget.lines', 'crossovered_budget_id', 'Budget Lines', + states={'done': [('readonly', True)]}, copy=True) + company_id = fields.Many2one('res.company', 'Company', required=True, default=lambda self: self.env.company) + + def action_budget_confirm(self): + self.write({'state': 'confirm'}) + + def action_budget_draft(self): + self.write({'state': 'draft'}) + + def action_budget_validate(self): + self.write({'state': 'validate'}) + + def action_budget_cancel(self): + self.write({'state': 'cancel'}) + + def action_budget_done(self): + self.write({'state': 'done'}) + + +class CrossoveredBudgetLines(models.Model): + _name = "crossovered.budget.lines" + _description = "Budget Line" + + name = fields.Char(compute='_compute_line_name') + crossovered_budget_id = fields.Many2one('crossovered.budget', 'Budget', ondelete='cascade', index=True, required=True) + analytic_account_id = fields.Many2one('account.analytic.account', 'Analytic Account') + analytic_plan_id = fields.Many2one('account.analytic.group', 'Analytic Plan', related='analytic_account_id.plan_id', readonly=True) + general_budget_id = fields.Many2one('account.budget.post', 'Budgetary Position') + date_from = fields.Date('Start Date', required=True) + date_to = fields.Date('End Date', required=True) + paid_date = fields.Date('Paid Date') + currency_id = fields.Many2one('res.currency', related='company_id.currency_id', readonly=True) + planned_amount = fields.Monetary( + 'Planned Amount', required=True, + help="Amount you plan to earn/spend. Record a positive amount if it is a revenue and a negative amount if it is a cost.") + practical_amount = fields.Monetary( + compute='_compute_practical_amount', string='Practical Amount', help="Amount really earned/spent.") + theoritical_amount = fields.Monetary( + compute='_compute_theoritical_amount', string='Theoretical Amount', + help="Amount you are supposed to have earned/spent at this date.") + percentage = fields.Float( + compute='_compute_percentage', string='Achievement', + help="Comparison between practical and theoretical amount. This measure tells you if you are below or over budget.") + company_id = fields.Many2one(related='crossovered_budget_id.company_id', comodel_name='res.company', + string='Company', store=True, readonly=True) + is_above_budget = fields.Boolean(compute='_is_above_budget') + crossovered_budget_state = fields.Selection(related='crossovered_budget_id.state', string='Budget State', store=True, readonly=True) + + @api.model + def read_group(self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True): + # overrides the default read_group in order to compute the computed fields manually for the group + fields_list = {'practical_amount', 'theoritical_amount', 'percentage'} + fields = {field.split(':', 1)[0] if field.split(':', 1)[0] in fields_list else field for field in fields} + result = super(CrossoveredBudgetLines, self).read_group(domain, fields, groupby, offset=offset, limit=limit, + orderby=orderby, lazy=lazy) + if any(x in fields for x in fields_list): + for group_line in result: + + # initialise fields to compute to 0 if they are requested + if 'practical_amount' in fields: + group_line['practical_amount'] = 0 + if 'theoritical_amount' in fields: + group_line['theoritical_amount'] = 0 + if 'percentage' in fields: + group_line['percentage'] = 0 + group_line['practical_amount'] = 0 + group_line['theoritical_amount'] = 0 + + if group_line.get('__domain'): + all_budget_lines_that_compose_group = self.search(group_line['__domain']) + else: + all_budget_lines_that_compose_group = self.search([]) + for budget_line_of_group in all_budget_lines_that_compose_group: + if 'practical_amount' in fields or 'percentage' in fields: + group_line['practical_amount'] += budget_line_of_group.practical_amount + + if 'theoritical_amount' in fields or 'percentage' in fields: + group_line['theoritical_amount'] += budget_line_of_group.theoritical_amount + + if 'percentage' in fields: + if group_line['theoritical_amount']: + # use a weighted average + group_line['percentage'] = float( + (group_line['practical_amount'] or 0.0) / group_line['theoritical_amount']) * 100 + + return result + + def _is_above_budget(self): + for line in self: + if line.theoritical_amount >= 0: + line.is_above_budget = line.practical_amount > line.theoritical_amount + else: + line.is_above_budget = line.practical_amount < line.theoritical_amount + + def _compute_line_name(self): + #just in case someone opens the budget line in form view + for line in self: + computed_name = line.crossovered_budget_id.name + if line.general_budget_id: + computed_name += ' - ' + line.general_budget_id.name + if line.analytic_account_id: + computed_name += ' - ' + line.analytic_account_id.name + line.name = computed_name + + def _compute_practical_amount(self): + for line in self: + acc_ids = line.general_budget_id.account_ids.ids + date_to = line.date_to + date_from = line.date_from + if line.analytic_account_id.id: + analytic_line_obj = self.env['account.analytic.line'] + domain = [('account_id', '=', line.analytic_account_id.id), + ('date', '>=', date_from), + ('date', '<=', date_to), + ] + if acc_ids: + domain += [('general_account_id', 'in', acc_ids)] + + where_query = analytic_line_obj._where_calc(domain) + analytic_line_obj._apply_ir_rules(where_query, 'read') + from_clause, where_clause, where_clause_params = where_query.get_sql() + select = "SELECT SUM(amount) from " + from_clause + " where " + where_clause + + 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) + ] + 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 _compute_theoritical_amount(self): + # beware: 'today' variable is mocked in the python tests and thus, its implementation matter + today = fields.Date.today() + for line in self: + if line.paid_date: + if today <= line.paid_date: + theo_amt = 0.00 + else: + theo_amt = line.planned_amount + else: + line_timedelta = line.date_to - line.date_from + elapsed_timedelta = today - line.date_from + + if elapsed_timedelta.days < 0: + # If the budget line has not started yet, theoretical amount should be zero + theo_amt = 0.00 + elif line_timedelta.days > 0 and today < line.date_to: + # If today is between the budget line date_from and date_to + theo_amt = (elapsed_timedelta.total_seconds() / line_timedelta.total_seconds()) * line.planned_amount + else: + theo_amt = line.planned_amount + line.theoritical_amount = theo_amt + + def _compute_percentage(self): + for line in self: + if line.theoritical_amount != 0.00: + line.percentage = float((line.practical_amount or 0.0) / line.theoritical_amount) + else: + line.percentage = 0.00 + + @api.constrains('general_budget_id', 'analytic_account_id') + def _must_have_analytical_or_budgetary_or_both(self): + if not self.analytic_account_id and not self.general_budget_id: + raise ValidationError( + _("You have to enter at least a budgetary position or analytic account on a budget line.")) + + + def action_open_budget_entries(self): + if self.analytic_account_id: + # if there is an analytic account, then the analytic items are loaded + action = self.env['ir.actions.act_window']._for_xml_id('analytic.account_analytic_line_action_entries') + action['domain'] = [('account_id', '=', self.analytic_account_id.id), + ('date', '>=', self.date_from), + ('date', '<=', self.date_to) + ] + if self.general_budget_id: + action['domain'] += [('general_account_id', 'in', self.general_budget_id.account_ids.ids)] + else: + # otherwise the journal entries booked on the accounts of the budgetary postition are opened + action = self.env['ir.actions.act_window']._for_xml_id('account.action_account_moves_all_a') + action['domain'] = [('account_id', 'in', + self.general_budget_id.account_ids.ids), + ('date', '>=', self.date_from), + ('date', '<=', self.date_to) + ] + return action + + @api.constrains('date_from', 'date_to') + def _line_dates_between_budget_dates(self): + for rec in self: + budget_date_from = rec.crossovered_budget_id.date_from + budget_date_to = rec.crossovered_budget_id.date_to + if rec.date_from: + date_from = rec.date_from + if date_from < budget_date_from or date_from > budget_date_to: + raise ValidationError(_('"Start Date" of the budget line should be included in the Period of the budget')) + if rec.date_to: + date_to = rec.date_to + if date_to < budget_date_from or date_to > budget_date_to: + raise ValidationError(_('"End Date" of the budget line should be included in the Period of the budget')) diff --git a/odoo-bringout-odoomates-om_account_budget/om_account_budget/security/account_budget_security.xml b/odoo-bringout-odoomates-om_account_budget/om_account_budget/security/account_budget_security.xml new file mode 100644 index 0000000..8483fe3 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/om_account_budget/security/account_budget_security.xml @@ -0,0 +1,35 @@ + + + + + + Budget post multi-company + + + ['|',('company_id','=',False),('company_id', 'in', company_ids)] + + + + Budget multi-company + + + ['|',('company_id','=',False),('company_id', 'in', company_ids)] + + + + Budget lines multi-company + + + ['|',('company_id','=',False),('company_id', 'in', company_ids)] + + + + + + + + + + + + diff --git a/odoo-bringout-odoomates-om_account_budget/om_account_budget/security/ir.model.access.csv b/odoo-bringout-odoomates-om_account_budget/om_account_budget/security/ir.model.access.csv new file mode 100644 index 0000000..e2c98f2 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/om_account_budget/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_crossovered_budget,crossovered.budget,model_crossovered_budget,account.group_account_manager,1,0,0,0 +access_account_budget_post,account.budget.post,model_account_budget_post,account.group_account_manager,1,0,0,0 +access_account_budget_post_accountant,account.budget.post accountant,model_account_budget_post,account.group_account_user,1,1,1,1 +access_crossovered_budget_accountant,crossovered.budget accountant,model_crossovered_budget,account.group_account_user,1,1,1,1 +access_crossovered_budget_lines_accountant,crossovered.budget.lines accountant,model_crossovered_budget_lines,account.group_account_user,1,1,1,1 +access_budget,crossovered.budget.lines manager,model_crossovered_budget_lines,base.group_user,1,1,1,0 diff --git a/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/banner.gif b/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/banner.gif new file mode 100644 index 0000000..bd3da3c Binary files /dev/null and b/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/banner.gif differ diff --git a/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/budget_analysis_pivot.png b/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/budget_analysis_pivot.png new file mode 100644 index 0000000..19bbd20 Binary files /dev/null and b/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/budget_analysis_pivot.png differ diff --git a/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/budgetary_postions.png b/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/budgetary_postions.png new file mode 100644 index 0000000..a6ed38a Binary files /dev/null and b/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/budgetary_postions.png differ diff --git a/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/budgets.png b/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/budgets.png new file mode 100644 index 0000000..cbb83a7 Binary files /dev/null and b/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/budgets.png differ diff --git a/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/icon.png b/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/icon.png new file mode 100644 index 0000000..d0efd1b Binary files /dev/null and b/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/icon.png differ diff --git a/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/icon.svg b/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/icon.svg new file mode 100644 index 0000000..7d215c3 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/index.html b/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/index.html new file mode 100644 index 0000000..191c4b6 --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/index.html @@ -0,0 +1,84 @@ +
+
+

Odoo 16 Budget Management

+
+
+ +
+
+
+

+ Use budgets to compare actual with expected revenues and costs. +


+
+
+
+
+ +
+
+
+

Budgetary Positions

+
+ +
+
+
+
+ +
+
+
+

Budgets

+
+ +
+
+
+
+ +
+
+
+

Budget Analysis

+
+ +
+
+
+
+ + + +
+
+
+
+
+ +
+

If you need any help or want more features, just contact us:


+

Email: odoomates@gmail.com

+
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/odoo_mates.png b/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/odoo_mates.png new file mode 100644 index 0000000..8408fa3 Binary files /dev/null and b/odoo-bringout-odoomates-om_account_budget/om_account_budget/static/description/odoo_mates.png differ diff --git a/odoo-bringout-odoomates-om_account_budget/om_account_budget/views/account_analytic_account_views.xml b/odoo-bringout-odoomates-om_account_budget/om_account_budget/views/account_analytic_account_views.xml new file mode 100644 index 0000000..f28c55d --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/om_account_budget/views/account_analytic_account_views.xml @@ -0,0 +1,41 @@ + + + + + account.analytic.account.form.inherit.budget + account.analytic.account + + + + + + + + + + + + + + + + + + +
+ + + + + + + + +
+
+
+
+
+ +
\ No newline at end of file diff --git a/odoo-bringout-odoomates-om_account_budget/om_account_budget/views/account_budget_views.xml b/odoo-bringout-odoomates-om_account_budget/om_account_budget/views/account_budget_views.xml new file mode 100644 index 0000000..9a4356c --- /dev/null +++ b/odoo-bringout-odoomates-om_account_budget/om_account_budget/views/account_budget_views.xml @@ -0,0 +1,381 @@ + + + + + account.budget.post.search + account.budget.post + + + + + + + + + + account.budget.post.tree + account.budget.post + + + + + + + + + + Budgetary Positions + account.budget.post + tree,kanban,form + + + + + + + + account.budget.post.form + account.budget.post + +
+ + + + + + + + + + + + + + +
+
+
+ + + crossovered.budget.view.form + crossovered.budget + +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ +
+
+ + + hospital.doctor.search + hospital.doctor + + + + + + + + + + + + + + + + + + + Doctors + ir.actions.act_window + hospital.doctor + kanban,tree,form + {} + +

+ Create your first doctor! +

+
+
+ + + + + +
\ No newline at end of file diff --git a/odoo-bringout-odoomates-om_hospital/om_hospital/views/kids_view.xml b/odoo-bringout-odoomates-om_hospital/om_hospital/views/kids_view.xml new file mode 100644 index 0000000..1e5c547 --- /dev/null +++ b/odoo-bringout-odoomates-om_hospital/om_hospital/views/kids_view.xml @@ -0,0 +1,24 @@ + + + + + Kids + ir.actions.act_window + hospital.patient + tree,kanban,form + {} + [('age', '<=', 18)] + +

+ Create your first kids! +

+
+
+ + + +
\ No newline at end of file diff --git a/odoo-bringout-odoomates-om_hospital/om_hospital/views/patient_gender_view.xml b/odoo-bringout-odoomates-om_hospital/om_hospital/views/patient_gender_view.xml new file mode 100644 index 0000000..0a0ac3f --- /dev/null +++ b/odoo-bringout-odoomates-om_hospital/om_hospital/views/patient_gender_view.xml @@ -0,0 +1,44 @@ + + + + + Male Patients + ir.actions.act_window + hospital.patient + tree,kanban,form + {'hide_gender': 1} + [('gender', '=', 'male')] + +

+ Create your first male patient! +

+
+
+ + + + + Female Patients + ir.actions.act_window + hospital.patient + tree,kanban,form + {'default_gender': 'female', 'default_note': 'New Patient', 'hide_gender': 1} + [('gender', '=', 'female')] + +

+ Create your female patient ! +

+
+
+ + + +
\ No newline at end of file diff --git a/odoo-bringout-odoomates-om_hospital/om_hospital/views/patient_view.xml b/odoo-bringout-odoomates-om_hospital/om_hospital/views/patient_view.xml new file mode 100644 index 0000000..c8dc40f --- /dev/null +++ b/odoo-bringout-odoomates-om_hospital/om_hospital/views/patient_view.xml @@ -0,0 +1,185 @@ + + + + + Create Appointment + + + list,form + code + + if record: + action_values = env.ref('om_hospital.action_create_appointment').sudo().read()[0] + action_values.update({'context': env.context}) + action = action_values + + + + + hospital.patient.kanban + hospital.patient + + + + + + + + + + +
+
+
    +
  • + ID: +
  • +
  • + Name: +
  • +
  • + Age: +
  • +
  • + Gender: +
  • +
+
+
+
+
+
+
+
+ + + hospital.patient.tree + hospital.patient + + + + + + + + + + + + + + + + hospital.patient.form + hospital.patient + +
+
+ + + + + + + + + + + + + + +
+ +
+ +
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+
+
+
+ + + hospital.patient.search + hospital.patient + + + + + + + + + + + + + + + + + + + Patients + ir.actions.act_window + hospital.patient + tree,kanban,form + {} + + +

+ Create your first patient! +

+
+
+ + + + + + + +
\ No newline at end of file diff --git a/odoo-bringout-odoomates-om_hospital/om_hospital/views/sale.xml b/odoo-bringout-odoomates-om_hospital/om_hospital/views/sale.xml new file mode 100644 index 0000000..8e5ecb2 --- /dev/null +++ b/odoo-bringout-odoomates-om_hospital/om_hospital/views/sale.xml @@ -0,0 +1,32 @@ + + + + + sale.order.inherited + sale.order + + + + + + + + + + sale.order.inherited + sale.order + + + + + + + + + + + \ No newline at end of file diff --git a/odoo-bringout-odoomates-om_hospital/om_hospital/wizard/__init__.py b/odoo-bringout-odoomates-om_hospital/om_hospital/wizard/__init__.py new file mode 100644 index 0000000..459b1f0 --- /dev/null +++ b/odoo-bringout-odoomates-om_hospital/om_hospital/wizard/__init__.py @@ -0,0 +1,4 @@ +from . import create_appointment +from . import search_appointment + + diff --git a/odoo-bringout-odoomates-om_hospital/om_hospital/wizard/create_appointment.py b/odoo-bringout-odoomates-om_hospital/om_hospital/wizard/create_appointment.py new file mode 100644 index 0000000..3a85689 --- /dev/null +++ b/odoo-bringout-odoomates-om_hospital/om_hospital/wizard/create_appointment.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- + +from odoo import api, fields, models, _ + + +class CreateAppointmentWizard(models.TransientModel): + _name = "create.appointment.wizard" + _description = "Create Appointment Wizard" + + @api.model + def default_get(self, fields): + res = super(CreateAppointmentWizard, self).default_get(fields) + if self._context.get('active_id'): + res['patient_id'] = self._context.get('active_id') + return res + + date_appointment = fields.Date(string='Date', required=False) + patient_id = fields.Many2one('hospital.patient', string="Patient", required=True) + + def action_create_appointment(self): + vals = { + 'patient_id': self.patient_id.id, + 'doctor_id': 2, + 'date_appointment': self.date_appointment + } + appointment_rec = self.env['hospital.appointment'].create(vals) + return { + 'name': _('Appointment'), + 'type': 'ir.actions.act_window', + 'view_mode': 'form', + 'res_model': 'hospital.appointment', + 'res_id': appointment_rec.id, + } + + # def action_view_appointment(self): + # # action = self.env.ref('om_hospital.action_hospital_appointment').read()[0] + # # action['domain'] = [('patient_id', '=', self.patient_id.id)] + # # return action + # + # action = self.env['ir.actions.actions']._for_xml_id("om_hospital.action_hospital_appointment") + # action['domain'] = [('patient_id', '=', self.patient_id.id)] + # return action + # + # # return { + # # 'type': 'ir.actions.act_window', + # # 'name': 'Appointments', + # # 'res_model': 'hospital.appointment', + # # 'view_type': 'form', + # # 'domain': [('patient_id', '=', self.patient_id.id)], + # # 'view_mode': 'tree,form', + # # 'target': 'current', + # # } + # # return action + + + diff --git a/odoo-bringout-odoomates-om_hospital/om_hospital/wizard/create_appointment_view.xml b/odoo-bringout-odoomates-om_hospital/om_hospital/wizard/create_appointment_view.xml new file mode 100644 index 0000000..9b79ec0 --- /dev/null +++ b/odoo-bringout-odoomates-om_hospital/om_hospital/wizard/create_appointment_view.xml @@ -0,0 +1,31 @@ + + + + + create.appointment.wizard.form + create.appointment.wizard + +
+ + + + +
+
+
+
+
+ + + Create Appointment + ir.actions.act_window + create.appointment.wizard + form + + new + + +
diff --git a/odoo-bringout-odoomates-om_hospital/om_hospital/wizard/search_appointment.py b/odoo-bringout-odoomates-om_hospital/om_hospital/wizard/search_appointment.py new file mode 100644 index 0000000..52709b4 --- /dev/null +++ b/odoo-bringout-odoomates-om_hospital/om_hospital/wizard/search_appointment.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- + +from odoo import api, fields, models, _ + + +class SearchAppointmentWizard(models.TransientModel): + _name = "search.appointment.wizard" + _description = "Search Appointment Wizard" + + patient_id = fields.Many2one('hospital.patient', string="Patient", required=True) + + def action_search_appointment_m1(self): + action = self.env.ref('om_hospital.action_hospital_appointment').read()[0] + action['domain'] = [('patient_id', '=', self.patient_id.id)] + return action + + def action_search_appointment_m2(self): + action = self.env['ir.actions.actions']._for_xml_id("om_hospital.action_hospital_appointment") + action['domain'] = [('patient_id', '=', self.patient_id.id)] + return action + + def action_search_appointment_m3(self): + return { + 'type': 'ir.actions.act_window', + 'name': 'Appointments', + 'res_model': 'hospital.appointment', + 'view_type': 'form', + 'domain': [('patient_id', '=', self.patient_id.id)], + 'view_mode': 'tree,form', + 'target': 'current', + } + + + diff --git a/odoo-bringout-odoomates-om_hospital/om_hospital/wizard/search_appointment_view.xml b/odoo-bringout-odoomates-om_hospital/om_hospital/wizard/search_appointment_view.xml new file mode 100644 index 0000000..a728541 --- /dev/null +++ b/odoo-bringout-odoomates-om_hospital/om_hospital/wizard/search_appointment_view.xml @@ -0,0 +1,34 @@ + + + + + search.appointment.wizard.form + search.appointment.wizard + +
+ + + +
+
+
+
+
+ + + View Appointment + ir.actions.act_window + search.appointment.wizard + form + + new + + +
diff --git a/odoo-bringout-odoomates-om_hospital/pyproject.toml b/odoo-bringout-odoomates-om_hospital/pyproject.toml new file mode 100644 index 0000000..6969866 --- /dev/null +++ b/odoo-bringout-odoomates-om_hospital/pyproject.toml @@ -0,0 +1,45 @@ +[project] +name = "odoo-bringout-odoomates-om_hospital" +version = "16.0.0" +description = "Odoo 16 Development Tutorials - Odoo 16 Development Tutorials" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-ocb-sale>=16.0.0", + "odoo-bringout-oca-ocb-mail>=16.0.0", + "odoo-bringout-odoomates-website_slides>=16.0.0", + "odoo-bringout-oca-ocb-hr>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["om_hospital"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/README.md b/odoo-bringout-odoomates-om_mass_confirm_cancel/README.md new file mode 100644 index 0000000..bea9876 --- /dev/null +++ b/odoo-bringout-odoomates-om_mass_confirm_cancel/README.md @@ -0,0 +1,47 @@ +# Sale,Purchase Mass Confirm and Cancel + +Allow To Cancel and Confirm the Sales and Purchase From the Tree View + +## Installation + +```bash +pip install odoo-bringout-odoomates-om_mass_confirm_cancel +``` + +## Dependencies + +This addon depends on: +- sale +- purchase + +## Manifest Information + +- **Name**: Sale,Purchase Mass Confirm and Cancel +- **Version**: 1.0.0 +- **Category**: Generic Modules/Others +- **License**: LGPL-3 +- **Installable**: True + +## Source + +Custom addon from bringout-odoomates vendor, addon `om_mass_confirm_cancel`. + +## License + +This package maintains the original LGPL-3 license from the addon. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/ARCHITECTURE.md b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/ARCHITECTURE.md new file mode 100644 index 0000000..f17a740 --- /dev/null +++ b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Om_mass_confirm_cancel Module - om_mass_confirm_cancel + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/CONFIGURATION.md b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/CONFIGURATION.md new file mode 100644 index 0000000..8634908 --- /dev/null +++ b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for om_mass_confirm_cancel. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/CONTROLLERS.md b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/DEPENDENCIES.md b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/DEPENDENCIES.md new file mode 100644 index 0000000..b27053a --- /dev/null +++ b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/DEPENDENCIES.md @@ -0,0 +1,6 @@ +# Dependencies + +This addon depends on: + +- [sale](../../odoo-bringout-oca-ocb-sale) +- [purchase](../../odoo-bringout-oca-ocb-purchase) diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/FAQ.md b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/FAQ.md new file mode 100644 index 0000000..b8fd512 --- /dev/null +++ b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon om_mass_confirm_cancel or install in UI. diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/INSTALL.md b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/INSTALL.md new file mode 100644 index 0000000..2372e98 --- /dev/null +++ b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-odoomates-om_mass_confirm_cancel" +# or +uv pip install odoo-bringout-odoomates-om_mass_confirm_cancel" +``` diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/MODELS.md b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/MODELS.md new file mode 100644 index 0000000..da2736a --- /dev/null +++ b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/MODELS.md @@ -0,0 +1,11 @@ +# Models + +Detected core models and extensions in om_mass_confirm_cancel. + +```mermaid +classDiagram +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/OVERVIEW.md b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/OVERVIEW.md new file mode 100644 index 0000000..14b1190 --- /dev/null +++ b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: om_mass_confirm_cancel. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon om_mass_confirm_cancel +- License: LGPL-3 diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/REPORTS.md b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/SECURITY.md b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/SECURITY.md new file mode 100644 index 0000000..e07da9d --- /dev/null +++ b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/SECURITY.md @@ -0,0 +1,8 @@ +# Security + +This module does not define custom security rules or access controls beyond Odoo defaults. + +Default Odoo security applies: +- Base user access through standard groups +- Model access inherited from dependencies +- No custom row-level security rules diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/TROUBLESHOOTING.md b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/USAGE.md b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/USAGE.md new file mode 100644 index 0000000..31b2e8a --- /dev/null +++ b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon om_mass_confirm_cancel +``` diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/WIZARDS.md b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-odoomates-om_mass_confirm_cancel/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/README.rst b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/README.rst new file mode 100644 index 0000000..b234731 --- /dev/null +++ b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/README.rst @@ -0,0 +1,30 @@ +===================================== +Sale,Purchase Mass Confirm and Cancel +===================================== + +Allow To Cancel and Confirm the Sales and Purchase From the Tree View + + +Usage +===== + +* In Sale and Purchase Tree View + +Bug Tracker +=========== + +In case of any trouble using this module, please get in touch with us. + +Authors +~~~~~~~ + +Odoo Mates + +Support +======= +Email : odoomates@gmail.com + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the Odoo Mates. diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/__init__.py b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/__init__.py new file mode 100755 index 0000000..40a96af --- /dev/null +++ b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/__init__.py @@ -0,0 +1 @@ +# -*- coding: utf-8 -*- diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/__manifest__.py b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/__manifest__.py new file mode 100755 index 0000000..db1a108 --- /dev/null +++ b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/__manifest__.py @@ -0,0 +1,26 @@ +{ + 'name': 'Sale,Purchase Mass Confirm and Cancel', + 'version': '1.0.0', + 'category': 'Generic Modules/Others', + 'description': 'Allow To Cancel and Confirm the Sales and Purchase From the Tree View', + 'summary': 'Allow To Cancel and Confirm the Sales and Purchase From the Tree View', + 'author': 'Odoo Mates', + 'maintainer': 'Odoo Mates', + 'website': 'http://odoomates.tech', + 'support': 'odoomates@gmail.com', + 'license': 'LGPL-3', + 'depends': [ + 'sale', + 'purchase' + ], + 'data': [ + 'views/sale_view.xml', + 'views/purchase_view.xml', + ], + 'images': ['static/description/banner.png'], + 'demo': [], + 'test': [], + 'installable': True, + 'application': False, + 'auto_install': False, +} diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/doc/RELEASE_NOTES.md b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/doc/RELEASE_NOTES.md new file mode 100644 index 0000000..3cdf19a --- /dev/null +++ b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/doc/RELEASE_NOTES.md @@ -0,0 +1,7 @@ +## Module + +#### 10.12.2021 +#### Version 15.0.1.0.0 +##### ADD +- initial commit + diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/static/description/banner.png b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/static/description/banner.png new file mode 100644 index 0000000..18a4f37 Binary files /dev/null and b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/static/description/banner.png differ diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/static/description/icon.png b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/static/description/icon.png new file mode 100644 index 0000000..7231242 Binary files /dev/null and b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/static/description/icon.png differ diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/static/description/index.html b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/static/description/index.html new file mode 100644 index 0000000..58909c5 --- /dev/null +++ b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/static/description/index.html @@ -0,0 +1,83 @@ +
+
+

Sale/Purchase Mass Confirm And Cancel

+
+
+ +
+
+
+

+ + + + Features: +

+

+ Allow to Mass Confirm/Cancel Sale Orders. +


+

+ Allow to Mass Confirm/Cancel Purchase Orders. +


+
+
+
+
+

License: LGPL v3
+ +

+
+

Sale Order

+
+
+ +
+
+
+
+ +
+
+

Purchase Order

+
+
+ +
+
+
+
+ + + +
+
+
+
+
+ +
+

If you need any help or want more features, just contact us:


+

Email: odoomates@gmail.com

+
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/static/description/odoo_mates.png b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/static/description/odoo_mates.png new file mode 100644 index 0000000..8408fa3 Binary files /dev/null and b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/static/description/odoo_mates.png differ diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/static/description/purchase_order.png b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/static/description/purchase_order.png new file mode 100644 index 0000000..c0a7380 Binary files /dev/null and b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/static/description/purchase_order.png differ diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/static/description/sale_order.png b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/static/description/sale_order.png new file mode 100644 index 0000000..0ea57ba Binary files /dev/null and b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/static/description/sale_order.png differ diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/views/purchase_view.xml b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/views/purchase_view.xml new file mode 100644 index 0000000..696af28 --- /dev/null +++ b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/views/purchase_view.xml @@ -0,0 +1,29 @@ + + + + + Confirm RFQ + + + code + + if records: + for rec in records: + rec.button_confirm() + + + + + Cancel RFQ + + + code + + if records: + for rec in records: + rec.button_cancel() + + + + + diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/views/sale_view.xml b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/views/sale_view.xml new file mode 100755 index 0000000..240a2af --- /dev/null +++ b/odoo-bringout-odoomates-om_mass_confirm_cancel/om_mass_confirm_cancel/views/sale_view.xml @@ -0,0 +1,29 @@ + + + + + Confirm Quotation + + + code + + if records: + for rec in records: + rec.action_confirm() + + + + + Cancel Sale/Quotation + + + code + + if records: + for rec in records: + rec.action_cancel() + + + + + diff --git a/odoo-bringout-odoomates-om_mass_confirm_cancel/pyproject.toml b/odoo-bringout-odoomates-om_mass_confirm_cancel/pyproject.toml new file mode 100644 index 0000000..1a71197 --- /dev/null +++ b/odoo-bringout-odoomates-om_mass_confirm_cancel/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "odoo-bringout-odoomates-om_mass_confirm_cancel" +version = "16.0.0" +description = "Sale,Purchase Mass Confirm and Cancel - Allow To Cancel and Confirm the Sales and Purchase From the Tree View" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-ocb-sale>=16.0.0", + "odoo-bringout-oca-ocb-purchase>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["om_mass_confirm_cancel"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-odoomates-om_recurring_payments/README.md b/odoo-bringout-odoomates-om_recurring_payments/README.md new file mode 100644 index 0000000..2669091 --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/README.md @@ -0,0 +1,46 @@ +# Odoo 16 Recurring Payment + +Odoo 16 Recurring Payment, Recurring Payment In Odoo, Odoo 16 Accounting + +## Installation + +```bash +pip install odoo-bringout-odoomates-om_recurring_payments +``` + +## Dependencies + +This addon depends on: +- account + +## Manifest Information + +- **Name**: Odoo 16 Recurring Payment +- **Version**: 1.0.0 +- **Category**: Accounting +- **License**: LGPL-3 +- **Installable**: False + +## Source + +Custom addon from bringout-odoomates vendor, addon `om_recurring_payments`. + +## License + +This package maintains the original LGPL-3 license from the addon. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-odoomates-om_recurring_payments/doc/ARCHITECTURE.md b/odoo-bringout-odoomates-om_recurring_payments/doc/ARCHITECTURE.md new file mode 100644 index 0000000..64de3c1 --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Om_recurring_payments Module - om_recurring_payments + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-odoomates-om_recurring_payments/doc/CONFIGURATION.md b/odoo-bringout-odoomates-om_recurring_payments/doc/CONFIGURATION.md new file mode 100644 index 0000000..a90b0ef --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for om_recurring_payments. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-odoomates-om_recurring_payments/doc/CONTROLLERS.md b/odoo-bringout-odoomates-om_recurring_payments/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-odoomates-om_recurring_payments/doc/DEPENDENCIES.md b/odoo-bringout-odoomates-om_recurring_payments/doc/DEPENDENCIES.md new file mode 100644 index 0000000..99c6b28 --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/doc/DEPENDENCIES.md @@ -0,0 +1,5 @@ +# Dependencies + +This addon depends on: + +- [account](../../odoo-bringout-oca-ocb-account) diff --git a/odoo-bringout-odoomates-om_recurring_payments/doc/FAQ.md b/odoo-bringout-odoomates-om_recurring_payments/doc/FAQ.md new file mode 100644 index 0000000..6094a41 --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon om_recurring_payments or install in UI. diff --git a/odoo-bringout-odoomates-om_recurring_payments/doc/INSTALL.md b/odoo-bringout-odoomates-om_recurring_payments/doc/INSTALL.md new file mode 100644 index 0000000..012d844 --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-odoomates-om_recurring_payments" +# or +uv pip install odoo-bringout-odoomates-om_recurring_payments" +``` diff --git a/odoo-bringout-odoomates-om_recurring_payments/doc/MODELS.md b/odoo-bringout-odoomates-om_recurring_payments/doc/MODELS.md new file mode 100644 index 0000000..b1c48ca --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/doc/MODELS.md @@ -0,0 +1,14 @@ +# Models + +Detected core models and extensions in om_recurring_payments. + +```mermaid +classDiagram + class account_recurring_template + class recurring_payment + class recurring_payment_line +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-odoomates-om_recurring_payments/doc/OVERVIEW.md b/odoo-bringout-odoomates-om_recurring_payments/doc/OVERVIEW.md new file mode 100644 index 0000000..a73dbec --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: om_recurring_payments. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon om_recurring_payments +- License: LGPL-3 diff --git a/odoo-bringout-odoomates-om_recurring_payments/doc/REPORTS.md b/odoo-bringout-odoomates-om_recurring_payments/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-odoomates-om_recurring_payments/doc/SECURITY.md b/odoo-bringout-odoomates-om_recurring_payments/doc/SECURITY.md new file mode 100644 index 0000000..cf04026 --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/doc/SECURITY.md @@ -0,0 +1,34 @@ +# Security + +Access control and security definitions in om_recurring_payments. + +## Access Control Lists (ACLs) + +Model access permissions defined in: +- **[ir.model.access.csv](../om_recurring_payments/security/ir.model.access.csv)** + - 3 model access rules + +## Record Rules + +Row-level security rules defined in: + +```mermaid +graph TB + subgraph "Security Layers" + A[Users] --> B[Groups] + B --> C[Access Control Lists] + C --> D[Models] + B --> E[Record Rules] + E --> F[Individual Records] + end +``` + +Security files overview: +- **[ir.model.access.csv](../om_recurring_payments/security/ir.model.access.csv)** + - Model access permissions (CRUD rights) + +Notes +- Access Control Lists define which groups can access which models +- Record Rules provide row-level security (filter records by user/group) +- Security groups organize users and define permission sets +- All security is enforced at the ORM level by Odoo diff --git a/odoo-bringout-odoomates-om_recurring_payments/doc/TROUBLESHOOTING.md b/odoo-bringout-odoomates-om_recurring_payments/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-odoomates-om_recurring_payments/doc/USAGE.md b/odoo-bringout-odoomates-om_recurring_payments/doc/USAGE.md new file mode 100644 index 0000000..4558f2c --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon om_recurring_payments +``` diff --git a/odoo-bringout-odoomates-om_recurring_payments/doc/WIZARDS.md b/odoo-bringout-odoomates-om_recurring_payments/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/__init__.py b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/__init__.py new file mode 100644 index 0000000..5305644 --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import models \ No newline at end of file diff --git a/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/__manifest__.py b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/__manifest__.py new file mode 100644 index 0000000..bbf657a --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/__manifest__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +{ + 'name': 'Odoo 16 Recurring Payment', + 'author': 'Odoo Mates', + 'category': 'Accounting', + 'version': '1.0.0', + 'description': """Odoo 16 Recurring Payment, Recurring Payment In Odoo, Odoo 16 Accounting""", + 'summary': 'Use recurring payments to handle periodically repeated payments', + 'sequence': 11, + 'website': 'https://www.odoomates.tech', + 'depends': ['account'], + 'license': 'LGPL-3', + 'data': [ + 'data/sequence.xml', + 'data/recurring_cron.xml', + 'security/ir.model.access.csv', + 'views/recurring_template_view.xml', + 'views/recurring_payment_view.xml' + ], + 'images': ['static/description/banner.png'], +} diff --git a/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/data/recurring_cron.xml b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/data/recurring_cron.xml new file mode 100644 index 0000000..e810db0 --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/data/recurring_cron.xml @@ -0,0 +1,17 @@ + + + + + + Generate Recurring Payments + + code + + model.action_generate_payment() + 1 + days + -1 + + + + diff --git a/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/data/sequence.xml b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/data/sequence.xml new file mode 100644 index 0000000..06fcae0 --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/data/sequence.xml @@ -0,0 +1,16 @@ + + + + + + + Recurring Payments + recurring.payment + RP + 3 + + + + + + diff --git a/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/doc/RELEASE_NOTES.md b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/doc/RELEASE_NOTES.md new file mode 100644 index 0000000..1a282a4 --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/doc/RELEASE_NOTES.md @@ -0,0 +1,7 @@ +## Module + +#### 22.07.2022 +#### Version 16.0.1.0.0 +##### ADD +- initial release + diff --git a/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/i18n/bs.po b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/i18n/bs.po new file mode 100644 index 0000000..7ded450 --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/i18n/bs.po @@ -0,0 +1,316 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * om_recurring_payments +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-04-26 14:55+0000\n" +"PO-Revision-Date: 2024-04-26 14:55+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: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__amount +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__amount +msgid "Amount" +msgstr "Iznos" + +#. module: om_recurring_payments +#. odoo-python +#: code:addons/om_recurring_payments/models/recurring_payment.py:0 +#, python-format +msgid "Amount Must Be Non-Zero Positive Number" +msgstr "Iznos Mora Be Non-Zero Positive Broj" + +#. module: om_recurring_payments +#. odoo-python +#: code:addons/om_recurring_payments/models/recurring_payment.py:0 +#, python-format +msgid "Cannot delete done records !" +msgstr "Cannot Obriši Završeno records !" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__company_id +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__company_id +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__company_id +msgid "Company" +msgstr "Preduzeće" + +#. module: om_recurring_payments +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_recurring_template_form +msgid "Confirm" +msgstr "Potvrdi" + +#. module: om_recurring_payments +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_recurring_payment_form +msgid "Create Payment" +msgstr "Kreiraj plaćanje" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__create_uid +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__create_uid +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__create_date +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__create_date +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__create_date +msgid "Created on" +msgstr "Kreirano" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__currency_id +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__currency_id +msgid "Currency" +msgstr "Valuta" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__date +msgid "Date" +msgstr "Datum" + +#. module: om_recurring_payments +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__account_recurring_template__recurring_period__days +msgid "Days" +msgstr "Dani" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__description +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__description +msgid "Description" +msgstr "Opis" + +#. module: om_recurring_payments +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_recurring_payment_form +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_recurring_template_form +msgid "Description..." +msgstr "Opis ..." + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__display_name +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__display_name +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__display_name +msgid "Display Name" +msgstr "Prikazani naziv" + +#. module: om_recurring_payments +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__account_recurring_template__state__done +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__recurring_payment__state__done +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__recurring_payment_line__state__done +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_recurring_payment_form +msgid "Done" +msgstr "Gotovo" + +#. module: om_recurring_payments +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__account_recurring_template__state__draft +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__recurring_payment__state__draft +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__recurring_payment_line__state__draft +msgid "Draft" +msgstr "U pripremi" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__date_end +msgid "End Date" +msgstr "Datum završetka" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__journal_state +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__journal_state +msgid "Generate Journal As" +msgstr "Generate Dnevnik As" + +#. module: om_recurring_payments +#: model:ir.actions.server,name:om_recurring_payments.action_generate_recurring_payment_ir_actions_server +#: model:ir.cron,cron_name:om_recurring_payments.action_generate_recurring_payment +msgid "Generate Recurring Payments" +msgstr "Generate Recurring Plaćanja" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__id +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__id +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__id +msgid "ID" +msgstr "ID" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__journal_id +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__journal_id +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__journal_id +msgid "Journal" +msgstr "Vrsta naloga" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template____last_update +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment____last_update +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line____last_update +msgid "Last Modified on" +msgstr "Zadnje mijenjano" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__write_uid +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__write_uid +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__write_uid +msgid "Last Updated by" +msgstr "Zadnji ažurirao" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__write_date +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__write_date +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__write_date +msgid "Last Updated on" +msgstr "Zadnje ažurirano" + +#. module: om_recurring_payments +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__account_recurring_template__recurring_period__months +msgid "Months" +msgstr "Mjeseci" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__name +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__name +msgid "Name" +msgstr "Naziv:" + +#. module: om_recurring_payments +#. odoo-python +#: code:addons/om_recurring_payments/models/recurring_payment.py:0 +#: code:addons/om_recurring_payments/models/recurring_payment.py:0 +#, python-format +msgid "New" +msgstr "Novi" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__partner_id +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__partner_id +msgid "Partner" +msgstr "Partner" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__payment_id +msgid "Payment" +msgstr "Plaćanje" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__payment_type +msgid "Payment Type" +msgstr "Tip plaćanja" + +#. module: om_recurring_payments +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__account_recurring_template__journal_state__posted +msgid "Posted" +msgstr "Proknjižen" + +#. module: om_recurring_payments +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__recurring_payment__payment_type__inbound +msgid "Receive Money" +msgstr "Primi novac" + +#. module: om_recurring_payments +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_recurring_payment_form +msgid "Recurring Entries" +msgstr "Recurring Stavke" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__recurring_interval +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__recurring_interval +msgid "Recurring Interval" +msgstr "Recurring Interval" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__line_ids +msgid "Recurring Lines" +msgstr "Recurring Lines" + +#. module: om_recurring_payments +#: model:ir.actions.act_window,name:om_recurring_payments.action_account_recurring_payment +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__recurring_payment_id +#: model:ir.ui.menu,name:om_recurring_payments.menu_recurring_payment +#: model:ir.ui.menu,name:om_recurring_payments.menu_recurring_payments +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_recurring_payment_form +msgid "Recurring Payment" +msgstr "Recurring Plaćanje" + +#. module: om_recurring_payments +#: model:ir.model,name:om_recurring_payments.model_recurring_payment_line +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_recurring_payment_form +msgid "Recurring Payment Line" +msgstr "Recurring Plaćanje Line" + +#. module: om_recurring_payments +#: model:ir.model,name:om_recurring_payments.model_recurring_payment +msgid "Recurring Payment(" +msgstr "Recurring Plaćanje(" + +#. module: om_recurring_payments +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_account_recurring_payment_tree +msgid "Recurring Payments" +msgstr "Recurring Plaćanja" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__recurring_period +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__recurring_period +msgid "Recurring Period" +msgstr "Recurring Period" + +#. module: om_recurring_payments +#: model:ir.actions.act_window,name:om_recurring_payments.action_account_recurring_template +#: model:ir.model,name:om_recurring_payments.model_account_recurring_template +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__template_id +#: model:ir.ui.menu,name:om_recurring_payments.menu_recurring_template +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_account_recurring_template_tree +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_recurring_template_form +msgid "Recurring Template" +msgstr "Recurring Šablon" + +#. module: om_recurring_payments +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__recurring_payment__payment_type__outbound +msgid "Send Money" +msgstr "Slanje novca" + +#. module: om_recurring_payments +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_recurring_payment_form +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_recurring_template_form +msgid "Set To Draft" +msgstr "Stavi u pripremu" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__date_begin +msgid "Start Date" +msgstr "Početni datum" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__state +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__state +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__state +msgid "Status" +msgstr "Status" + +#. module: om_recurring_payments +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__account_recurring_template__journal_state__draft +msgid "Un Posted" +msgstr "Un Proknjiženo" + +#. module: om_recurring_payments +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__account_recurring_template__recurring_period__weeks +msgid "Weeks" +msgstr "Sedmice" + +#. module: om_recurring_payments +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__account_recurring_template__recurring_period__years +msgid "Years" +msgstr "Godine" + +#. module: om_recurring_payments +#. odoo-python +#: code:addons/om_recurring_payments/models/recurring_payment.py:0 +#, python-format +msgid "You cannot Set to Draft as one of the line is already in done state" +msgstr "You cannot Set to Nacrt as one of the line is already in Završeno state" diff --git a/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/i18n/om_recurring_payments.pot b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/i18n/om_recurring_payments.pot new file mode 100644 index 0000000..49db2e4 --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/i18n/om_recurring_payments.pot @@ -0,0 +1,316 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * om_recurring_payments +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-04-26 14:55+0000\n" +"PO-Revision-Date: 2024-04-26 14:55+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: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__amount +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__amount +msgid "Amount" +msgstr "" + +#. module: om_recurring_payments +#. odoo-python +#: code:addons/om_recurring_payments/models/recurring_payment.py:0 +#, python-format +msgid "Amount Must Be Non-Zero Positive Number" +msgstr "" + +#. module: om_recurring_payments +#. odoo-python +#: code:addons/om_recurring_payments/models/recurring_payment.py:0 +#, python-format +msgid "Cannot delete done records !" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__company_id +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__company_id +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__company_id +msgid "Company" +msgstr "" + +#. module: om_recurring_payments +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_recurring_template_form +msgid "Confirm" +msgstr "" + +#. module: om_recurring_payments +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_recurring_payment_form +msgid "Create Payment" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__create_uid +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__create_uid +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__create_uid +msgid "Created by" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__create_date +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__create_date +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__create_date +msgid "Created on" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__currency_id +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__currency_id +msgid "Currency" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__date +msgid "Date" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__account_recurring_template__recurring_period__days +msgid "Days" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__description +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__description +msgid "Description" +msgstr "" + +#. module: om_recurring_payments +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_recurring_payment_form +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_recurring_template_form +msgid "Description..." +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__display_name +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__display_name +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__display_name +msgid "Display Name" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__account_recurring_template__state__done +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__recurring_payment__state__done +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__recurring_payment_line__state__done +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_recurring_payment_form +msgid "Done" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__account_recurring_template__state__draft +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__recurring_payment__state__draft +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__recurring_payment_line__state__draft +msgid "Draft" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__date_end +msgid "End Date" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__journal_state +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__journal_state +msgid "Generate Journal As" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.actions.server,name:om_recurring_payments.action_generate_recurring_payment_ir_actions_server +#: model:ir.cron,cron_name:om_recurring_payments.action_generate_recurring_payment +msgid "Generate Recurring Payments" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__id +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__id +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__id +msgid "ID" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__journal_id +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__journal_id +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__journal_id +msgid "Journal" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template____last_update +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment____last_update +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__write_uid +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__write_uid +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__write_date +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__write_date +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__write_date +msgid "Last Updated on" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__account_recurring_template__recurring_period__months +msgid "Months" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__name +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__name +msgid "Name" +msgstr "" + +#. module: om_recurring_payments +#. odoo-python +#: code:addons/om_recurring_payments/models/recurring_payment.py:0 +#: code:addons/om_recurring_payments/models/recurring_payment.py:0 +#, python-format +msgid "New" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__partner_id +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__partner_id +msgid "Partner" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__payment_id +msgid "Payment" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__payment_type +msgid "Payment Type" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__account_recurring_template__journal_state__posted +msgid "Posted" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__recurring_payment__payment_type__inbound +msgid "Receive Money" +msgstr "" + +#. module: om_recurring_payments +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_recurring_payment_form +msgid "Recurring Entries" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__recurring_interval +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__recurring_interval +msgid "Recurring Interval" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__line_ids +msgid "Recurring Lines" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.actions.act_window,name:om_recurring_payments.action_account_recurring_payment +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__recurring_payment_id +#: model:ir.ui.menu,name:om_recurring_payments.menu_recurring_payment +#: model:ir.ui.menu,name:om_recurring_payments.menu_recurring_payments +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_recurring_payment_form +msgid "Recurring Payment" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model,name:om_recurring_payments.model_recurring_payment_line +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_recurring_payment_form +msgid "Recurring Payment Line" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model,name:om_recurring_payments.model_recurring_payment +msgid "Recurring Payment(" +msgstr "" + +#. module: om_recurring_payments +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_account_recurring_payment_tree +msgid "Recurring Payments" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__recurring_period +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__recurring_period +msgid "Recurring Period" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.actions.act_window,name:om_recurring_payments.action_account_recurring_template +#: model:ir.model,name:om_recurring_payments.model_account_recurring_template +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__template_id +#: model:ir.ui.menu,name:om_recurring_payments.menu_recurring_template +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_account_recurring_template_tree +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_recurring_template_form +msgid "Recurring Template" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__recurring_payment__payment_type__outbound +msgid "Send Money" +msgstr "" + +#. module: om_recurring_payments +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_recurring_payment_form +#: model_terms:ir.ui.view,arch_db:om_recurring_payments.view_recurring_template_form +msgid "Set To Draft" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__date_begin +msgid "Start Date" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields,field_description:om_recurring_payments.field_account_recurring_template__state +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment__state +#: model:ir.model.fields,field_description:om_recurring_payments.field_recurring_payment_line__state +msgid "Status" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__account_recurring_template__journal_state__draft +msgid "Un Posted" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__account_recurring_template__recurring_period__weeks +msgid "Weeks" +msgstr "" + +#. module: om_recurring_payments +#: model:ir.model.fields.selection,name:om_recurring_payments.selection__account_recurring_template__recurring_period__years +msgid "Years" +msgstr "" + +#. module: om_recurring_payments +#. odoo-python +#: code:addons/om_recurring_payments/models/recurring_payment.py:0 +#, python-format +msgid "You cannot Set to Draft as one of the line is already in done state" +msgstr "" diff --git a/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/models/__init__.py b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/models/__init__.py new file mode 100644 index 0000000..57e35da --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import recurring_template +from . import recurring_payment diff --git a/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/models/recurring_payment.py b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/models/recurring_payment.py new file mode 100644 index 0000000..2a7c987 --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/models/recurring_payment.py @@ -0,0 +1,141 @@ +# -*- coding: utf-8 -*- + +from datetime import date +from dateutil.relativedelta import relativedelta +from odoo import models, fields, api, _ +from odoo.exceptions import ValidationError + + +class RecurringPayment(models.Model): + _name = 'recurring.payment' + _description = 'Recurring Payment(' + _rec_name = 'name' + + name = fields.Char('Name', readonly=True) + partner_id = fields.Many2one('res.partner', string="Partner", required=True) + company_id = fields.Many2one('res.company', string='Company', default=lambda self: self.env.company.id) + currency_id = fields.Many2one('res.currency', string='Currency', related='company_id.currency_id') + amount = fields.Monetary(string="Amount", currency_field='currency_id') + journal_id = fields.Many2one('account.journal', 'Journal', + related='template_id.journal_id', readonly=False, required=True) + payment_type = fields.Selection([ + ('outbound', 'Send Money'), + ('inbound', 'Receive Money'), + ], string='Payment Type', required=True, default='inbound') + state = fields.Selection(selection=[('draft', 'Draft'), + ('done', 'Done')], default='draft', string='Status') + date_begin = fields.Date(string='Start Date', required=True) + date_end = fields.Date(string='End Date', required=True) + template_id = fields.Many2one('account.recurring.template', 'Recurring Template', + domain=[('state', '=', 'done')],required=True) + recurring_period = fields.Selection(related='template_id.recurring_period') + recurring_interval = fields.Integer('Recurring Interval', required=True, + related='template_id.recurring_interval', readonly=True) + journal_state = fields.Selection(required=True, string='Generate Journal As', + related='template_id.journal_state') + + description = fields.Text('Description') + line_ids = fields.One2many('recurring.payment.line', 'recurring_payment_id', string='Recurring Lines') + + def compute_next_date(self, date): + period = self.recurring_period + interval = self.recurring_interval + if period == 'days': + date += relativedelta(days=interval) + elif period == 'weeks': + date += relativedelta(weeks=interval) + elif period == 'months': + date += relativedelta(months=interval) + else: + date += relativedelta(years=interval) + return date + + def action_create_lines(self, date): + ids = self.env['recurring.payment.line'] + vals = { + 'partner_id': self.partner_id.id, + 'amount': self.amount, + 'date': date, + 'recurring_payment_id': self.id, + 'journal_id': self.journal_id.id, + 'currency_id': self.currency_id.id, + 'state': 'draft' + } + ids.create(vals) + + def action_done(self): + date_begin = self.date_begin + while date_begin < self.date_end: + date = date_begin + self.action_create_lines(date) + date_begin = self.compute_next_date(date) + self.state = 'done' + + def action_draft(self): + if self.line_ids.filtered(lambda t: t.state == 'done'): + raise ValidationError(_('You cannot Set to Draft as one of the line is already in done state')) + else: + for line in self.line_ids: + line.unlink() + self.state = 'draft' + + def action_generate_payment(self): + line_ids = self.env['recurring.payment.line'].search([('date', '<=', date.today()), + ('state', '!=', 'done')]) + for line in line_ids: + line.action_create_payment() + + @api.model_create_multi + def create(self, vals_list): + for vals in vals_list: + if 'company_id' in vals: + vals['name'] = self.env['ir.sequence'].with_context(force_company=vals['company_id']).next_by_code( + 'recurring.payment') or _('New') + else: + vals['name'] = self.env['ir.sequence'].next_by_code('recurring.payment') or _('New') + return super(RecurringPayment, self).create(vals) + + @api.constrains('amount') + def _check_amount(self): + if self.amount <= 0: + raise ValidationError(_('Amount Must Be Non-Zero Positive Number')) + + def unlink(self): + for rec in self: + if rec.state == 'done': + raise ValidationError(_('Cannot delete done records !')) + return super(RecurringPayment, self).unlink() + + +class RecurringPaymentLine(models.Model): + _name = 'recurring.payment.line' + _description = 'Recurring Payment Line' + + recurring_payment_id = fields.Many2one('recurring.payment', string="Recurring Payment") + partner_id = fields.Many2one('res.partner', 'Partner', required=True) + amount = fields.Monetary('Amount', required=True, default=0.0) + date = fields.Date('Date', required=True, default=date.today()) + journal_id = fields.Many2one('account.journal', 'Journal', required=True) + company_id = fields.Many2one('res.company', string='Company', default=lambda self: self.env.company.id) + currency_id = fields.Many2one('res.currency', string='Currency', related='company_id.currency_id') + payment_id = fields.Many2one('account.payment', string='Payment') + state = fields.Selection(selection=[('draft', 'Draft'), + ('done', 'Done')], default='draft', string='Status') + + def action_create_payment(self): + vals = { + 'payment_type': self.recurring_payment_id.payment_type, + 'amount': self.amount, + 'currency_id': self.currency_id.id, + 'journal_id': self.journal_id.id, + 'company_id': self.company_id.id, + 'date': self.date, + 'ref': self.recurring_payment_id.name, + 'partner_id': self.partner_id.id, + } + payment = self.env['account.payment'].create(vals) + if payment: + if self.recurring_payment_id.journal_state == 'posted': + payment.action_post() + self.write({'state': 'done', 'payment_id': payment.id}) + diff --git a/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/models/recurring_template.py b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/models/recurring_template.py new file mode 100644 index 0000000..f534432 --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/models/recurring_template.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- + +from dateutil.relativedelta import relativedelta +from odoo import models, fields, api + + +class AccountRecurringTemplate(models.Model): + _name = 'account.recurring.template' + _description = 'Recurring Template' + _rec_name = 'name' + + name = fields.Char('Name', required=True) + # account_id = fields.Many2one('account.account', 'Account', required=True) + journal_id = fields.Many2one('account.journal', 'Journal', required=True) + recurring_period = fields.Selection(selection=[('days', 'Days'), + ('weeks', 'Weeks'), + ('months', 'Months'), + ('years', 'Years')], store=True, required=True) + # date_begin = fields.Date(string='Start Date', required=True) + # date_end = fields.Date(string='End Date', required=True) + description = fields.Text('Description') + state = fields.Selection(selection=[('draft', 'Draft'), + ('done', 'Done')], default='draft', string='Status') + journal_state = fields.Selection(selection=[('draft', 'Un Posted'), + ('posted', 'Posted')], + required=True, default='draft', string='Generate Journal As') + recurring_interval = fields.Integer('Recurring Interval', default=1, required=True) + company_id = fields.Many2one('res.company', string='Company', default=lambda self: self.env.company.id) + # next_call = fields.Date(string="Next Call", compute="_compute_next_call") + + @api.depends('date_begin', 'date_end') + def _compute_next_call(self): + for rec in self: + exec_date = rec.date_begin + relativedelta(days=rec.recurring_interval) + if exec_date <= rec.date_end: + rec.next_call = exec_date + else: + rec.state = 'done' + + def action_draft(self): + for rec in self: + rec.state = 'draft' + + def action_done(self): + for rec in self: + rec.state = 'done' + + diff --git a/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/security/ir.model.access.csv b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/security/ir.model.access.csv new file mode 100644 index 0000000..0ddee6c --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/security/ir.model.access.csv @@ -0,0 +1,4 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_account_recurring_template,access.account.recurring.template,model_account_recurring_template,account.group_account_user,1,1,1,1 +access_recurring_payment,access.recurring.payment,model_recurring_payment,account.group_account_user,1,1,1,1 +access_recurring_payment_line,recurring.payment.line,model_recurring_payment_line,account.group_account_invoice,1,1,1,1 diff --git a/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/static/description/banner.png b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/static/description/banner.png new file mode 100644 index 0000000..394a351 Binary files /dev/null and b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/static/description/banner.png differ diff --git a/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/static/description/icon.png b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/static/description/icon.png new file mode 100644 index 0000000..3d76c33 Binary files /dev/null and b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/static/description/icon.png differ diff --git a/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/static/description/index.html b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/static/description/index.html new file mode 100644 index 0000000..3f9fb8d --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/static/description/index.html @@ -0,0 +1,60 @@ +
+
+

Odoo 16 Recurring Payment

+
+
+ + +
+
+
+

Recurring Payment

+
+ +
+
+
+
+ +
+
+
+

Recurring Template

+
+ +
+
+
+
+ +
+
+
+
+
+ +
+

If you need any help or want more features, just contact us:


+

Email: odoomates@gmail.com

+
+ +
+
+
+
+
diff --git a/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/static/description/odoo_mates.png b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/static/description/odoo_mates.png new file mode 100644 index 0000000..8408fa3 Binary files /dev/null and b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/static/description/odoo_mates.png differ diff --git a/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/static/description/recurring_payment.png b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/static/description/recurring_payment.png new file mode 100644 index 0000000..01f8b74 Binary files /dev/null and b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/static/description/recurring_payment.png differ diff --git a/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/static/description/recurring_template.png b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/static/description/recurring_template.png new file mode 100644 index 0000000..0530b42 Binary files /dev/null and b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/static/description/recurring_template.png differ diff --git a/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/views/recurring_payment_view.xml b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/views/recurring_payment_view.xml new file mode 100644 index 0000000..9c72ca9 --- /dev/null +++ b/odoo-bringout-odoomates-om_recurring_payments/om_recurring_payments/views/recurring_payment_view.xml @@ -0,0 +1,107 @@ + + + + + recurring.payment.form + recurring.payment + +
+
+
+ + + +

+ +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +