diff options
| author | Indoteknik . <it@fixcomart.co.id> | 2025-07-10 17:15:02 +0700 |
|---|---|---|
| committer | Indoteknik . <it@fixcomart.co.id> | 2025-07-10 17:15:02 +0700 |
| commit | 9aa1682f36cad78e04d3367c1d30867c7706a5d1 (patch) | |
| tree | 78b6aba30745924fe8841b25d1e46b734665dfdc | |
| parent | b3003dfcffa29390ec078ed206c9b013e683d1c8 (diff) | |
(andri) fix invoices date due
| -rw-r--r-- | indoteknik_custom/models/account_move.py | 23 | ||||
| -rw-r--r-- | indoteknik_custom/views/mail_template_invoice_reminder.xml | 9 |
2 files changed, 18 insertions, 14 deletions
diff --git a/indoteknik_custom/models/account_move.py b/indoteknik_custom/models/account_move.py index 33149cb0..ddd2f7d9 100644 --- a/indoteknik_custom/models/account_move.py +++ b/indoteknik_custom/models/account_move.py @@ -77,8 +77,15 @@ class AccountMove(models.Model): def send_due_invoice_reminder(self): today = fields.Date.today() - - partner = self.env['res.partner'].search([('name', 'ilike', 'GEMILANG TUJUH BERSAUDARA')], limit=1) + target_dates = [ + today - timedelta(days=7), + today - timedelta(days=3), + today, + today + timedelta(days=3), + today + timedelta(days=7), + ] + + partner = self.env['res.partner'].search([('name', 'ilike', 'PROBAN OSTBURG TRISAKTI')], limit=1) if not partner: _logger.info("Partner tidak ditemukan.") return @@ -87,11 +94,7 @@ class AccountMove(models.Model): ('move_type', '=', 'out_invoice'), ('state', '=', 'posted'), ('payment_state', 'not in', ['paid','in_payment', 'reversed']), - ('invoice_date_due', '>=', today - timedelta(days=7)), - ('invoice_date_due', '>=', today - timedelta(days=3)), - ('invoice_date_due', '>=', today), - ('invoice_date_due', '<=', today + timedelta(days=3)), - ('invoice_date_due', '<=', today + timedelta(days=7)), + ('invoice_date_due', 'in', target_dates), ('partner_id', '=', partner.id), ]) @@ -138,8 +141,8 @@ class AccountMove(models.Model): template.body_html, flags=re.DOTALL ).replace('${object.name}', partner.name) \ - .replace('${object.partner_id.name}', partner.name) \ - .replace('${object.email}', partner.email or '') + .replace('${object.partner_id.name}', partner.name) + # .replace('${object.email}', partner.email or '') values = { 'subject': subject, @@ -150,7 +153,7 @@ class AccountMove(models.Model): _logger.info(f"VALUES: {values}") - self.env['mail.mail'].create(values).send() + template.send_mail(invs[0].id, force_send=True, email_values=values) _logger.info(f"Reminder terkirim ke {partner.name} ({values['email_to']}) → {len(invs)} invoice") diff --git a/indoteknik_custom/views/mail_template_invoice_reminder.xml b/indoteknik_custom/views/mail_template_invoice_reminder.xml index 92362284..4ed91c75 100644 --- a/indoteknik_custom/views/mail_template_invoice_reminder.xml +++ b/indoteknik_custom/views/mail_template_invoice_reminder.xml @@ -1,15 +1,15 @@ <?xml version="1.0" encoding="utf-8"?> <odoo> - <data noupdate="1"> + <data noupdate="0"> <record id="mail_template_invoice_due_reminder" model="mail.template"> <field name="name">Invoice Reminder: Due Date Notification (Manual)</field> - <field name="model_id" ref="base.model_res_partner"/> + <field name="model_id" ref="account.model_account_move"/> <field name="subject">[Reminder] Invoice Manual</field> <field name="email_from">finance@indoteknik.co.id</field> <field name="email_to">andrifebriyadiputra@gmail.com</field> <field name="body_html" type="html"> <div style="font-family:Arial, sans-serif; font-size:14px;"> - <p>Dengan Hormat Bpk/Ibu,</p> + <p><b>Dear ${object.name},</b></p> <p>Berikut adalah daftar invoice Anda yang mendekati atau telah jatuh tempo:</p> @@ -28,7 +28,8 @@ </tbody> </table> - <p>Mohon segera melakukan proses pembayaran untuk invoice-invoice tersebut.</p> + <p>Mohon bantuan dan kerjasamanya agar tetap bisa bekerjasama dengan baik</p> + <p>Terima Kasih</p> <p> Hormat Kami,<br/> |
