odoo-addon-account-loan 16.0.1.0.5__py3-none-any.whl → 17.0.1.0.0.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of odoo-addon-account-loan might be problematic. Click here for more details.
- odoo/addons/account_loan/README.rst +37 -33
- odoo/addons/account_loan/__manifest__.py +1 -1
- odoo/addons/account_loan/i18n/account_loan.pot +1 -24
- odoo/addons/account_loan/i18n/am.po +2 -25
- odoo/addons/account_loan/i18n/ar.po +4 -28
- odoo/addons/account_loan/i18n/bg.po +4 -24
- odoo/addons/account_loan/i18n/bs.po +6 -30
- odoo/addons/account_loan/i18n/ca.po +6 -30
- odoo/addons/account_loan/i18n/ca_ES.po +0 -23
- odoo/addons/account_loan/i18n/cs.po +4 -28
- odoo/addons/account_loan/i18n/da.po +5 -22
- odoo/addons/account_loan/i18n/de.po +4 -46
- odoo/addons/account_loan/i18n/el_GR.po +2 -25
- odoo/addons/account_loan/i18n/en_AU.po +2 -22
- odoo/addons/account_loan/i18n/en_GB.po +4 -28
- odoo/addons/account_loan/i18n/es.po +6 -62
- odoo/addons/account_loan/i18n/es_AR.po +10 -24
- odoo/addons/account_loan/i18n/es_CL.po +5 -22
- odoo/addons/account_loan/i18n/es_CO.po +4 -24
- odoo/addons/account_loan/i18n/es_CR.po +2 -29
- odoo/addons/account_loan/i18n/es_DO.po +5 -22
- odoo/addons/account_loan/i18n/es_EC.po +4 -28
- odoo/addons/account_loan/i18n/es_ES.po +5 -22
- odoo/addons/account_loan/i18n/es_MX.po +4 -28
- odoo/addons/account_loan/i18n/es_PE.po +5 -22
- odoo/addons/account_loan/i18n/es_PY.po +0 -23
- odoo/addons/account_loan/i18n/es_VE.po +2 -26
- odoo/addons/account_loan/i18n/et.po +4 -28
- odoo/addons/account_loan/i18n/eu.po +2 -22
- odoo/addons/account_loan/i18n/fa.po +5 -22
- odoo/addons/account_loan/i18n/fi.po +4 -24
- odoo/addons/account_loan/i18n/fr.po +4 -31
- odoo/addons/account_loan/i18n/fr_CA.po +2 -25
- odoo/addons/account_loan/i18n/fr_CH.po +4 -24
- odoo/addons/account_loan/i18n/fr_FR.po +2 -25
- odoo/addons/account_loan/i18n/gl.po +4 -27
- odoo/addons/account_loan/i18n/gl_ES.po +0 -23
- odoo/addons/account_loan/i18n/gu.po +0 -23
- odoo/addons/account_loan/i18n/he.po +5 -22
- odoo/addons/account_loan/i18n/hi.po +0 -23
- odoo/addons/account_loan/i18n/hr.po +6 -33
- odoo/addons/account_loan/i18n/hr_HR.po +4 -30
- odoo/addons/account_loan/i18n/hu.po +4 -28
- odoo/addons/account_loan/i18n/id.po +4 -28
- odoo/addons/account_loan/i18n/it.po +6 -62
- odoo/addons/account_loan/i18n/ja.po +4 -28
- odoo/addons/account_loan/i18n/ko.po +5 -22
- odoo/addons/account_loan/i18n/lo.po +2 -22
- odoo/addons/account_loan/i18n/lt.po +6 -30
- odoo/addons/account_loan/i18n/lt_LT.po +4 -24
- odoo/addons/account_loan/i18n/lv.po +2 -22
- odoo/addons/account_loan/i18n/mk.po +4 -28
- odoo/addons/account_loan/i18n/mn.po +4 -28
- odoo/addons/account_loan/i18n/nb.po +4 -28
- odoo/addons/account_loan/i18n/nb_NO.po +2 -25
- odoo/addons/account_loan/i18n/nl.po +4 -31
- odoo/addons/account_loan/i18n/nl_BE.po +4 -28
- odoo/addons/account_loan/i18n/nl_NL.po +0 -26
- odoo/addons/account_loan/i18n/pl.po +7 -31
- odoo/addons/account_loan/i18n/pt.po +6 -59
- odoo/addons/account_loan/i18n/pt_BR.po +8 -61
- odoo/addons/account_loan/i18n/pt_PT.po +4 -31
- odoo/addons/account_loan/i18n/ro.po +4 -28
- odoo/addons/account_loan/i18n/ru.po +5 -32
- odoo/addons/account_loan/i18n/sk.po +5 -22
- odoo/addons/account_loan/i18n/sk_SK.po +0 -26
- odoo/addons/account_loan/i18n/sl.po +6 -35
- odoo/addons/account_loan/i18n/sr.po +2 -25
- odoo/addons/account_loan/i18n/sr@latin.po +8 -29
- odoo/addons/account_loan/i18n/sv.po +8 -28
- odoo/addons/account_loan/i18n/th.po +4 -24
- odoo/addons/account_loan/i18n/tr.po +4 -28
- odoo/addons/account_loan/i18n/tr_TR.po +4 -28
- odoo/addons/account_loan/i18n/uk.po +7 -24
- odoo/addons/account_loan/i18n/vi.po +4 -25
- odoo/addons/account_loan/i18n/vi_VN.po +2 -22
- odoo/addons/account_loan/i18n/zh_CN.po +4 -28
- odoo/addons/account_loan/i18n/zh_TW.po +4 -28
- odoo/addons/account_loan/migrations/17.0.1.0.0/noupdate_changes.xml +9 -0
- odoo/addons/account_loan/migrations/17.0.1.0.0/post-migration.py +10 -0
- odoo/addons/account_loan/models/account_loan.py +4 -44
- odoo/addons/account_loan/models/account_loan_line.py +5 -14
- odoo/addons/account_loan/models/res_partner.py +0 -2
- odoo/addons/account_loan/readme/CONTRIBUTORS.md +3 -0
- odoo/addons/account_loan/readme/DESCRIPTION.md +13 -0
- odoo/addons/account_loan/readme/HISTORY.md +4 -0
- odoo/addons/account_loan/readme/USAGE.md +17 -0
- odoo/addons/account_loan/security/account_loan_security.xml +2 -6
- odoo/addons/account_loan/static/description/index.html +23 -22
- odoo/addons/account_loan/tests/test_loan.py +23 -11
- odoo/addons/account_loan/views/account_loan_lines_view.xml +15 -11
- odoo/addons/account_loan/views/account_loan_view.xml +53 -35
- odoo/addons/account_loan/views/account_move_view.xml +1 -1
- odoo/addons/account_loan/views/res_partner.xml +2 -2
- odoo/addons/account_loan/wizards/account_loan_generate_entries_view.xml +0 -1
- odoo/addons/account_loan/wizards/account_loan_increase_amount.xml +0 -1
- odoo/addons/account_loan/wizards/account_loan_pay_amount_view.xml +0 -1
- odoo/addons/account_loan/wizards/account_loan_post_view.xml +0 -1
- {odoo_addon_account_loan-16.0.1.0.5.dist-info → odoo_addon_account_loan-17.0.1.0.0.4.dist-info}/METADATA +44 -40
- odoo_addon_account_loan-17.0.1.0.0.4.dist-info/RECORD +114 -0
- {odoo_addon_account_loan-16.0.1.0.5.dist-info → odoo_addon_account_loan-17.0.1.0.0.4.dist-info}/WHEEL +1 -1
- odoo_addon_account_loan-17.0.1.0.0.4.dist-info/top_level.txt +1 -0
- odoo/addons/account_loan/readme/CONTRIBUTORS.rst +0 -3
- odoo/addons/account_loan/readme/DESCRIPTION.rst +0 -12
- odoo/addons/account_loan/readme/HISTORY.rst +0 -4
- odoo/addons/account_loan/readme/USAGE.rst +0 -18
- odoo_addon_account_loan-16.0.1.0.5.dist-info/RECORD +0 -112
- odoo_addon_account_loan-16.0.1.0.5.dist-info/top_level.txt +0 -1
|
@@ -463,16 +463,6 @@ msgstr ""
|
|
|
463
463
|
msgid "Journal Type"
|
|
464
464
|
msgstr ""
|
|
465
465
|
|
|
466
|
-
#. module: account_loan
|
|
467
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan____last_update
|
|
468
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_generate_wizard____last_update
|
|
469
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_increase_amount____last_update
|
|
470
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_line____last_update
|
|
471
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_pay_amount____last_update
|
|
472
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_post____last_update
|
|
473
|
-
msgid "Last Modified on"
|
|
474
|
-
msgstr "Son değişiklik"
|
|
475
|
-
|
|
476
466
|
#. module: account_loan
|
|
477
467
|
#: model:ir.model.fields,field_description:account_loan.field_account_loan__write_uid
|
|
478
468
|
#: model:ir.model.fields,field_description:account_loan.field_account_loan_generate_wizard__write_uid
|
|
@@ -618,11 +608,6 @@ msgstr ""
|
|
|
618
608
|
msgid "Long term account"
|
|
619
609
|
msgstr ""
|
|
620
610
|
|
|
621
|
-
#. module: account_loan
|
|
622
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan__message_main_attachment_id
|
|
623
|
-
msgid "Main Attachment"
|
|
624
|
-
msgstr ""
|
|
625
|
-
|
|
626
611
|
#. module: account_loan
|
|
627
612
|
#: model:ir.model.fields,field_description:account_loan.field_account_loan__message_has_error
|
|
628
613
|
msgid "Message Delivery error"
|
|
@@ -1023,17 +1008,8 @@ msgstr ""
|
|
|
1023
1008
|
msgid "When checked, the first payment will be on start date"
|
|
1024
1009
|
msgstr ""
|
|
1025
1010
|
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
#: model_terms:ir.ui.view,arch_db:account_loan.account_loan_increase_amount_form_view
|
|
1029
|
-
#: model_terms:ir.ui.view,arch_db:account_loan.account_loan_pay_amount_form
|
|
1030
|
-
#: model_terms:ir.ui.view,arch_db:account_loan.account_loan_post_form
|
|
1031
|
-
msgid "or"
|
|
1032
|
-
msgstr "ya da"
|
|
1033
|
-
|
|
1034
|
-
#~ msgid "Invoice"
|
|
1035
|
-
#~ msgstr "Fatura"
|
|
1011
|
+
#~ msgid "Last Modified on"
|
|
1012
|
+
#~ msgstr "Son değişiklik"
|
|
1036
1013
|
|
|
1037
|
-
|
|
1038
|
-
#~
|
|
1039
|
-
#~ msgstr "Günlük"
|
|
1014
|
+
#~ msgid "or"
|
|
1015
|
+
#~ msgstr "ya da"
|
|
@@ -464,16 +464,6 @@ msgstr ""
|
|
|
464
464
|
msgid "Journal Type"
|
|
465
465
|
msgstr ""
|
|
466
466
|
|
|
467
|
-
#. module: account_loan
|
|
468
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan____last_update
|
|
469
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_generate_wizard____last_update
|
|
470
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_increase_amount____last_update
|
|
471
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_line____last_update
|
|
472
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_pay_amount____last_update
|
|
473
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_post____last_update
|
|
474
|
-
msgid "Last Modified on"
|
|
475
|
-
msgstr "En son güncelleme tarihi"
|
|
476
|
-
|
|
477
467
|
#. module: account_loan
|
|
478
468
|
#: model:ir.model.fields,field_description:account_loan.field_account_loan__write_uid
|
|
479
469
|
#: model:ir.model.fields,field_description:account_loan.field_account_loan_generate_wizard__write_uid
|
|
@@ -619,11 +609,6 @@ msgstr ""
|
|
|
619
609
|
msgid "Long term account"
|
|
620
610
|
msgstr ""
|
|
621
611
|
|
|
622
|
-
#. module: account_loan
|
|
623
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan__message_main_attachment_id
|
|
624
|
-
msgid "Main Attachment"
|
|
625
|
-
msgstr ""
|
|
626
|
-
|
|
627
612
|
#. module: account_loan
|
|
628
613
|
#: model:ir.model.fields,field_description:account_loan.field_account_loan__message_has_error
|
|
629
614
|
msgid "Message Delivery error"
|
|
@@ -1024,17 +1009,8 @@ msgstr ""
|
|
|
1024
1009
|
msgid "When checked, the first payment will be on start date"
|
|
1025
1010
|
msgstr ""
|
|
1026
1011
|
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
#: model_terms:ir.ui.view,arch_db:account_loan.account_loan_increase_amount_form_view
|
|
1030
|
-
#: model_terms:ir.ui.view,arch_db:account_loan.account_loan_pay_amount_form
|
|
1031
|
-
#: model_terms:ir.ui.view,arch_db:account_loan.account_loan_post_form
|
|
1032
|
-
msgid "or"
|
|
1033
|
-
msgstr "ya da "
|
|
1034
|
-
|
|
1035
|
-
#~ msgid "Invoice"
|
|
1036
|
-
#~ msgstr "Fatura"
|
|
1012
|
+
#~ msgid "Last Modified on"
|
|
1013
|
+
#~ msgstr "En son güncelleme tarihi"
|
|
1037
1014
|
|
|
1038
|
-
|
|
1039
|
-
#~
|
|
1040
|
-
#~ msgstr "Yevmiye"
|
|
1015
|
+
#~ msgid "or"
|
|
1016
|
+
#~ msgstr "ya da "
|
|
@@ -16,8 +16,8 @@ msgstr ""
|
|
|
16
16
|
"MIME-Version: 1.0\n"
|
|
17
17
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
18
18
|
"Content-Transfer-Encoding: \n"
|
|
19
|
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 &&
|
|
20
|
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
|
19
|
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
|
20
|
+
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
|
21
21
|
|
|
22
22
|
#. module: account_loan
|
|
23
23
|
#: model_terms:ir.ui.view,arch_db:account_loan.account_loan_form
|
|
@@ -464,16 +464,6 @@ msgstr ""
|
|
|
464
464
|
msgid "Journal Type"
|
|
465
465
|
msgstr ""
|
|
466
466
|
|
|
467
|
-
#. module: account_loan
|
|
468
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan____last_update
|
|
469
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_generate_wizard____last_update
|
|
470
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_increase_amount____last_update
|
|
471
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_line____last_update
|
|
472
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_pay_amount____last_update
|
|
473
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_post____last_update
|
|
474
|
-
msgid "Last Modified on"
|
|
475
|
-
msgstr "Остання модифікація"
|
|
476
|
-
|
|
477
467
|
#. module: account_loan
|
|
478
468
|
#: model:ir.model.fields,field_description:account_loan.field_account_loan__write_uid
|
|
479
469
|
#: model:ir.model.fields,field_description:account_loan.field_account_loan_generate_wizard__write_uid
|
|
@@ -619,11 +609,6 @@ msgstr ""
|
|
|
619
609
|
msgid "Long term account"
|
|
620
610
|
msgstr ""
|
|
621
611
|
|
|
622
|
-
#. module: account_loan
|
|
623
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan__message_main_attachment_id
|
|
624
|
-
msgid "Main Attachment"
|
|
625
|
-
msgstr ""
|
|
626
|
-
|
|
627
612
|
#. module: account_loan
|
|
628
613
|
#: model:ir.model.fields,field_description:account_loan.field_account_loan__message_has_error
|
|
629
614
|
msgid "Message Delivery error"
|
|
@@ -1023,10 +1008,8 @@ msgstr ""
|
|
|
1023
1008
|
msgid "When checked, the first payment will be on start date"
|
|
1024
1009
|
msgstr ""
|
|
1025
1010
|
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
msgid "or"
|
|
1032
|
-
msgstr "або"
|
|
1011
|
+
#~ msgid "Last Modified on"
|
|
1012
|
+
#~ msgstr "Остання модифікація"
|
|
1013
|
+
|
|
1014
|
+
#~ msgid "or"
|
|
1015
|
+
#~ msgstr "або"
|
|
@@ -463,16 +463,6 @@ msgstr ""
|
|
|
463
463
|
msgid "Journal Type"
|
|
464
464
|
msgstr ""
|
|
465
465
|
|
|
466
|
-
#. module: account_loan
|
|
467
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan____last_update
|
|
468
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_generate_wizard____last_update
|
|
469
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_increase_amount____last_update
|
|
470
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_line____last_update
|
|
471
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_pay_amount____last_update
|
|
472
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_post____last_update
|
|
473
|
-
msgid "Last Modified on"
|
|
474
|
-
msgstr "Sửa lần cuối vào"
|
|
475
|
-
|
|
476
466
|
#. module: account_loan
|
|
477
467
|
#: model:ir.model.fields,field_description:account_loan.field_account_loan__write_uid
|
|
478
468
|
#: model:ir.model.fields,field_description:account_loan.field_account_loan_generate_wizard__write_uid
|
|
@@ -618,11 +608,6 @@ msgstr ""
|
|
|
618
608
|
msgid "Long term account"
|
|
619
609
|
msgstr ""
|
|
620
610
|
|
|
621
|
-
#. module: account_loan
|
|
622
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan__message_main_attachment_id
|
|
623
|
-
msgid "Main Attachment"
|
|
624
|
-
msgstr ""
|
|
625
|
-
|
|
626
611
|
#. module: account_loan
|
|
627
612
|
#: model:ir.model.fields,field_description:account_loan.field_account_loan__message_has_error
|
|
628
613
|
msgid "Message Delivery error"
|
|
@@ -1022,14 +1007,8 @@ msgstr ""
|
|
|
1022
1007
|
msgid "When checked, the first payment will be on start date"
|
|
1023
1008
|
msgstr ""
|
|
1024
1009
|
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
#: model_terms:ir.ui.view,arch_db:account_loan.account_loan_increase_amount_form_view
|
|
1028
|
-
#: model_terms:ir.ui.view,arch_db:account_loan.account_loan_pay_amount_form
|
|
1029
|
-
#: model_terms:ir.ui.view,arch_db:account_loan.account_loan_post_form
|
|
1030
|
-
msgid "or"
|
|
1031
|
-
msgstr "hoặc"
|
|
1010
|
+
#~ msgid "Last Modified on"
|
|
1011
|
+
#~ msgstr "Sửa lần cuối vào"
|
|
1032
1012
|
|
|
1033
|
-
|
|
1034
|
-
#~
|
|
1035
|
-
#~ msgstr "Sổ nhật ký"
|
|
1013
|
+
#~ msgid "or"
|
|
1014
|
+
#~ msgstr "hoặc"
|
|
@@ -464,16 +464,6 @@ msgstr ""
|
|
|
464
464
|
msgid "Journal Type"
|
|
465
465
|
msgstr ""
|
|
466
466
|
|
|
467
|
-
#. module: account_loan
|
|
468
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan____last_update
|
|
469
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_generate_wizard____last_update
|
|
470
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_increase_amount____last_update
|
|
471
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_line____last_update
|
|
472
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_pay_amount____last_update
|
|
473
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_post____last_update
|
|
474
|
-
msgid "Last Modified on"
|
|
475
|
-
msgstr ""
|
|
476
|
-
|
|
477
467
|
#. module: account_loan
|
|
478
468
|
#: model:ir.model.fields,field_description:account_loan.field_account_loan__write_uid
|
|
479
469
|
#: model:ir.model.fields,field_description:account_loan.field_account_loan_generate_wizard__write_uid
|
|
@@ -619,11 +609,6 @@ msgstr ""
|
|
|
619
609
|
msgid "Long term account"
|
|
620
610
|
msgstr ""
|
|
621
611
|
|
|
622
|
-
#. module: account_loan
|
|
623
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan__message_main_attachment_id
|
|
624
|
-
msgid "Main Attachment"
|
|
625
|
-
msgstr ""
|
|
626
|
-
|
|
627
612
|
#. module: account_loan
|
|
628
613
|
#: model:ir.model.fields,field_description:account_loan.field_account_loan__message_has_error
|
|
629
614
|
msgid "Message Delivery error"
|
|
@@ -1023,10 +1008,5 @@ msgstr ""
|
|
|
1023
1008
|
msgid "When checked, the first payment will be on start date"
|
|
1024
1009
|
msgstr ""
|
|
1025
1010
|
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
#: model_terms:ir.ui.view,arch_db:account_loan.account_loan_increase_amount_form_view
|
|
1029
|
-
#: model_terms:ir.ui.view,arch_db:account_loan.account_loan_pay_amount_form
|
|
1030
|
-
#: model_terms:ir.ui.view,arch_db:account_loan.account_loan_post_form
|
|
1031
|
-
msgid "or"
|
|
1032
|
-
msgstr "hoặc"
|
|
1011
|
+
#~ msgid "or"
|
|
1012
|
+
#~ msgstr "hoặc"
|
|
@@ -464,16 +464,6 @@ msgstr ""
|
|
|
464
464
|
msgid "Journal Type"
|
|
465
465
|
msgstr ""
|
|
466
466
|
|
|
467
|
-
#. module: account_loan
|
|
468
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan____last_update
|
|
469
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_generate_wizard____last_update
|
|
470
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_increase_amount____last_update
|
|
471
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_line____last_update
|
|
472
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_pay_amount____last_update
|
|
473
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_post____last_update
|
|
474
|
-
msgid "Last Modified on"
|
|
475
|
-
msgstr "Last Modified on"
|
|
476
|
-
|
|
477
467
|
#. module: account_loan
|
|
478
468
|
#: model:ir.model.fields,field_description:account_loan.field_account_loan__write_uid
|
|
479
469
|
#: model:ir.model.fields,field_description:account_loan.field_account_loan_generate_wizard__write_uid
|
|
@@ -619,11 +609,6 @@ msgstr ""
|
|
|
619
609
|
msgid "Long term account"
|
|
620
610
|
msgstr ""
|
|
621
611
|
|
|
622
|
-
#. module: account_loan
|
|
623
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan__message_main_attachment_id
|
|
624
|
-
msgid "Main Attachment"
|
|
625
|
-
msgstr ""
|
|
626
|
-
|
|
627
612
|
#. module: account_loan
|
|
628
613
|
#: model:ir.model.fields,field_description:account_loan.field_account_loan__message_has_error
|
|
629
614
|
msgid "Message Delivery error"
|
|
@@ -1024,17 +1009,8 @@ msgstr ""
|
|
|
1024
1009
|
msgid "When checked, the first payment will be on start date"
|
|
1025
1010
|
msgstr ""
|
|
1026
1011
|
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
#: model_terms:ir.ui.view,arch_db:account_loan.account_loan_increase_amount_form_view
|
|
1030
|
-
#: model_terms:ir.ui.view,arch_db:account_loan.account_loan_pay_amount_form
|
|
1031
|
-
#: model_terms:ir.ui.view,arch_db:account_loan.account_loan_post_form
|
|
1032
|
-
msgid "or"
|
|
1033
|
-
msgstr "或"
|
|
1034
|
-
|
|
1035
|
-
#~ msgid "Invoice"
|
|
1036
|
-
#~ msgstr "发票"
|
|
1012
|
+
#~ msgid "Last Modified on"
|
|
1013
|
+
#~ msgstr "Last Modified on"
|
|
1037
1014
|
|
|
1038
|
-
|
|
1039
|
-
#~
|
|
1040
|
-
#~ msgstr "凭证簿"
|
|
1015
|
+
#~ msgid "or"
|
|
1016
|
+
#~ msgstr "或"
|
|
@@ -464,16 +464,6 @@ msgstr ""
|
|
|
464
464
|
msgid "Journal Type"
|
|
465
465
|
msgstr ""
|
|
466
466
|
|
|
467
|
-
#. module: account_loan
|
|
468
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan____last_update
|
|
469
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_generate_wizard____last_update
|
|
470
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_increase_amount____last_update
|
|
471
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_line____last_update
|
|
472
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_pay_amount____last_update
|
|
473
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan_post____last_update
|
|
474
|
-
msgid "Last Modified on"
|
|
475
|
-
msgstr "最後修改:"
|
|
476
|
-
|
|
477
467
|
#. module: account_loan
|
|
478
468
|
#: model:ir.model.fields,field_description:account_loan.field_account_loan__write_uid
|
|
479
469
|
#: model:ir.model.fields,field_description:account_loan.field_account_loan_generate_wizard__write_uid
|
|
@@ -619,11 +609,6 @@ msgstr ""
|
|
|
619
609
|
msgid "Long term account"
|
|
620
610
|
msgstr ""
|
|
621
611
|
|
|
622
|
-
#. module: account_loan
|
|
623
|
-
#: model:ir.model.fields,field_description:account_loan.field_account_loan__message_main_attachment_id
|
|
624
|
-
msgid "Main Attachment"
|
|
625
|
-
msgstr ""
|
|
626
|
-
|
|
627
612
|
#. module: account_loan
|
|
628
613
|
#: model:ir.model.fields,field_description:account_loan.field_account_loan__message_has_error
|
|
629
614
|
msgid "Message Delivery error"
|
|
@@ -1024,17 +1009,8 @@ msgstr ""
|
|
|
1024
1009
|
msgid "When checked, the first payment will be on start date"
|
|
1025
1010
|
msgstr ""
|
|
1026
1011
|
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
#: model_terms:ir.ui.view,arch_db:account_loan.account_loan_increase_amount_form_view
|
|
1030
|
-
#: model_terms:ir.ui.view,arch_db:account_loan.account_loan_pay_amount_form
|
|
1031
|
-
#: model_terms:ir.ui.view,arch_db:account_loan.account_loan_post_form
|
|
1032
|
-
msgid "or"
|
|
1033
|
-
msgstr "或"
|
|
1034
|
-
|
|
1035
|
-
#~ msgid "Invoice"
|
|
1036
|
-
#~ msgstr "發票"
|
|
1012
|
+
#~ msgid "Last Modified on"
|
|
1013
|
+
#~ msgstr "最後修改:"
|
|
1037
1014
|
|
|
1038
|
-
|
|
1039
|
-
#~
|
|
1040
|
-
#~ msgstr "帳簿"
|
|
1015
|
+
#~ msgid "or"
|
|
1016
|
+
#~ msgstr "或"
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<odoo>
|
|
3
|
+
<record id="account_loan_multi_company_rule" model="ir.rule">
|
|
4
|
+
<field name="domain_force">[('company_id', 'in', company_ids + [False])]</field>
|
|
5
|
+
</record>
|
|
6
|
+
<record id="account_loan_line_multi_company_rule" model="ir.rule">
|
|
7
|
+
<field name="domain_force">[('company_id', 'in', company_ids + [False])]</field>
|
|
8
|
+
</record>
|
|
9
|
+
</odoo>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Copyright 2024 Tecnativa - Víctor Martínez
|
|
2
|
+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
3
|
+
from openupgradelib import openupgrade
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@openupgrade.migrate()
|
|
7
|
+
def migrate(env, version):
|
|
8
|
+
openupgrade.load_data(
|
|
9
|
+
env.cr, "account_loan", "migrations/17.0.1.0.0/noupdate_changes.xml"
|
|
10
|
+
)
|
|
@@ -12,7 +12,7 @@ from odoo import api, fields, models
|
|
|
12
12
|
_logger = logging.getLogger(__name__)
|
|
13
13
|
try:
|
|
14
14
|
import numpy_financial
|
|
15
|
-
except (
|
|
15
|
+
except (OSError, ImportError) as err:
|
|
16
16
|
_logger.debug(err)
|
|
17
17
|
|
|
18
18
|
|
|
@@ -27,24 +27,18 @@ class AccountLoan(models.Model):
|
|
|
27
27
|
name = fields.Char(
|
|
28
28
|
copy=False,
|
|
29
29
|
required=True,
|
|
30
|
-
readonly=True,
|
|
31
30
|
default="/",
|
|
32
|
-
states={"draft": [("readonly", False)]},
|
|
33
31
|
)
|
|
34
32
|
partner_id = fields.Many2one(
|
|
35
33
|
"res.partner",
|
|
36
34
|
required=True,
|
|
37
35
|
string="Lender",
|
|
38
36
|
help="Company or individual that lends the money at an interest rate.",
|
|
39
|
-
readonly=True,
|
|
40
|
-
states={"draft": [("readonly", False)]},
|
|
41
37
|
)
|
|
42
38
|
company_id = fields.Many2one(
|
|
43
39
|
"res.company",
|
|
44
40
|
required=True,
|
|
45
41
|
default=_default_company,
|
|
46
|
-
readonly=True,
|
|
47
|
-
states={"draft": [("readonly", False)]},
|
|
48
42
|
)
|
|
49
43
|
state = fields.Selection(
|
|
50
44
|
[
|
|
@@ -65,8 +59,6 @@ class AccountLoan(models.Model):
|
|
|
65
59
|
)
|
|
66
60
|
periods = fields.Integer(
|
|
67
61
|
required=True,
|
|
68
|
-
readonly=True,
|
|
69
|
-
states={"draft": [("readonly", False)]},
|
|
70
62
|
help="Number of periods that the loan will last",
|
|
71
63
|
)
|
|
72
64
|
method_period = fields.Integer(
|
|
@@ -74,13 +66,9 @@ class AccountLoan(models.Model):
|
|
|
74
66
|
default=1,
|
|
75
67
|
help="State here the time between 2 depreciations, in months",
|
|
76
68
|
required=True,
|
|
77
|
-
readonly=True,
|
|
78
|
-
states={"draft": [("readonly", False)]},
|
|
79
69
|
)
|
|
80
70
|
start_date = fields.Date(
|
|
81
71
|
help="Start of the moves",
|
|
82
|
-
readonly=True,
|
|
83
|
-
states={"draft": [("readonly", False)]},
|
|
84
72
|
copy=False,
|
|
85
73
|
)
|
|
86
74
|
rate = fields.Float(
|
|
@@ -100,8 +88,6 @@ class AccountLoan(models.Model):
|
|
|
100
88
|
required=True,
|
|
101
89
|
help="Method of computation of the applied rate",
|
|
102
90
|
default="napr",
|
|
103
|
-
readonly=True,
|
|
104
|
-
states={"draft": [("readonly", False)]},
|
|
105
91
|
)
|
|
106
92
|
loan_type = fields.Selection(
|
|
107
93
|
[
|
|
@@ -112,8 +98,6 @@ class AccountLoan(models.Model):
|
|
|
112
98
|
],
|
|
113
99
|
required=True,
|
|
114
100
|
help="Method of computation of the period annuity",
|
|
115
|
-
readonly=True,
|
|
116
|
-
states={"draft": [("readonly", False)]},
|
|
117
101
|
default="fixed-annuity",
|
|
118
102
|
)
|
|
119
103
|
fixed_amount = fields.Monetary(
|
|
@@ -134,30 +118,20 @@ class AccountLoan(models.Model):
|
|
|
134
118
|
loan_amount = fields.Monetary(
|
|
135
119
|
currency_field="currency_id",
|
|
136
120
|
required=True,
|
|
137
|
-
readonly=True,
|
|
138
|
-
states={"draft": [("readonly", False)]},
|
|
139
121
|
)
|
|
140
122
|
residual_amount = fields.Monetary(
|
|
141
123
|
currency_field="currency_id",
|
|
142
124
|
default=0.0,
|
|
143
125
|
required=True,
|
|
144
|
-
readonly=True,
|
|
145
|
-
states={"draft": [("readonly", False)]},
|
|
146
126
|
help="Residual amount of the lease that must be payed on the end in "
|
|
147
127
|
"order to acquire the asset",
|
|
148
128
|
)
|
|
149
129
|
round_on_end = fields.Boolean(
|
|
150
|
-
default=False,
|
|
151
130
|
help="When checked, the differences will be applied on the last period"
|
|
152
131
|
", if it is unchecked, the annuity will be recalculated on each "
|
|
153
132
|
"period.",
|
|
154
|
-
readonly=True,
|
|
155
|
-
states={"draft": [("readonly", False)]},
|
|
156
133
|
)
|
|
157
134
|
payment_on_first_period = fields.Boolean(
|
|
158
|
-
default=False,
|
|
159
|
-
readonly=True,
|
|
160
|
-
states={"draft": [("readonly", False)]},
|
|
161
135
|
help="When checked, the first payment will be on start date",
|
|
162
136
|
)
|
|
163
137
|
currency_id = fields.Many2one(
|
|
@@ -170,8 +144,6 @@ class AccountLoan(models.Model):
|
|
|
170
144
|
"account.journal",
|
|
171
145
|
domain="[('company_id', '=', company_id),('type', '=', journal_type)]",
|
|
172
146
|
required=True,
|
|
173
|
-
readonly=True,
|
|
174
|
-
states={"draft": [("readonly", False)]},
|
|
175
147
|
)
|
|
176
148
|
short_term_loan_account_id = fields.Many2one(
|
|
177
149
|
"account.account",
|
|
@@ -179,16 +151,12 @@ class AccountLoan(models.Model):
|
|
|
179
151
|
string="Short term account",
|
|
180
152
|
help="Account that will contain the pending amount on short term",
|
|
181
153
|
required=True,
|
|
182
|
-
readonly=True,
|
|
183
|
-
states={"draft": [("readonly", False)]},
|
|
184
154
|
)
|
|
185
155
|
long_term_loan_account_id = fields.Many2one(
|
|
186
156
|
"account.account",
|
|
187
157
|
string="Long term account",
|
|
188
158
|
help="Account that will contain the pending amount on Long term",
|
|
189
159
|
domain="[('company_id', '=', company_id)]",
|
|
190
|
-
readonly=True,
|
|
191
|
-
states={"draft": [("readonly", False)]},
|
|
192
160
|
)
|
|
193
161
|
interest_expenses_account_id = fields.Many2one(
|
|
194
162
|
"account.account",
|
|
@@ -196,19 +164,11 @@ class AccountLoan(models.Model):
|
|
|
196
164
|
string="Interests account",
|
|
197
165
|
help="Account where the interests will be assigned to",
|
|
198
166
|
required=True,
|
|
199
|
-
readonly=True,
|
|
200
|
-
states={"draft": [("readonly", False)]},
|
|
201
|
-
)
|
|
202
|
-
is_leasing = fields.Boolean(
|
|
203
|
-
default=False,
|
|
204
|
-
readonly=True,
|
|
205
|
-
states={"draft": [("readonly", False)]},
|
|
206
167
|
)
|
|
168
|
+
is_leasing = fields.Boolean()
|
|
207
169
|
leased_asset_account_id = fields.Many2one(
|
|
208
170
|
"account.account",
|
|
209
171
|
domain="[('company_id', '=', company_id)]",
|
|
210
|
-
readonly=True,
|
|
211
|
-
states={"draft": [("readonly", False)]},
|
|
212
172
|
)
|
|
213
173
|
product_id = fields.Many2one(
|
|
214
174
|
"product.product",
|
|
@@ -400,7 +360,7 @@ class AccountLoan(models.Model):
|
|
|
400
360
|
date = line.date + relativedelta(months=12)
|
|
401
361
|
if self.state == "draft" or line.sequence != final_sequence:
|
|
402
362
|
line.long_term_pending_principal_amount = sum(
|
|
403
|
-
self.line_ids.filtered(lambda r: r.date >= date).mapped(
|
|
363
|
+
self.line_ids.filtered(lambda r, date=date: r.date >= date).mapped(
|
|
404
364
|
"principal_amount"
|
|
405
365
|
)
|
|
406
366
|
)
|
|
@@ -452,7 +412,7 @@ class AccountLoan(models.Model):
|
|
|
452
412
|
def view_account_invoices(self):
|
|
453
413
|
self.ensure_one()
|
|
454
414
|
result = self.env["ir.actions.act_window"]._for_xml_id(
|
|
455
|
-
"account.
|
|
415
|
+
"account.action_move_in_invoice_type"
|
|
456
416
|
)
|
|
457
417
|
result["domain"] = [("loan_id", "=", self.id), ("move_type", "=", "in_invoice")]
|
|
458
418
|
return result
|
|
@@ -9,7 +9,7 @@ from odoo.exceptions import UserError
|
|
|
9
9
|
_logger = logging.getLogger(__name__)
|
|
10
10
|
try:
|
|
11
11
|
import numpy_financial
|
|
12
|
-
except (
|
|
12
|
+
except (OSError, ImportError) as err:
|
|
13
13
|
_logger.error(err)
|
|
14
14
|
|
|
15
15
|
|
|
@@ -27,35 +27,27 @@ class AccountLoanLine(models.Model):
|
|
|
27
27
|
)
|
|
28
28
|
company_id = fields.Many2one(
|
|
29
29
|
"res.company",
|
|
30
|
-
readonly=True,
|
|
31
30
|
related="loan_id.company_id",
|
|
32
31
|
store=True,
|
|
33
32
|
)
|
|
34
|
-
partner_id = fields.Many2one(
|
|
35
|
-
"res.partner", readonly=True, related="loan_id.partner_id"
|
|
36
|
-
)
|
|
33
|
+
partner_id = fields.Many2one("res.partner", related="loan_id.partner_id")
|
|
37
34
|
is_leasing = fields.Boolean(
|
|
38
35
|
related="loan_id.is_leasing",
|
|
39
|
-
readonly=True,
|
|
40
36
|
)
|
|
41
37
|
journal_id = fields.Many2one(
|
|
42
38
|
"account.journal",
|
|
43
|
-
readonly=True,
|
|
44
39
|
related="loan_id.journal_id",
|
|
45
40
|
)
|
|
46
41
|
short_term_loan_account_id = fields.Many2one(
|
|
47
42
|
"account.account",
|
|
48
|
-
readonly=True,
|
|
49
43
|
related="loan_id.short_term_loan_account_id",
|
|
50
44
|
)
|
|
51
45
|
interest_expenses_account_id = fields.Many2one(
|
|
52
46
|
"account.account",
|
|
53
|
-
readonly=True,
|
|
54
47
|
related="loan_id.interest_expenses_account_id",
|
|
55
48
|
)
|
|
56
49
|
loan_type = fields.Selection(
|
|
57
50
|
related="loan_id.loan_type",
|
|
58
|
-
readonly=True,
|
|
59
51
|
)
|
|
60
52
|
loan_state = fields.Selection(
|
|
61
53
|
related="loan_id.state",
|
|
@@ -70,7 +62,6 @@ class AccountLoanLine(models.Model):
|
|
|
70
62
|
)
|
|
71
63
|
long_term_loan_account_id = fields.Many2one(
|
|
72
64
|
"account.account",
|
|
73
|
-
readonly=True,
|
|
74
65
|
related="loan_id.long_term_loan_account_id",
|
|
75
66
|
)
|
|
76
67
|
currency_id = fields.Many2one(
|
|
@@ -363,7 +354,7 @@ class AccountLoanLine(models.Model):
|
|
|
363
354
|
for record in self:
|
|
364
355
|
if not record.move_ids:
|
|
365
356
|
if record.loan_id.line_ids.filtered(
|
|
366
|
-
lambda r: r.date < record.date and not r.move_ids
|
|
357
|
+
lambda r, record=record: r.date < record.date and not r.move_ids
|
|
367
358
|
):
|
|
368
359
|
raise UserError(_("Some moves must be created first"))
|
|
369
360
|
move = self.env["account.move"].create(
|
|
@@ -394,7 +385,7 @@ class AccountLoanLine(models.Model):
|
|
|
394
385
|
for record in self:
|
|
395
386
|
if not record.move_ids:
|
|
396
387
|
if record.loan_id.line_ids.filtered(
|
|
397
|
-
lambda r: r.date < record.date and not r.move_ids
|
|
388
|
+
lambda r, record=record: r.date < record.date and not r.move_ids
|
|
398
389
|
):
|
|
399
390
|
raise UserError(_("Some invoices must be created first"))
|
|
400
391
|
invoice = self.env["account.move"].create(record._invoice_vals())
|
|
@@ -404,7 +395,7 @@ class AccountLoanLine(models.Model):
|
|
|
404
395
|
invoice.flush_recordset()
|
|
405
396
|
invoice.filtered(
|
|
406
397
|
lambda m: m.currency_id.round(m.amount_total) < 0
|
|
407
|
-
).
|
|
398
|
+
).action_switch_move_type()
|
|
408
399
|
if record.loan_id.post_invoice:
|
|
409
400
|
invoice.action_post()
|
|
410
401
|
if (
|
|
@@ -5,7 +5,6 @@ from odoo import api, fields, models
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
class ResPartner(models.Model):
|
|
8
|
-
|
|
9
8
|
_inherit = "res.partner"
|
|
10
9
|
|
|
11
10
|
lended_loan_ids = fields.One2many("account.loan", inverse_name="partner_id")
|
|
@@ -20,7 +19,6 @@ class ResPartner(models.Model):
|
|
|
20
19
|
record.lended_loan_count = len(record.lended_loan_ids)
|
|
21
20
|
|
|
22
21
|
def action_view_partner_lended_loans(self):
|
|
23
|
-
|
|
24
22
|
self.ensure_one()
|
|
25
23
|
action = self.env["ir.actions.actions"]._for_xml_id(
|
|
26
24
|
"account_loan.account_loan_action"
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
This module extends the functionality of accounting to support loans. It
|
|
2
|
+
will create automatically moves or invoices for loans. Moreover, you can
|
|
3
|
+
check the pending amount to be paid and reduce the debt.
|
|
4
|
+
|
|
5
|
+
It currently supports two kinds of debts:
|
|
6
|
+
|
|
7
|
+
- Loans: a standard debt with banks, that only creates account moves.
|
|
8
|
+
Loan types info:
|
|
9
|
+
[APR](https://en.wikipedia.org/wiki/Annual_percentage_rate),
|
|
10
|
+
[EAR](https://en.wikipedia.org/wiki/Effective_interest_rate), [Real
|
|
11
|
+
Rate](https://en.wikipedia.org/wiki/Real_interest_rate).
|
|
12
|
+
|
|
13
|
+
- Leases: a debt with a bank where purchase invoices are necessary
|