diff --git a/account_check/i18n/account_check.pot b/account_check/i18n/account_check.pot index b2db07b4..b096d51f 100644 --- a/account_check/i18n/account_check.pot +++ b/account_check/i18n/account_check.pot @@ -195,11 +195,6 @@ msgstr "" msgid "Check Issue Date" msgstr "" -#. module: account_check -#: model:ir.model.fields,field_description:account_check.field_account_payment__check_name -msgid "Check Name" -msgstr "" - #. module: account_check #: model:ir.model.fields,field_description:account_check.field_account_payment__check_number msgid "Check Number" diff --git a/account_check/i18n/tr.po b/account_check/i18n/tr.po index 4fe7b9b8..d211032e 100644 --- a/account_check/i18n/tr.po +++ b/account_check/i18n/tr.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-10-23 12:32+0000\n" -"PO-Revision-Date: 2023-10-23 12:32+0000\n" +"POT-Creation-Date: 2023-10-25 14:28+0000\n" +"PO-Revision-Date: 2023-10-25 14:28+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -16,7 +16,7 @@ msgstr "" "Plural-Forms: \n" #. module: account_check -#: code:addons/account_check/models/account_payment.py:585 +#: code:addons/account_check/models/account_payment.py:571 #, python-format msgid " check %s" msgstr " mevduat çeki %s" @@ -38,7 +38,7 @@ msgstr "* Güncel çeklerde, ödeme ile oluşan kayıt doğrudan banka hesabınd #. module: account_check #: model_terms:ir.ui.view,arch_db:account_check.view_account_check_create_form -msgid "ÖNEMLİ: Çek işlemleri, çek üzerinde bulunan ödemeler, transferler veya butonlar ile otomatik olarak oluşturulur.
Sadece geleneksel olmayan devreler üzerinde ilk kontrol yüklemesi veya ayarlamalar için işlemler oluşturmalı veya değiştirmelisiniz.\"" +msgid "ÖNEMLİ: Çek işlemleri, çek üzerinde bulunan ödemeler, transferler veya butonlar ile otomatik olarak oluşturulur.
Sadece geleneksel olmayan devreler üzerinde ilk kontrol yüklemesi veya ayarlamalar için işlemler oluşturmalı veya değiştirmelisiniz." msgstr "" #. module: account_check @@ -110,13 +110,23 @@ msgstr "Banka" #. module: account_check #: model_terms:ir.ui.view,arch_db:account_check.view_account_check_form msgid "Bank Debit" -msgstr "Banka Borçlandırma" +msgstr "Banka Tahsilatı" + +#. module: account_check +#: selection:account.check.operation,operation:0 +msgid "Bank Rejected" +msgstr "" #. module: account_check #: model_terms:ir.ui.view,arch_db:account_check.view_account_check_form msgid "Bank Rejection" msgstr "Banka İadesi" +#. module: account_check +#: selection:account.check,state:0 +msgid "Bank Returned" +msgstr "Banka İadesi" + #. module: account_check #: model:ir.model,name:account_check.model_account_bank_statement_line msgid "Bank Statement Line" @@ -138,18 +148,6 @@ msgstr "Önerilen numara dışında kullanıcının el ile başka bir numara gir msgid "Cancel" msgstr "İptal" -#. module: account_check -#: selection:account.check,state:0 -#: selection:account.check.operation,operation:0 -msgid "Cancelled" -msgstr "İptal Edildi" - -#. module: account_check -#: selection:account.check,state:0 -#: selection:account.check.operation,operation:0 -msgid "Changed" -msgstr "Değişmiş" - #. module: account_check #: model:ir.model.fields,field_description:account_check.field_account_check_operation__check_id #: model:ir.model.fields,field_description:account_check.field_account_payment__check_id @@ -158,18 +156,6 @@ msgstr "Değişmiş" msgid "Check" msgstr "Çek" -#. module: account_check -#: code:addons/account_check/models/account_check.py:479 -#, python-format -msgid "Check \"%s\" debit" -msgstr "Çek \"%s\" borç" - -#. module: account_check -#: code:addons/account_check/models/account_check.py:673 -#, python-format -msgid "Check \"%s\" rejection" -msgstr "Çek \"%s\" borç" - #. module: account_check #: model:ir.actions.act_window,name:account_check.action_account_check_action_wizard #: model_terms:ir.ui.view,arch_db:account_check.account_check_action_wizard_form_view @@ -196,18 +182,13 @@ msgstr "" msgid "Check Issue Date" msgstr "Çek İbraz Tarihi" -#. module: account_check -#: model:ir.model.fields,field_description:account_check.field_account_payment__check_name -msgid "Check Name" -msgstr "Çek Adı" - #. module: account_check #: model:ir.model.fields,field_description:account_check.field_account_payment__check_number msgid "Check Number" msgstr "Çek Numarası" #. module: account_check -#: code:addons/account_check/models/account_check.py:339 +#: code:addons/account_check/models/account_check.py:225 #, python-format msgid "Check Number (%s) must be unique per Checkbook!\n" "* Check ids: %s" @@ -215,7 +196,7 @@ msgstr "Çek numarası (%s), her bir çek defteri için eşsiz olmalıdır!\n" "* Çekler: %s" #. module: account_check -#: code:addons/account_check/models/account_check.py:355 +#: code:addons/account_check/models/account_check.py:241 #, python-format msgid "Check Number (%s) must be unique per Owner and Bank!\n" "* Check ids: %s" @@ -233,8 +214,8 @@ msgid "Check Owner Vat" msgstr "Çek Sahibi Vergi No" #. module: account_check -#: code:addons/account_check/models/account_check.py:299 -#: code:addons/account_check/models/account_payment.py:225 +#: code:addons/account_check/models/account_check.py:185 +#: code:addons/account_check/models/account_payment.py:212 #, python-format msgid "Check Payment Date must be greater than Issue Date" msgstr "Çek ödeme tarihi mutlaka ibraz tarihinden sonra olmalıdır" @@ -245,7 +226,7 @@ msgid "Check Type" msgstr "Çek Türü" #. module: account_check -#: code:addons/account_check/models/account_check.py:311 +#: code:addons/account_check/models/account_check.py:197 #, python-format msgid "Check number (%s) can't be greater than %s on checkbook %s (%s)" msgstr "Çek numarası (%s) defterin son numarasından (%s) büyük olamaz. Çek defteri: %s (%s)." @@ -305,16 +286,6 @@ msgstr "Basılacak ve Numaralandırılacak Çekler" msgid "Checks to print and numerate" msgstr "Basılacak ve numaralandırılacak çekler" -#. module: account_check -#: model_terms:ir.ui.view,arch_db:account_check.view_account_check_form -msgid "Claim to Customer" -msgstr "Müşteriye Talep" - -#. module: account_check -#: selection:account.check.operation,operation:0 -msgid "Claimed" -msgstr "Talep edildi" - #. module: account_check #: model:ir.model,name:account_check.model_res_company msgid "Companies" @@ -371,7 +342,7 @@ msgstr "Oluşturulma" #. module: account_check #: model:ir.model.fields,field_description:account_check.field_account_check_action_wizard__credit_account_id msgid "Credit Account" -msgstr "Kredi Hesabı" +msgstr "Alacak Hesabı" #. module: account_check #: model:ir.model.fields,field_description:account_check.field_account_check__currency_id @@ -389,6 +360,11 @@ msgstr "Cari çekler" msgid "Currents Checks" msgstr "Cari çekler" +#. module: account_check +#: selection:account.check,state:0 +msgid "Customer Returned" +msgstr "Tedarikçi İadesi" + #. module: account_check #: model:ir.model.fields,field_description:account_check.field_account_check_action_wizard__date #: model:ir.model.fields,field_description:account_check.field_account_check_operation__date @@ -401,7 +377,7 @@ msgid "Debit Account" msgstr "Borç Hesabı" #. module: account_check -#: code:addons/account_check/models/account_check.py:776 +#: code:addons/account_check/models/account_check.py:566 #, python-format msgid "Debit note for operation %s not implemented!" msgstr "İşlem (%s) için borç belgesi uygulanmamış!" @@ -410,7 +386,7 @@ msgstr "İşlem (%s) için borç belgesi uygulanmamış!" #: selection:account.check,state:0 #: selection:account.check.operation,operation:0 msgid "Debited" -msgstr "Borçlandırıldı" +msgstr "Tahsile Gönderildi" #. module: account_check #: selection:account.checkbook,issue_check_subtype:0 @@ -447,7 +423,7 @@ msgid "Deferred Checks account, for eg. \"Deferred Checks\"" msgstr "Vadeli çek hesabı, örn: \"Vadeli Hesap\"" #. module: account_check -#: code:addons/account_check/models/account_payment.py:420 +#: code:addons/account_check/models/account_payment.py:406 #, python-format msgid "Deliver checks %s" msgstr "Çekleri teslim et %s" @@ -461,7 +437,7 @@ msgstr "Teslim Edilen" #. module: account_check #: model:account.payment.method,name:account_check.account_payment_method_delivered_third_check msgid "Delivered Third Check" -msgstr "" +msgstr "Teslim Edilen Müşteri Çeki" #. module: account_check #: selection:account.check,type:0 @@ -469,19 +445,18 @@ msgid "Deposit Promissory Note" msgstr "Senet Tahsil" #. module: account_check -#: code:addons/account_check/models/account_payment.py:584 +#: code:addons/account_check/models/account_payment.py:570 #, python-format msgid "Deposit check %s" msgstr "Çek yatır %s" #. module: account_check -#: code:addons/account_check/models/account_payment.py:402 +#: code:addons/account_check/models/account_payment.py:388 #, python-format msgid "Deposit checks %s" msgstr "Çekleri yatır %s" #. module: account_check -#: selection:account.check,state:0 #: selection:account.check.operation,operation:0 msgid "Deposited" msgstr "Yatırıldı" @@ -512,13 +487,13 @@ msgid "Due Date" msgstr "Vade Tarihi" #. module: account_check -#: code:addons/account_check/models/account_check.py:554 +#: code:addons/account_check/models/account_check.py:448 #, python-format msgid "Error not specified" msgstr "Hata belirlenmedi" #. module: account_check -#: code:addons/account_check/models/account_payment.py:550 +#: code:addons/account_check/models/account_payment.py:536 #, python-format msgid "Está queriendo imprimir y enumerar cheques que ya han sido numerados. Seleccione solo cheques numerados o solo cheques sin número." msgstr "Zaten numaralandırılmış çekleri yazdırmak ve numaralandırmak istiyorsunuz. Yalnızca numaralandırılmış çekleri veya yalnızca numarasız çekleri seçin." @@ -550,16 +525,16 @@ msgid "Group By..." msgstr "Grupla..." #. module: account_check -#: code:addons/account_check/models/account_payment.py:449 +#: code:addons/account_check/models/account_payment.py:435 #, python-format msgid "Hand check %s" -msgstr "Elden çek %s" +msgstr "Verilen Çek %s" #. module: account_check #: selection:account.check,state:0 #: selection:account.check.operation,operation:0 msgid "Handed" -msgstr "Elden Verildi" +msgstr "Çek Verildi" #. module: account_check #: selection:account.check,state:0 @@ -613,12 +588,6 @@ msgstr "İşaretliyse, yeni mesajlar dikkatinize sunulacak." msgid "If checked, some messages have a delivery error." msgstr "İşaretliyse,bazı mesajlar gönderi hatası içermektedir." -#. module: account_check -#: code:addons/account_check/models/account_check.py:645 -#, python-format -msgid "If you create a check with different currency thant the company currency, you must provide \"Amount\" and \"Amount Company Currency\"" -msgstr "Eğer şirket para birimi dışında farklı bir para birimi ile çek oluşturuyorsanız, 'Amount' (Tutar) ve 'Amount Company Currency' (Şirket Para Birimi Tutarı) sağlamalısınız." - #. module: account_check #: model:ir.model.fields,help:account_check.field_account_checkbook__range_to msgid "If you set a number here, this checkbook will be automatically set as used when this number is raised." @@ -630,7 +599,7 @@ msgid "In Use" msgstr "Kullanımda" #. module: account_check -#: code:addons/account_check/models/account_payment.py:524 +#: code:addons/account_check/models/account_payment.py:510 #, python-format msgid "In order to print multiple checks at once, they must belong to the same checkbook." msgstr "Birden fazla çeki aynı anda yazdırmak için, tüm çeklerin aynı çek defterine ait olması gerekir." @@ -706,11 +675,6 @@ msgstr "Vadeli Çek Hesabından banka hesabına bir yevmiye kaydı oluşturacak msgid "It will create an account entry from bank account to company rejection account and change check state" msgstr "Banka hesabından şirket red hesabına bir hesap kaydı oluşturacak ve çek durumunu değiştirecek" -#. module: account_check -#: model_terms:ir.ui.view,arch_db:account_check.view_account_check_form -msgid "It will create an account entry from cash account to company rejection account and change check state" -msgstr "Nakit hesabından şirket red hesabına bir hesap kaydı oluşturacak ve çek durumunu değiştirecek" - #. module: account_check #: model:ir.model,name:account_check.model_account_journal #: model:ir.model.fields,field_description:account_check.field_account_check__journal_id @@ -774,10 +738,9 @@ msgid "Messages" msgstr "Mesajlar" #. module: account_check -#: model:ir.model.fields,field_description:account_check.field_account_check__name #: model:ir.model.fields,field_description:account_check.field_account_checkbook__name msgid "Name" -msgstr "İsim" +msgstr "Adı" #. module: account_check #: model:ir.model.fields,field_description:account_check.field_account_check__activity_date_deadline @@ -817,7 +780,7 @@ msgid "No number will be assigne while creating payment, number will beassigned msgstr "Numara ödeme oluştururken değil çeki yazdırırken atanacak." #. module: account_check -#: code:addons/account_check/models/account_check.py:651 +#: code:addons/account_check/models/account_check.py:528 #, python-format msgid "No puede crear un cheque sin importe" msgstr "Tutarsız bir çek oluşturamazsınız" @@ -875,7 +838,7 @@ msgid "Operation" msgstr "Operasyon" #. module: account_check -#: code:addons/account_check/models/account_check.py:451 +#: code:addons/account_check/models/account_check.py:332 #, python-format msgid "Operation %s not implemented for checks!" msgstr "%s operasyonu çekler için uygulanmadı!" @@ -936,7 +899,7 @@ msgid "Planned" msgstr "Planlanan" #. module: account_check -#: code:addons/account_check/models/account_payment.py:492 +#: code:addons/account_check/models/account_payment.py:478 #, python-format msgid "Please be sure that check number or name is filled!" msgstr "Lütfen çek numarasının veya adının yazıldığından emin olun!" @@ -952,7 +915,7 @@ msgid "Print" msgstr "Yazdır" #. module: account_check -#: code:addons/account_check/models/account_payment.py:535 +#: code:addons/account_check/models/account_payment.py:521 #: model:ir.model,name:account_check.model_print_prenumbered_checks #: model_terms:ir.ui.view,arch_db:account_check.print_pre_numbered_checks_view #, python-format @@ -965,10 +928,10 @@ msgid "Ready to Cash" msgstr "Nakde çevrilmeye hazır" #. module: account_check -#: code:addons/account_check/models/account_payment.py:344 +#: code:addons/account_check/models/account_payment.py:330 #, python-format msgid "Receive check %s" -msgstr "Çeki teslim al %s" +msgstr "Çek alındı %s" #. module: account_check #: selection:account.check.operation,operation:0 @@ -978,12 +941,7 @@ msgstr "Alınan" #. module: account_check #: model:account.payment.method,name:account_check.account_payment_method_received_third_check msgid "Received Third Check" -msgstr "" - -#. module: account_check -#: selection:account.check,state:0 -msgid "Reclaimed" -msgstr "Geri Alındı" +msgstr "Alınan Müşteri Çeki" #. module: account_check #: selection:account.check,state:0 @@ -1040,24 +998,18 @@ msgid "Return to Customer" msgstr "Müşteriye İade" #. module: account_check -#: selection:account.check,state:0 #: selection:account.check.operation,operation:0 msgid "Returned" msgstr "İade" #. module: account_check -#: code:addons/account_check/models/account_payment.py:578 +#: code:addons/account_check/models/account_payment.py:564 #, python-format msgid "Seems like this move has been already splited" msgstr "Bu hareket çoktan bölünmüş" #. module: account_check -#: model_terms:ir.ui.view,arch_db:account_check.view_account_check_form -msgid "Sell Rejection" -msgstr "Satış Reddi" - -#. module: account_check -#: code:addons/account_check/models/account_payment.py:389 +#: code:addons/account_check/models/account_payment.py:375 #, python-format msgid "Sell check %s" msgstr "Satış çekleri %s" @@ -1068,7 +1020,6 @@ msgid "Sequence" msgstr "Sıra" #. module: account_check -#: selection:account.check,state:0 #: selection:account.check.operation,operation:0 msgid "Sold" msgstr "Satılan" @@ -1107,19 +1058,19 @@ msgid "Supplier Return/Rejection" msgstr "Tedarikçi İadesi/Reddi" #. module: account_check -#: code:addons/account_check/models/account_check.py:597 +#: code:addons/account_check/models/account_check.py:491 #, python-format msgid "The %s (id %s) operation has no partner linked.You will need to do it manually." msgstr "%s işlemine (id %s) bağlı cari yok. Manuel olarak yapılmalı." #. module: account_check -#: code:addons/account_check/models/account_check.py:467 +#: code:addons/account_check/models/account_check.py:348 #, python-format msgid "The Check must be in draft state for unlink !" -msgstr "Bağlantıyı kaldırmak için çekin taslak durumunda olması zorunludur." +msgstr "Kaydı silmek için çekin taslak durumunda olması zorunludur." #. module: account_check -#: code:addons/account_check/models/account_check.py:384 +#: code:addons/account_check/models/account_check.py:270 #, python-format msgid "The date of a new check operation can not be minor than last operation date.\n" "* Check Id: %s\n" @@ -1135,19 +1086,13 @@ msgstr "Yeni bir çek işleminin tarihi, son işlem tarihinden küçük olamaz.\ "* Son Operasyon Tarihi: %s" #. module: account_check -#: code:addons/account_check/models/account_check.py:668 -#, python-format -msgid "The deposit operation is not linked to a payment.If you want to reject you need to do it manually." -msgstr "Para yatırma işlemi bir ödemeye bağlı değildir, reddetmek istiyorsanız bunu manuel olarak yapmanız gerekir." - -#. module: account_check -#: code:addons/account_check/models/account_payment.py:488 +#: code:addons/account_check/models/account_payment.py:474 #, python-format msgid "The total of the payment does not match the total of the selected checks. Please try deleting or re-adding a check." msgstr "Ödemenin toplamı seçilen çeklerin toplamıyla eşleşmiyor. Lütfen bir çeki silmeyi veya yeniden eklemeyi deneyin." #. module: account_check -#: code:addons/account_check/models/account_payment.py:581 +#: code:addons/account_check/models/account_payment.py:567 #, python-format msgid "There is not move lines to split" msgstr "Bölünecek ödeme satırı yoktur." @@ -1166,10 +1111,10 @@ msgstr "Eldeki Üçüncü Taraf Çekler" #: model:ir.actions.act_window,name:account_check.action_third_check #: model:ir.ui.menu,name:account_check.menu_third_check msgid "Third Checks" -msgstr "İş Ortağı Çekleri" +msgstr "Müşteri Çekleri" #. module: account_check -#: code:addons/account_check/models/account_payment.py:476 +#: code:addons/account_check/models/account_payment.py:462 #, python-format msgid "This operatios is not implemented for checks:\n" "* Payment type: %s\n" @@ -1226,17 +1171,11 @@ msgid "Total Amount" msgstr "Toplam Tutar" #. module: account_check -#: code:addons/account_check/models/account_payment.py:377 +#: code:addons/account_check/models/account_payment.py:363 #, python-format msgid "Transfer checks %s" msgstr "Transfer çekler %s" -#. module: account_check -#: selection:account.check,state:0 -#: selection:account.check.operation,operation:0 -msgid "Transfered" -msgstr "Transfer edildi" - #. module: account_check #: model:ir.model.fields,field_description:account_check.field_account_check__type msgid "Type" @@ -1258,7 +1197,7 @@ msgid "Used" msgstr "Kullanılmış" #. module: account_check -#: code:addons/account_check/models/account_check.py:517 +#: code:addons/account_check/models/account_check.py:411 #, python-format msgid "We have found more or less than two journal items to reconcile with check debit.\n" "*Journal items: %s" @@ -1275,7 +1214,7 @@ msgid "Website communication history" msgstr "Web Sitesi iletişim geçmişi" #. module: account_check -#: code:addons/account_check/models/account_payment.py:462 +#: code:addons/account_check/models/account_payment.py:448 #, python-format msgid "Withdraw with checks %s" msgstr "Çekler ile para çekme %s" @@ -1291,7 +1230,7 @@ msgid "Withdrawn" msgstr "Çekilmiş" #. module: account_check -#: code:addons/account_check/models/account_payment.py:170 +#: code:addons/account_check/models/account_payment.py:165 #, python-format msgid "You are trying to deposit checks of difference currencies, this functionality is not supported" msgstr "Farklı para birimlerinden çekler yatırmaya çalışıyorsunuz, bu işlev desteklenmemektedir." @@ -1303,7 +1242,7 @@ msgid "You can drop a checkbook if it has been used on checks!" msgstr "Eğer üzerinde çekler kullanılmışsa bir çek defterini silemezsiniz!" #. module: account_check -#: code:addons/account_check/models/account_check.py:454 +#: code:addons/account_check/models/account_check.py:335 #, python-format msgid "You can not \"%s\" a check from state \"%s\"!\n" "Check nbr (id): %s (%s)" @@ -1311,7 +1250,7 @@ msgstr "%s işlemini, çek %s durumundayken yapamazsınız!\n" "Çek numarası (id): %s (%s)" #. module: account_check -#: code:addons/account_check/models/account_check.py:369 +#: code:addons/account_check/models/account_check.py:255 #, python-format msgid "You can not cancel this operation because this is not the last operation over the check.\n" "Check (id): %s (%s)" @@ -1319,12 +1258,11 @@ msgstr "Bu işlemi iptal edemezsiniz çünkü bu çek üzerindeki son işlem de "Çek (id): %s (%s)" #. module: account_check -#: code:addons/account_check/models/account_check.py:85 +#: code:addons/account_check/models/account_check_operation.py:75 #, python-format msgid "You can not delete a check operation that has an origin.\n" "You can delete the origin reference and unlink after." -msgstr "Orijini olan bir çek işlemi silinemez.\n" -"Önce orijin referansını silebilir ve sonrasında bağlantıyı kaldırabilirsiniz." +msgstr "" #. module: account_check #: model:ir.model,name:account_check.model_account_check_operation @@ -1335,7 +1273,7 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:account_check.account_check_action_wizard_form_view #: model_terms:ir.ui.view,arch_db:account_check.print_pre_numbered_checks_view msgid "or" -msgstr "ya da" +msgstr "yada" #. module: account_check #: model_terms:ir.ui.view,arch_db:account_check.view_account_check_create_form diff --git a/account_check/models/__init__.py b/account_check/models/__init__.py index 703c33ab..965f4e1d 100644 --- a/account_check/models/__init__.py +++ b/account_check/models/__init__.py @@ -6,6 +6,7 @@ from . import account_journal from . import account_invoice from . import account_checkbook +from . import account_check_operation from . import account_check from . import account_payment from . import res_company diff --git a/account_check/models/account_check.py b/account_check/models/account_check.py index d719550c..06220184 100644 --- a/account_check/models/account_check.py +++ b/account_check/models/account_check.py @@ -9,127 +9,11 @@ _logger = logging.getLogger(__name__) -class AccountCheckOperation(models.Model): - - _name = 'account.check.operation' - _description = 'account.check.operation' - _rec_name = 'operation' - _order = 'date asc, id asc' - # _order = 'create_date desc' - - # al final usamos solo date y no datetime porque el otro dato ya lo tenemos - # en create_date. ademas el orden es una mezcla de la fecha el id - # y entonces la fecha la solemos computar con el payment date para que - # sea igual a la fecha contable (payment date va al asiento) - # date = fields.Datetime( - date = fields.Date( - default=fields.Date.context_today, - # default=lambda self: fields.Datetime.now(), - required=True, - index=True, - ) - check_id = fields.Many2one( - 'account.check', - 'Check', - required=True, - ondelete='cascade', - auto_join=True, - index=True, - ) - operation = fields.Selection([ - # from payments - ('holding', 'Received'), - ('deposited', 'Deposited'), - ('sold', 'Sold'), - ('delivered', 'Delivered'), - # usado para hacer transferencias internas, es lo mismo que delivered - # (endosado) pero no queremos confundir con terminos, a la larga lo - # volvemos a poner en holding - ('transfered', 'Transfered'), - ('handed', 'Handed'), - ('withdrawed', 'Withdrawn'), - # from checks - ('reclaimed', 'Claimed'), - ('rejected', 'Rejected'), - ('debited', 'Debited'), - ('returned', 'Returned'), - # al final no vamos a implemnetar esto ya que habria que hacer muchas - # cosas hasta actualizar el asiento, mejor se vuelve atras y se - # vuelve a generar deuda y listo, igualmente lo dejamos por si se - # quiere usar de manera manual - ('changed', 'Changed'), - ('cancel', 'Cancelled'), - ], - required=True, - index=True, - string='Operation', - ) - origin_name = fields.Char( - compute='_compute_origin_name' - ) - origin = fields.Reference( - string='Origin Document', - selection='_reference_models') - partner_id = fields.Many2one( - 'res.partner', - string='Partner', - ) - notes = fields.Text( - string='Operation Note' - ) - - @api.multi - def unlink(self): - for rec in self: - if rec.origin: - raise ValidationError(_( - 'You can not delete a check operation that has an origin.' - '\nYou can delete the origin reference and unlink after.')) - return super(AccountCheckOperation, self).unlink() - - @api.multi - @api.depends('origin') - def _compute_origin_name(self): - """ - We add this computed method because an error on tree view displaying - reference field when destiny record is deleted. - As said in this post (last answer) we should use name_get instead of - display_name - https://www.odoo.com/es_ES/forum/ayuda-1/question/ - how-to-override-name-get-method-in-new-api-61228 - """ - for rec in self: - try: - if rec.origin: - _id, name = rec.origin.name_get()[0] - origin_name = name - # origin_name = rec.origin.display_name - else: - origin_name = False - except Exception as e: - _logger.exception( - "Compute origin on checks exception: %s" % e) - # if we can get origin we clean it - rec.write({'origin': False}) - origin_name = False - rec.origin_name = origin_name - - @api.model - def _reference_models(self): - return [ - ('account.payment', 'Payment'), - ('account.check', 'Check'), - ('account.invoice', 'Invoice'), - ('account.move', 'Journal Entry'), - ('account.move.line', 'Journal Item'), - ('account.bank.statement.line', 'Statement Line'), - ] - - class AccountCheck(models.Model): _name = 'account.check' _description = 'Account Check' + _rec_name = 'number' _order = "id desc" _inherit = ['mail.thread', 'mail.activity.mixin'] @@ -138,14 +22,7 @@ class AccountCheck(models.Model): 'check_id', auto_join=True, ) - name = fields.Char( - required=True, - readonly=True, - copy=False, - states={'draft': [('readonly', False)]}, - index=True, - ) - number = fields.Integer( + number = fields.Char( required=True, readonly=True, states={'draft': [('readonly', False)]}, @@ -185,18 +62,13 @@ class AccountCheck(models.Model): state = fields.Selection([ ('draft', 'Draft'), ('holding', 'Holding'), - ('deposited', 'Deposited'), - ('sold', 'Sold'), ('delivered', 'Delivered'), - ('transfered', 'Transfered'), - ('reclaimed', 'Reclaimed'), ('withdrawed', 'Withdrawed'), ('handed', 'Handed'), ('rejected', 'Rejected'), ('debited', 'Debited'), - ('returned', 'Returned'), - ('changed', 'Changed'), - ('cancel', 'Cancelled'), + ('customer_returned', 'Customer Returned'), + ('bank_rejected', 'Bank Returned'), ], required=True, default='draft', @@ -235,6 +107,8 @@ class AccountCheck(models.Model): ) amount_company_currency = fields.Monetary( currency_field='company_currency_id', + compute='_compute_amount_company_currency', + store=True, readonly=True, states={'draft': [('readonly', False)]}, ) @@ -269,6 +143,18 @@ class AccountCheck(models.Model): string='Company currency', ) + @api.depends("amount", "currency_id", "issue_date", "company_id") + def _compute_amount_company_currency(self): + for rec in self: + company = rec.company_id or self.env.user.company_id + company_currency = rec.company_currency_id or company.currency_id + rec.amount_company_currency = rec.currency_id._convert( + rec.amount, + company_currency, + company, + rec.issue_date, + ) + @api.depends('operation_ids.partner_id') def _compute_first_partner(self): for rec in self: @@ -307,7 +193,7 @@ def issue_number_interval(self): for rec in self: # if not range, then we dont check it if rec.type == 'issue_check' and rec.checkbook_id.range_to: - if rec.number > rec.checkbook_id.range_to: + if int(rec.number) > rec.checkbook_id.range_to: raise UserError(_( "Check number (%s) can't be greater than %s on " "checkbook %s (%s)") % ( @@ -432,19 +318,14 @@ def _check_state_change(self, operation): operation_from_state_map = { # 'draft': [False], 'holding': [ - 'draft', 'deposited', 'sold', 'delivered', 'transfered'], + 'draft', 'delivered'], 'delivered': ['holding'], - 'deposited': ['holding', 'rejected'], - 'sold': ['holding'], 'handed': ['draft'], - 'transfered': ['holding'], 'withdrawed': ['draft'], - 'rejected': ['delivered', 'deposited', 'sold', 'handed'], - 'debited': ['handed'], - 'returned': ['handed', 'holding'], - 'changed': ['handed', 'holding'], - 'cancel': ['draft'], - 'reclaimed': ['rejected'], + 'rejected': ['delivered', 'sold', 'handed'], + 'debited': ['holding', 'bank_reject'], + 'customer_returned': ['handed', 'holding', 'bank_rejected', 'rejected'], + 'bank_rejected': ['debited'], } from_states = operation_from_state_map.get(operation) if not from_states: @@ -457,7 +338,7 @@ def _check_state_change(self, operation): self.operation_ids._fields['operation'].convert_to_export( operation, self), self._fields['state'].convert_to_export(old_state, self), - self.name, + self.number, self.id)) @api.multi @@ -473,16 +354,29 @@ def unlink(self): @api.multi def bank_debit(self): self.ensure_one() - if self.state in ['handed']: - payment_values = self.get_payment_values(self.journal_id) - payment = self.env['account.payment'].with_context( - default_name=_('Check "%s" debit') % (self.name), - force_account_id=self.company_id._get_check_account( - 'deferred').id, - ).create(payment_values) - self.post_payment_check(payment) - self.handed_reconcile(payment.move_line_ids.mapped('move_id')) - self._add_operation('debited', payment, date=payment.payment_date) + if self.state in ['holding'] and self.type == 'third_check': + return self.action_create_debit_note( + 'debited', 'customer', self.first_partner_id, + self.company_id._get_check_account('holding')) + # self.ensure_one() + # if self.state in ['holding']: + # payment_values = self.get_payment_values(self.journal_id) + # payment = self.env['account.payment'].with_context( + # default_name=_('Check "%s" debit') % (self.number), + # force_account_id=self.company_id._get_check_account( + # 'deferred').id, + # ).create(payment_values) + # self.post_payment_check(payment) + # self.handed_reconcile(payment.move_line_ids.mapped('move_id')) + # self._add_operation('debited', payment, date=payment.payment_date) + + @api.multi + def bank_reject(self): + self.ensure_one() + if self.state in ['debited'] and self.type == 'third_check': + return self.action_create_debit_note( + 'bank_rejected', 'customer', self.first_partner_id, + self.company_id._get_check_account('rejected')) @api.model def post_payment_check(self, payment): @@ -599,23 +493,13 @@ def _get_operation(self, operation, partner_required=False): 'You will need to do it manually.') % (operation, op.id)) return op - @api.multi - def claim(self): - self.ensure_one() - if self.state in ['rejected'] and self.type == 'third_check': - # anulamos la operación en la que lo recibimos - return self.action_create_debit_note( - 'reclaimed', 'customer', self.first_partner_id, - self.company_id._get_check_account('rejected')) - @api.multi def customer_return(self): self.ensure_one() - if self.state in ['holding'] and self.type == 'third_check': + if self.state in ['holding', 'bank_rejected', 'rejected'] and self.type == 'third_check': return self.action_create_debit_note( - 'returned', 'customer', self.first_partner_id, - False) - #self.get_third_check_account()) + 'customer_returned', 'customer', self.first_partner_id, + self.company_id._get_check_account('rejected')) @api.model def get_payment_values(self, journal): @@ -637,46 +521,16 @@ def get_payment_values(self, journal): # 'check_ids': [(4, self.id, False)], } - @api.constrains('currency_id', 'amount', 'amount_company_currency') + @api.constrains('amount') def _check_amounts(self): - for rec in self.filtered( - lambda x: not x.amount or not x.amount_company_currency): - if rec.currency_id != rec.company_currency_id: - raise ValidationError(_( - 'If you create a check with different currency thant the ' - 'company currency, you must provide "Amount" and "Amount ' - 'Company Currency"')) - elif not rec.amount: - if not rec.amount_company_currency: - raise ValidationError(_( - 'No puede crear un cheque sin importe')) - rec.amount = rec.amount_company_currency - elif not rec.amount_company_currency: - rec.amount_company_currency = rec.amount + for rec in self: + if not rec.amount: + raise ValidationError(_('No puede crear un cheque sin importe')) @api.multi def reject(self): self.ensure_one() - if self.state in ['deposited', 'sold']: - operation = self._get_operation(self.state) - if operation.origin._name == 'account.payment': - journal = operation.origin.destination_journal_id - # for compatibility with migration from v8 - elif operation.origin._name == 'account.move': - journal = operation.origin.journal_id - else: - raise ValidationError(_( - 'The deposit operation is not linked to a payment.' - 'If you want to reject you need to do it manually.')) - payment_vals = self.get_payment_values(journal) - payment = self.env['account.payment'].with_context( - default_name=_('Check "%s" rejection') % (self.name), - force_account_id=self.company_id._get_check_account( - 'rejected').id, - ).create(payment_vals) - self.post_payment_check(payment) - self._add_operation('rejected', payment, date=payment.payment_date) - elif self.state == 'delivered': + if self.state == 'delivered': operation = self._get_operation(self.state, True) return self.action_create_debit_note( 'rejected', 'supplier', operation.partner_id, @@ -690,93 +544,29 @@ def reject(self): @api.multi def action_create_debit_note(self, operation, partner_type, partner, account): self.ensure_one() -# action_date = self._context.get('action_date') -# -# if partner_type == 'supplier': -# invoice_type = 'in_invoice' -# journal_type = 'purchase' -# view_id = self.env.ref('account.invoice_supplier_form').id -# else: -# invoice_type = 'out_invoice' -# journal_type = 'sale' -# view_id = self.env.ref('account.invoice_form').id -# -# journal = self.env['account.journal'].search([ -# ('company_id', '=', self.company_id.id), -# ('type', '=', journal_type), -# ], limit=1) -# -# # si pedimos rejected o reclamo, devolvemos mensaje de rechazo y cuenta -# # de rechazo -# if operation in ['rejected', 'reclaimed']: -# name = 'Rechazo cheque "%s"' % (self.name) -# # si pedimos la de holding es una devolucion -# elif operation == 'returned': -# name = 'Devolución cheque "%s"' % (self.name) -# else: -# raise ValidationError(_( -# 'Debit note for operation %s not implemented!' % ( -# operation))) -# -# inv_line_vals = { -# # 'product_id': self.product_id.id, -# 'name': name, -# 'account_id': account.id, -# 'price_unit': self.amount, -# # 'invoice_id': invoice.id, -# } -# -# inv_vals = { -# # this is the reference that goes on account.move.line of debt line -# # 'name': name, -# # this is the reference that goes on account.move -# 'rejected_check_id': self.id, -# 'reference': name, -# 'date_invoice': action_date, -# 'origin': _('Check nbr (id): %s (%s)') % (self.name, self.id), -# 'journal_id': journal.id, -# # this is done on muticompany fix -# # 'company_id': journal.company_id.id, -# 'partner_id': partner.id, -# 'type': invoice_type, -# 'invoice_line_ids': [(0, 0, inv_line_vals)], -# } -# if self.currency_id: -# inv_vals['currency_id'] = self.currency_id.id -# # we send internal_type for compatibility with account_document -# invoice = self.env['account.invoice'].with_context( -# internal_type='debit_note').create(inv_vals) -# self._add_operation(operation, invoice, partner, date=action_date) -# -# return { -# 'name': name, -# 'view_type': 'form', -# 'view_mode': 'form', -# 'res_model': 'account.invoice', -# 'view_id': view_id, -# 'res_id': invoice.id, -# 'type': 'ir.actions.act_window', -# } - action_date = self._context.get('action_date') journal = self._context.get('journal_id') debit_account = self._context.get('debit_account_id') credit_account = self._context.get('credit_account_id') - if operation in ['rejected', 'reclaimed'] and self.type == 'third_check': - name = 'Rejected check "%s"' % (self.name) - elif operation == 'returned' and self.type == 'third_check': - name = 'Returned check "%s"' % (self.name) + if operation in ['rejected', 'reclaimed']: + name = 'Rejected Check "%s"' % (self.number) + elif operation == 'customer_returned': + name = 'Customer Returned Check "%s"' % (self.number) + elif operation == 'debited': + name = 'Debited Check "%s"' % (self.number) + elif operation == 'bank_rejected': + name = 'Bank Returned Check "%s"' % (self.number) # elif operation in ['rejected', 'reclaimed'] and self.type == 'deposit_promissory_note': -# name = 'Rejected promissory note "%s"' % (self.name) +# name = 'Rejected promissory note "%s"' % (self.number) # elif operation == 'returned' and self.type == 'third_promissory_note': -# name = 'Returned promissory note "%s"' % (self.name) +# name = 'Returned promissory note "%s"' % (self.number) else: raise ValidationError(_( 'Debit note for operation %s not implemented!' % ( operation))) - vals = self.prepare_new_operation_move_values(debit_account, credit_account, name) + vals = self.prepare_new_operation_move_values(debit_account, credit_account, name, partner=partner) vals['journal_id'] = journal.id or False vals['date'] = action_date move = self.env['account.move'].create(vals) @@ -815,6 +605,7 @@ def prepare_new_operation_move_values(self, debit_account, credit_account, name, credit_line_vals['amount_currency'] = -1 * debit_line_vals['amount_currency'] move_vals = { + 'partner_id': partner and partner.id or False, 'ref': name, 'line_ids': [ (0, False, debit_line_vals), diff --git a/account_check/models/account_check_operation.py b/account_check/models/account_check_operation.py new file mode 100644 index 00000000..dc2013e1 --- /dev/null +++ b/account_check/models/account_check_operation.py @@ -0,0 +1,117 @@ +# Copyright 2023 Yiğit Budak (https://github.com/yibudak) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) +from odoo import api, fields, models, _ +from odoo.exceptions import ValidationError +import logging + +_logger = logging.getLogger(__name__) + + +class AccountCheckOperation(models.Model): + _name = "account.check.operation" + _description = "account.check.operation" + _rec_name = "operation" + _order = "date asc, id asc" + # _order = 'create_date desc' + + # al final usamos solo date y no datetime porque el otro dato ya lo tenemos + # en create_date. ademas el orden es una mezcla de la fecha el id + # y entonces la fecha la solemos computar con el payment date para que + # sea igual a la fecha contable (payment date va al asiento) + # date = fields.Datetime( + date = fields.Date( + default=fields.Date.context_today, + # default=lambda self: fields.Datetime.now(), + required=True, + index=True, + ) + check_id = fields.Many2one( + "account.check", + "Check", + required=True, + ondelete="cascade", + auto_join=True, + index=True, + ) + operation = fields.Selection( + [ + # from payments + ("holding", "Received"), + ("deposited", "Deposited"), + ("sold", "Sold"), + ("delivered", "Delivered"), + # usado para hacer transferencias internas, es lo mismo que delivered + # (endosado) pero no queremos confundir con terminos, a la larga lo + # volvemos a poner en holding + ("handed", "Handed"), + ("withdrawed", "Withdrawn"), + # from checks + ("rejected", "Rejected"), + ("debited", "Debited"), + ("customer_returned", "Returned"), + ("bank_rejected", "Bank Rejected"), + # al final no vamos a implemnetar esto ya que habria que hacer muchas + # cosas hasta actualizar el asiento, mejor se vuelve atras y se + # vuelve a generar deuda y listo, igualmente lo dejamos por si se + # quiere usar de manera manual + ], + required=True, + index=True, + string="Operation", + ) + origin_name = fields.Char(compute="_compute_origin_name") + origin = fields.Reference(string="Origin Document", selection="_reference_models") + partner_id = fields.Many2one( + "res.partner", + string="Partner", + ) + notes = fields.Text(string="Operation Note") + + @api.multi + def unlink(self): + for rec in self: + if rec.origin: + raise ValidationError( + _( + "You can not delete a check operation that has an origin." + "\nYou can delete the origin reference and unlink after." + ) + ) + return super(AccountCheckOperation, self).unlink() + + @api.multi + @api.depends("origin") + def _compute_origin_name(self): + """ + We add this computed method because an error on tree view displaying + reference field when destiny record is deleted. + As said in this post (last answer) we should use name_get instead of + display_name + https://www.odoo.com/es_ES/forum/ayuda-1/question/ + how-to-override-name-get-method-in-new-api-61228 + """ + for rec in self: + try: + if rec.origin: + _id, name = rec.origin.name_get()[0] + origin_name = name + # origin_name = rec.origin.display_name + else: + origin_name = False + except Exception as e: + _logger.exception("Compute origin on checks exception: %s" % e) + # if we can get origin we clean it + rec.write({"origin": False}) + origin_name = False + rec.origin_name = origin_name + + @api.model + def _reference_models(self): + return [ + ("account.payment", "Payment"), + ("account.check", "Check"), + ("account.invoice", "Invoice"), + ("account.move", "Journal Entry"), + ("account.move.line", "Journal Item"), + ("account.bank.statement.line", "Statement Line"), + ] diff --git a/account_check/models/account_journal.py b/account_check/models/account_journal.py index 63c299ca..ff8565b3 100644 --- a/account_check/models/account_journal.py +++ b/account_check/models/account_journal.py @@ -84,7 +84,7 @@ def get_journal_dashboard_datas(self): ('journal_id', '=', self.id), ('payment_method_id.code', '=', 'issue_check'), ('state', '=', 'draft'), - ('check_name', '=', False), + ('check_number', '=', False), ]) return dict( super(AccountJournal, self).get_journal_dashboard_datas(), diff --git a/account_check/models/account_payment.py b/account_check/models/account_payment.py index 5d697d9a..680a95a4 100644 --- a/account_check/models/account_payment.py +++ b/account_check/models/account_payment.py @@ -54,12 +54,7 @@ def _compute_check(self): # check fields, just to make it easy to load checks without need to create # them by a m2o record - check_name = fields.Char( - 'Check Name', - readonly=True, - copy=False, - states={'draft': [('readonly', False)]}, - ) + check_number = fields.Integer( 'Check Number', readonly=True, @@ -146,9 +141,9 @@ def _compute_payment_method_description(self): ['issue_check', 'received_third_check', 'delivered_third_check']) for rec in check_payments: if rec.check_ids: - checks_desc = ', '.join(rec.check_ids.mapped('name')) + checks_desc = ', '.join(str(x) for x in rec.check_ids.mapped('number')) else: - checks_desc = rec.check_name + checks_desc = str(rec.check_number) name = "%s: %s" % (rec.payment_method_id.display_name, checks_desc) rec.payment_method_description = name return super( @@ -194,26 +189,18 @@ def _get_name_from_number(number): return ('%%0%sd' % padding % number) for rec in self: - if rec.payment_method_code in ['received_third_check']: - if not rec.check_number: - check_name = False - else: - check_name = _get_name_from_number(rec.check_number) - rec.check_name = check_name - elif rec.payment_method_code in ['issue_check']: + if rec.payment_method_code in ['issue_check']: sequence = rec.checkbook_id.sequence_id - if not rec.check_number: - check_name = False - elif sequence: + if sequence: if rec.check_number != sequence.number_next_actual: # write with sudo for access rights over sequence sequence.sudo().write( {'number_next_actual': rec.check_number}) - check_name = rec.checkbook_id.sequence_id.next_by_id() + check_number = rec.checkbook_id.sequence_id.next_by_id() else: # in sipreco, for eg, no sequence on checkbooks - check_name = _get_name_from_number(rec.check_number) - rec.check_name = check_name + check_number = _get_name_from_number(rec.check_number) + rec.check_number = str(check_number) @api.onchange('check_issue_date', 'check_payment_date') def onchange_date(self): @@ -300,7 +287,6 @@ def create_check(self, check_type, operation, bank): 'owner_name': self.check_owner_name, 'owner_vat': self.check_owner_vat, 'number': self.check_number, - 'name': self.check_name, 'checkbook_id': self.checkbook_id.id, 'issue_date': self.check_issue_date, 'type': self.check_type, @@ -341,7 +327,7 @@ def do_checks_operations(self, vals=None, cancel=False): 'third_check', operation, self.check_bank_id) vals['date_maturity'] = self.check_payment_date vals['account_id'] = check.get_third_check_account().id - vals['name'] = _('Receive check %s') % check.name + vals['name'] = _('Receive check %s') % check.number elif ( rec.payment_method_code == 'delivered_third_check' and rec.payment_type == 'transfer'): @@ -418,7 +404,7 @@ def do_checks_operations(self, vals=None, cancel=False): 'delivered', rec, rec.partner_id, date=rec.payment_date) vals['account_id'] = rec.check_ids.get_third_check_account().id vals['name'] = _('Deliver checks %s') % ', '.join( - rec.check_ids.mapped('name')) + rec.check_ids.mapped('number')) elif ( rec.payment_method_code == 'issue_check' and rec.payment_type == 'outbound' @@ -446,7 +432,7 @@ def do_checks_operations(self, vals=None, cancel=False): check = self.create_check( 'issue_check', operation, self.check_bank_id) vals['date_maturity'] = self.check_payment_date - vals['name'] = _('Hand check %s') % check.name + vals['name'] = _('Hand check %s') % str(check.number) elif ( rec.payment_method_code == 'issue_check' and rec.payment_type == 'transfer' and @@ -488,7 +474,7 @@ def post(self): raise UserError(_( 'The total of the payment does not match the total of the selected checks. ' 'Please try deleting or re-adding a check.')) - if rec.payment_method_code == 'issue_check' and (not rec.check_number or not rec.check_name): + if rec.payment_method_code == 'issue_check' and (not rec.check_number): raise UserError(_('Please be sure that check number or name is filled!')) res = super(AccountPayment, self).post() @@ -529,7 +515,7 @@ def print_checks(self): # si numerar al imprimir entonces llamamos al wizard if self[0].checkbook_id.numerate_on_printing: - if all([not x.check_name for x in self]): + if all([not x.check_number for x in self]): next_check_number = self[0].checkbook_id.next_number return { 'name': _('Print Pre-numbered Checks'), @@ -544,7 +530,7 @@ def print_checks(self): } } # si ya están enumerados mandamos a imprimir directamente - elif all([x.check_name for x in self]): + elif all([x.check_number for x in self]): return self.do_print_checks() else: raise UserError(_( diff --git a/account_check/static/description/cheq1.png b/account_check/static/description/cheq1.png new file mode 100644 index 00000000..7b0f80e4 Binary files /dev/null and b/account_check/static/description/cheq1.png differ diff --git a/account_check/static/description/cheq2.png b/account_check/static/description/cheq2.png new file mode 100644 index 00000000..b2667c1e Binary files /dev/null and b/account_check/static/description/cheq2.png differ diff --git a/account_check/static/description/icon.png b/account_check/static/description/icon.png new file mode 100644 index 00000000..43390748 Binary files /dev/null and b/account_check/static/description/icon.png differ diff --git a/account_check/static/description/index.html b/account_check/static/description/index.html new file mode 100644 index 00000000..2524b0a3 --- /dev/null +++ b/account_check/static/description/index.html @@ -0,0 +1,108 @@ +
+
+
+

