summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIndoteknik . <it@fixcomart.co.id>2025-07-10 17:15:02 +0700
committerIndoteknik . <it@fixcomart.co.id>2025-07-10 17:15:02 +0700
commit9aa1682f36cad78e04d3367c1d30867c7706a5d1 (patch)
tree78b6aba30745924fe8841b25d1e46b734665dfdc
parentb3003dfcffa29390ec078ed206c9b013e683d1c8 (diff)
(andri) fix invoices date due
-rw-r--r--indoteknik_custom/models/account_move.py23
-rw-r--r--indoteknik_custom/views/mail_template_invoice_reminder.xml9
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/>