Account Check Management

+

New features, new updates

+
+
+
+ + +
+
+
+

+This module updates several functions of the original check module.
+- Simpler code: From 3600 lines to 1300.
+- Translation of all the terms involved.
+- Cancellation of vouchers, and checks status update associated with it.
+- Ability to go back one operation referred (back to draft status checks).
+- Simplification of management in general.
+ +

+
+
+
+ +
+
+

Corrections and modifications actions on checks

+
+

+- Check deposits
+- Rejection deposited checks
+- Delivery of checks
+- Checks delivered rejection
+- Sell checks.
+

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

Complete Video Tutorial

+

New Check Module - Odoo

+
+
+
+
+ + +
+
+

Own Checks

+

Pay with Own Check


+
+
+

+ +

Reject Own Check


+ Supplier ExpensesWithout Expenses +
+ +
+ +
+
+ +
+
+

Third Checks

+

Placing an own check in a bank account


+
+ +

+ +

Reject a check deposited


+ Invoice to customerRecord Expenses +
+ +

+ +

Deliver a check


+
+

+ +

Reject a check delivered (Supplier Expenses)


+ Translating customer spending (Invoice to customer)Untranslated customer spending +
+ + + + +

+ +

Sell a Check


+ +
+ +
+ +
+
\ No newline at end of file diff --git a/account_check/views/account_check_view.xml b/account_check/views/account_check_view.xml index 1b5e2e6c..c2ac6bc1 100644 --- a/account_check/views/account_check_view.xml +++ b/account_check/views/account_check_view.xml @@ -11,7 +11,7 @@ - + @@ -51,27 +51,25 @@
-

- +

-