diff options
| author | FIN-IT_AndriFP <it@fixcomart.co.id> | 2025-09-25 14:33:51 +0700 |
|---|---|---|
| committer | FIN-IT_AndriFP <it@fixcomart.co.id> | 2025-09-25 14:33:51 +0700 |
| commit | 1b574687a7f4b612a1fd221da1ca920009cc963b (patch) | |
| tree | 8c23fd104d9584fb65e3d9060ac011a4b6ad446b | |
| parent | d32684d5d69a76c97ac962e898f3bb58f708fca4 (diff) | |
(andri) make report & mail template close tempo
| -rwxr-xr-x | indoteknik_custom/__manifest__.py | 3 | ||||
| -rw-r--r-- | indoteknik_custom/models/letter_receivable.py | 145 | ||||
| -rw-r--r-- | indoteknik_custom/report/report_surat_piutang.xml | 4 | ||||
| -rw-r--r-- | indoteknik_custom/report/report_tutup_tempo.xml | 198 | ||||
| -rw-r--r-- | indoteknik_custom/views/close_tempo_mail_template.xml | 85 |
5 files changed, 167 insertions, 268 deletions
diff --git a/indoteknik_custom/__manifest__.py b/indoteknik_custom/__manifest__.py index 90fa915f..b083be70 100755 --- a/indoteknik_custom/__manifest__.py +++ b/indoteknik_custom/__manifest__.py @@ -167,6 +167,7 @@ 'report/report_picking.xml', 'report/report_sale_order.xml', 'report/report_surat_piutang.xml', + 'report/report_tutup_tempo.xml', 'report/purchase_report.xml', 'views/vendor_sla.xml', 'views/coretax_faktur.xml', @@ -184,7 +185,7 @@ 'views/letter_receivable_mail_template.xml', # 'views/reimburse.xml', 'views/sj_tele.xml', - 'views/mail_template_closing_apt.xml', + 'views/close_tempo_mail_template.xml', ], 'demo': [], 'css': [], diff --git a/indoteknik_custom/models/letter_receivable.py b/indoteknik_custom/models/letter_receivable.py index 6f95e5e7..bfa1e966 100644 --- a/indoteknik_custom/models/letter_receivable.py +++ b/indoteknik_custom/models/letter_receivable.py @@ -244,6 +244,13 @@ class SuratPiutang(models.Model): title="Informasi", sticky=False ) + + def action_print(self): + self.ensure_one() + if self.perihal == 'tutup_tempo': + return self.env.ref('indoteknik_custom.action_report_surat_tutup_tempo').report_action(self) + else: + return self.env.ref('indoteknik_custom.action_report_surat_piutang').report_action(self) def action_send_letter(self): self.ensure_one() @@ -255,64 +262,79 @@ class SuratPiutang(models.Model): if not self.tujuan_email: raise UserError(_("Email tujuan harus diisi.")) - template = self.env.ref('indoteknik_custom.letter_receivable_mail_template') - # today = fields.Date.today() - - month_map = { - 1: "Januari", 2: "Februari", 3: "Maret", 4: "April", - 5: "Mei", 6: "Juni", 7: "Juli", 8: "Agustus", - 9: "September", 10: "Oktober", 11: "November", 12: "Desember", - } - target_date = (self.send_date or fields.Datetime.now()).date() + timedelta(days=7) - self.seven_days_after_sent_date = f"{target_date.day} {month_map[target_date.month]}" - - perihal_map = { - 'penagihan': 'Surat Resmi Penagihan', - 'sp1': 'Surat Peringatan Pertama (I)', - 'sp2': 'Surat Peringatan Kedua (II)', - 'sp3': 'Surat Peringatan Ketiga (III)', - } - perihal_text = perihal_map.get(self.perihal, self.perihal or '') - - invoice_table_rows = "" - grand_total = 0 - for line in selected_lines: - # days_to_due = (line.invoice_date_due - today).days if line.invoice_date_due else 0 - grand_total += line.amount_residual - invoice_table_rows += f""" - <tr> - <td>{line.invoice_number or '-'}</td> - <td>{self.partner_id.name or '-'}</td> - <td>{fields.Date.to_string(line.invoice_date) or '-'}</td> - <td>{fields.Date.to_string(line.invoice_date_due) or '-'}</td> - <td>{line.new_invoice_day_to_due}</td> - <td>{line.ref or '-'}</td> - <td>{formatLang(self.env, line.amount_residual, currency_obj=line.currency_id)}</td> - <td>{line.payment_term_id.name or '-'}</td> - </tr> - """ - - invoice_table_footer = f""" - <tfoot> - <tr style="font-weight:bold; background-color:#f9f9f9;"> - <td colspan="6" align="right">Grand Total</td> - <td>{formatLang(self.env, grand_total, currency_obj=self.currency_id, monetary=True)}</td> - <td colspan="2"></td> + template = None + report = None + body_html = None + subject = None + + # Logika untuk memilih template dan report berdasarkan 'perihal' + if self.perihal == 'tutup_tempo': + template = self.env.ref('indoteknik_custom.close_tempo_mail_template') + report = self.env.ref('indoteknik_custom.action_report_surat_tutup_tempo') + due_date_str = self.due_date.strftime('%d %B %Y') if self.due_date else 'yang telah ditentukan' + body_html = template.body_html \ + .replace('${object.partner_id.name}', self.partner_id.name or '') \ + .replace('${object.due_date}', due_date_str or '') + subject = f"Pemberitahuan Penutupan Pembayaran Tempo – {self.partner_id.name}" + else: + template = self.env.ref('indoteknik_custom.letter_receivable_mail_template') + + month_map = { + 1: "Januari", 2: "Februari", 3: "Maret", 4: "April", + 5: "Mei", 6: "Juni", 7: "Juli", 8: "Agustus", + 9: "September", 10: "Oktober", 11: "November", 12: "Desember", + } + target_date = (self.send_date or fields.Datetime.now()).date() + timedelta(days=7) + self.seven_days_after_sent_date = f"{target_date.day} {month_map[target_date.month]}" + + perihal_map = { + 'penagihan': 'Surat Resmi Penagihan', + 'sp1': 'Surat Peringatan Pertama (I)', + 'sp2': 'Surat Peringatan Kedua (II)', + 'sp3': 'Surat Peringatan Ketiga (III)', + } + perihal_text = perihal_map.get(self.perihal, self.perihal or '') + + invoice_table_rows = "" + grand_total = 0 + for line in selected_lines: + grand_total += line.amount_residual + invoice_table_rows += f""" + <tr> + <td>{line.invoice_number or '-'}</td> + <td>{self.partner_id.name or '-'}</td> + <td>{fields.Date.to_string(line.invoice_date) or '-'}</td> + <td>{fields.Date.to_string(line.invoice_date_due) or '-'}</td> + <td>{line.new_invoice_day_to_due}</td> + <td>{line.ref or '-'}</td> + <td>{formatLang(self.env, line.amount_residual, currency_obj=line.currency_id)}</td> + <td>{line.payment_term_id.name or '-'}</td> </tr> - </tfoot> - """ - # inject table rows ke template - body_html = re.sub( - r"<tbody[^>]*>.*?</tbody>", - f"<tbody>{invoice_table_rows}</tbody>{invoice_table_footer}", - template.body_html, - flags=re.DOTALL - ).replace('${object.name}', self.name or '') \ - .replace('${object.partner_id.name}', self.partner_id.name or '') \ - .replace('${object.seven_days_after_sent_date}', self.seven_days_after_sent_date or '') \ - .replace('${object.perihal}', perihal_text or '') - - report = self.env.ref('indoteknik_custom.action_report_surat_piutang') + """ + + invoice_table_footer = f""" + <tfoot> + <tr style="font-weight:bold; background-color:#f9f9f9;"> + <td colspan="6" align="right">Grand Total</td> + <td>{formatLang(self.env, grand_total, currency_obj=self.currency_id, monetary=True)}</td> + <td colspan="2"></td> + </tr> + </tfoot> + """ + + body_html = re.sub( + r"<tbody[^>]*>.*?</tbody>", + f"<tbody>{invoice_table_rows}</tbody>{invoice_table_footer}", + template.body_html, + flags=re.DOTALL + ).replace('${object.name}', self.name or '') \ + .replace('${object.partner_id.name}', self.partner_id.name or '') \ + .replace('${object.seven_days_after_sent_date}', self.seven_days_after_sent_date or '') \ + .replace('${object.perihal}', perihal_text or '') + + report = self.env.ref('indoteknik_custom.action_report_surat_piutang') + subject = perihal_map.get(self.perihal, self.perihal or '') + " - " + (self.partner_id.name or '') + pdf_content, _ = report._render_qweb_pdf([self.id]) attachment_base64 = base64.b64encode(pdf_content) @@ -337,14 +359,13 @@ class SuratPiutang(models.Model): cc_list.append(sales_email) values = { - # 'subject': template.subject.replace('${object.name}', self.name or ''), - 'subject': perihal_map.get(self.perihal, self.perihal or '') + " - " + (self.partner_id.name or ''), + 'subject': subject, # Menggunakan subject yang sudah ditentukan di atas 'email_to': self.tujuan_email, 'email_from': 'finance@indoteknik.co.id', - 'email_cc': ",".join(sorted(set(cc_list))), - 'body_html': body_html, + # 'email_cc': ",".join(sorted(set(cc_list))), + 'body_html': body_html, # Menggunakan body_html yang sudah ditentukan di atas 'attachments': [(attachment.name, attachment.datas)], - 'reply_to': 'finance@indoteknik.co.id', + # 'reply_to': 'finance@indoteknik.co.id', } template.with_context(mail_post_autofollow=False).send_mail( diff --git a/indoteknik_custom/report/report_surat_piutang.xml b/indoteknik_custom/report/report_surat_piutang.xml index 62db7982..fc5593a7 100644 --- a/indoteknik_custom/report/report_surat_piutang.xml +++ b/indoteknik_custom/report/report_surat_piutang.xml @@ -10,8 +10,8 @@ <field name="report_name">indoteknik_custom.report_surat_piutang</field> <field name="report_file">indoteknik_custom.report_surat_piutang</field> <field name="print_report_name">'%s - %s' % (object.perihal_label or '', object.partner_id.name or '')</field> - <field name="binding_model_id" ref="model_surat_piutang"/> - <field name="binding_type">report</field> + <!-- <field name="binding_model_id" ref="model_surat_piutang"/> + <field name="binding_type">report</field> --> </record> <template id="external_layout_surat_piutang"> diff --git a/indoteknik_custom/report/report_tutup_tempo.xml b/indoteknik_custom/report/report_tutup_tempo.xml index e4647119..38208be9 100644 --- a/indoteknik_custom/report/report_tutup_tempo.xml +++ b/indoteknik_custom/report/report_tutup_tempo.xml @@ -1,34 +1,37 @@ <?xml version="1.0" encoding="utf-8"?> <odoo> <data> + <record id="action_print_surat_piutang_server" model="ir.actions.server"> + <field name="name">Cetak Surat</field> + <field name="model_id" ref="indoteknik_custom.model_surat_piutang"/> + <field name="binding_model_id" ref="indoteknik_custom.model_surat_piutang"/> + <field name="binding_view_types">form</field> + <field name="state">code</field> + <field name="code"> + action = records.action_print() + </field> + </record> - <!-- Report Action --> - <record id="action_report_surat_piutang" model="ir.actions.report"> + <record id="action_report_surat_tutup_tempo" model="ir.actions.report"> <field name="name">Surat Penutupan Tempo</field> <field name="model">surat.piutang</field> <field name="report_type">qweb-pdf</field> - <field name="report_name">indoteknik_custom.report_surat_piutang</field> - <field name="report_file">indoteknik_custom.report_surat_piutang</field> + <field name="report_name">indoteknik_custom.report_surat_tutup_tempo</field> + <field name="report_file">indoteknik_custom.report_surat_tutup_tempo</field> <field name="print_report_name">'%s - %s' % (object.perihal_label or '', object.partner_id.name or '')</field> - <field name="binding_model_id" ref="model_surat_piutang"/> - <field name="binding_type">report</field> + <!-- <field name="binding_model_id" ref="model_surat_piutang"/> + <field name="binding_type">report</field> --> </record> - <template id="external_layout_surat_piutang"> + <template id="external_layout_surat_tutup_tempo"> <t t-call="web.html_container"> - - <!-- Header --> <div class="header"> <img src="https://erp.indoteknik.com/api/image/ir.attachment/datas/2498521" style="width:100%; display: block;"/> </div> - - <!-- Body --> <div class="article" style="margin: 0 1.5cm 0 1.5cm; "> <t t-raw="0"/> </div> - - <!-- Footer --> <div class="footer"> <img src="https://erp.indoteknik.com/api/image/ir.attachment/datas/2859765" style="width:100%; display: block;"/> @@ -36,25 +39,20 @@ </t> </template> - - - <!-- Wrapper Template --> - <template id="report_surat_piutang"> + <template id="report_surat_tutup_tempo"> <t t-call="web.html_container"> <t t-foreach="docs" t-as="doc"> - <t t-call="indoteknik_custom.report_surat_piutang_document" + <t t-call="indoteknik_custom.report_surat_tutup_tempo_document" t-lang="doc.partner_id.lang"/> </t> </t> </template> - <!-- Document Template --> - <template id="report_surat_piutang_document"> - <t t-call="indoteknik_custom.external_layout_surat_piutang"> + <template id="report_surat_tutup_tempo_document"> + <t t-call="indoteknik_custom.external_layout_surat_tutup_tempo"> <t t-set="doc" t-value="doc.with_context(lang=doc.partner_id.lang)"/> <div class="page"> - <!-- Ref & Date --> <div class="row mb3"> <div class="col-6"> Ref. No: <t t-esc="doc.name or '-'"/> @@ -64,7 +62,6 @@ </div> </div> <br/> - <!-- Tujuan --> <div class="mb3" style="max-width:500px; word-wrap:break-word; white-space:normal;"> <strong>Kepada Yth.</strong><br/> <strong><t t-esc="doc.partner_id.name or '-'"/></strong><br/> @@ -74,8 +71,6 @@ <u>Republik Indonesia</u> </div> <br/> - - <!-- UP & Perihal --> <table style="margin-left:2cm;"> <tr style="font-weight: bold;"> <td style="padding-right:10px;">U.P.</td> @@ -86,156 +81,59 @@ <td>: <u><t t-esc="doc.perihal_label or '-'"/></u></td> </tr> </table> - <br/> - <!-- Isi Surat --> - <p><strong>Dengan Hormat,</strong></p> - <p>Yang bertanda tangan di bawah ini:</p> - - <p class="text-justify"> - <strong>PT. Indoteknik Dotcom Gemilang</strong>, suatu perseroan terbatas yang didirikan berdasarkan hukum Negara Republik - Indonesia, yang beralamat di Jalan Bandengan Utara 85A No. 8-9, RT.003/RW.016, Penjaringan, Penjaringan, Jakarta - Utara, DKI Jakarta 14440, Republik Indonesia, dalam hal ini diwakili secara sah oleh Akbar Prabawa selaku General - Manager, dengan ini menyampaikan sebagai berikut: - </p> - - <p class="text-justify"> - Kami mengucapkan terima kasih atas kerja sama yang telah terjalin dengan baik selama ini antara perusahaan kami - dengan <strong><t t-esc="doc.partner_id.name or '-'"/></strong>. - </p> - - <p class="text-justify"> - Namun, bersama surat ini kami ingin mengingatkan bahwa hingga tanggal surat ini dibuat, masih terdapat tagihan yang - belum diselesaikan oleh pihak <strong><t t-esc="doc.partner_id.name or '-'"/></strong> kepada kami periode bulan - <t t-esc="doc.periode_invoices_terpilih or '-'"/>, bahwa berdasarkan data korespondensi dan laporan keuangan yang kami kelola, - <t t-esc="doc.partner_id.name or '-'"/> <b>(“Saudara”)</b> masih mempunyai tagihan yang telah jatuh tempo dan belum dibayarkan sejumlah - <t t-esc="doc.grand_total_text or '-'"/> <b>(“Tagihan”)</b>. - </p> - - <p>Berikut kami lampirkan Rincian Tagihan yang telah Jatuh Tempo:</p> - - <!-- Tabel Invoice --> - <table class="table table-sm o_main_table" - style="font-size:13px; border:1px solid #000; border-collapse: collapse; width:100%; table-layout: fixed;"> - - <thead style="background:#f5f5f5;"> - <tr> - <th style="border:1px solid #000; padding:4px; width:5%; font-weight: bold;" class="text-center">No.</th> - <th style="border:1px solid #000; padding:4px; width:16%; font-weight: bold;">Invoice Number</th> - <th style="border:1px solid #000; padding:4px; width:10%; font-weight: bold;">Invoice Date</th> - <th style="border:1px solid #000; padding:4px; width:10%; font-weight: bold;">Due Date</th> - <th style="border:1px solid #000; padding:4px; width:6%; font-weight: bold;" class="text-center">Day to Due</th> - <th style="border:1px solid #000; padding:4px; width:16%; font-weight: bold;">Reference</th> - <th style="border:1px solid #000; padding:4px; width:17%; font-weight: bold;" class="text-right">Amount Due</th> - <th style="border:1px solid #000; padding:4px; width:11%; font-weight: bold;">Payment Terms</th> - </tr> - </thead> - - <tbody> - <tr t-foreach="doc.line_ids.filtered(lambda l: l.selected)" t-as="line"> - - <!-- Nomor Urut --> - <td style="border:1px solid #000; padding:4px; text-align:center;"> - <t t-esc="line.sort or '-'"/> - </td> - - <!-- Invoice Number --> - <td style="border:1px solid #000; padding:4px; word-wrap: break-word;"> - <t t-esc="line.invoice_number or '-'"/> - </td> - - <!-- Invoice Date --> - <td style="border:1px solid #000; padding:4px;"> - <t t-esc="line.invoice_date and line.invoice_date.strftime('%d-%m-%Y') or '-'"/> - </td> - - <!-- Due Date --> - <td style="border:1px solid #000; padding:4px;"> - <t t-esc="line.invoice_date_due and line.invoice_date_due.strftime('%d-%m-%Y') or '-'"/> - </td> - - <!-- Day to Due --> - <td style="border:1px solid #000; padding:4px; text-align:center;"> - <t t-esc="line.new_invoice_day_to_due or '-'"/> - </td> - - <!-- Reference --> - <td style="border:1px solid #000; padding:4px; word-wrap: break-word;"> - <t t-esc="line.ref or '-'"/> - </td> - - <!-- Amount Due --> - <td style="border:1px solid #000; padding:4px; text-align:right;"> - Rp. <t t-esc="'{:,.0f}'.format(line.amount_residual).replace(',', '.')"/> - </td> - - <!-- Payment Terms --> - <td style="border:1px solid #000; padding:4px; word-wrap: break-word;"> - <t t-esc="line.payment_term_id.name or '-'"/> - </td> - </tr> - <tr> - <td colspan="5" class="text-left" style="border:1px solid #000; padding:4px; word-wrap: break-word; white-space: normal; font-weight: bold;"> - GRAND TOTAL INVOICE YANG BELUM DIBAYAR DAN TELAH JATUH TEMPO - </td> - <td colspan="3" class="text-right" style="border:1px solid #000; padding:4px; word-wrap: break-word; white-space: normal; font-weight: bold;"> - Rp. <t t-esc="'{:,.0f}'.format(doc.grand_total).replace(',', '.')"/> - (<t t-esc="doc.grand_total_text or '-'"/>) - </td> - </tr> - </tbody> - </table> - - - <!-- Penutup --> - <p class="text-justify"> - Kami belum menerima konfirmasi pelunasan ataupun pembayaran sebagian dari total kewajiban tersebut dan kami - memahami bahwa setiap perusahaan bisa saja menghadapi kendala operasional maupun keuangan, dan kami sangat - terbuka untuk berdiskusi serta mencari solusi terbaik bersama agar kerja sama kita tetap berjalan baik ke depannya. - </p> + <t t-set="invoice_numbers_str" t-value="', '.join(doc.line_ids.filtered(lambda l: l.selected).mapped('invoice_number'))"/> + <p><strong>Dengan Hormat,</strong></p> <p class="text-justify"> - Oleh karena itu, kami mohon perhatian dan itikad baik dari pihak <strong><t t-esc="doc.partner_id.name or '-'"/></strong> - untuk segera melakukan pelunasan atau memberikan informasi terkait rencana pembayaran paling lambat dalam waktu 7 (tujuh) hari kerja sejak surat ini diterima. + Berdasarkan catatan kami, pembayaran atas invoice + <strong><t t-esc="invoice_numbers_str"/></strong> + yang jatuh tempo pada tanggal + <strong><t t-esc="doc.due_date and doc.due_date.strftime('%d %B %Y')"/></strong> + telah melewati batas waktu 30 (tiga puluh) hari. Sehubungan dengan hal tersebut, bersama ini kami sampaikan kebijakan perusahaan sebagai berikut: </p> - + + <ol style="padding-left: 1.5em; margin-bottom: 1em;"> + <li class="text-justify" style="margin-bottom: 0.5em;"> + Secara sistem, akun akan otomatis terkunci (locked) apabila pembayaran telah melewati 30 (tiga puluh) hari dari tanggal jatuh tempo. + </li> + <li class="text-justify" style="margin-bottom: 0.5em;"> + Payment term yang semula Tempo akan otomatis berubah menjadi <strong>Cash Before Delivery (CBD)</strong>. + </li> + <li class="text-justify"> + Apabila Bapak/Ibu telah melakukan konfirmasi pembayaran atau memberikan informasi lanjutan terkait pelunasan, maka payment term dapat dibukakan kembali menjadi Tempo berdasarkan pengajuan dari tim Sales kami. + </li> + </ol> + <p class="text-justify"> - Jika dalam waktu yang telah ditentukan belum ada penyelesaian atau tanggapan, kami akan mempertimbangkan untuk - melanjutkan proses sesuai ketentuan yang berlaku. + Kebijakan ini kami terapkan untuk menjaga kelancaran proses transaksi serta memastikan hubungan kerja sama dapat terus berjalan dengan baik. </p> - + <p class="text-justify"> - Demikian kami sampaikan. Atas perhatian dan kerja samanya, kami ucapkan terima kasih. + Atas perhatian dan kerja samanya kami ucapkan terima kasih. </p> <div class="mt32" style="page-break-inside: avoid;"> <p>Hormat kami,<br/> <strong>PT. Indoteknik Dotcom Gemilang</strong> </p> - <div style="height:120px; position: relative;"> - <t t-if="doc.perihal != 'penagihan'"> - <img src="https://erp.indoteknik.com/api/image/ir.attachment/datas/2851919" - style="width:300px; height:auto; margin-top:-40px;"/> - </t> - <t t-else=""> - <div style="height:100px;"></div> - </t> + <img src="https://erp.indoteknik.com/api/image/ir.attachment/datas/2869838" + style="width:300px; height:auto; margin-left:-20px;"/> </div> <table style="margin-top:10px;"> <tr style="border-top:1px solid #000; font-weight: bold;"> <td style="padding-right:50px; white-space: nowrap;">Nama</td> - <td>: Akbar Prabawa</td> + <td>: Stephan Christianus</td> </tr> <tr style="font-weight: bold;"> <td style="padding-right:50px; white-space: nowrap;">Jabatan</td> - <td>: General Manager</td> + <td>: FAT Manager</td> </tr> </table> </div> </div> </t> </template> - </data> -</odoo> +</odoo>
\ No newline at end of file diff --git a/indoteknik_custom/views/close_tempo_mail_template.xml b/indoteknik_custom/views/close_tempo_mail_template.xml index f1e66d40..0f16d3ef 100644 --- a/indoteknik_custom/views/close_tempo_mail_template.xml +++ b/indoteknik_custom/views/close_tempo_mail_template.xml @@ -4,9 +4,9 @@ <record id="close_tempo_mail_template" model="mail.template"> <field name="name">Surat Penutupan Tempo</field> <field name="model_id" ref="indoteknik_custom.model_surat_piutang"/> - <field name="subject"></field> + <field name="subject">${object.perihal_label} - ${object.partner_id.name}</field> <field name="email_from">finance@indoteknik.co.id</field> - <field name="email_to"></field> + <field name="email_to">${object.tujuan_email}</field> <field name="body_html" type="html"> <div style="font-family:Arial, sans-serif; font-size:13px; color:#333;"> <div><b>Dengan hormat,</b></div> @@ -15,63 +15,42 @@ <div><b>Manajemen ${object.partner_id.name}</b></div> <br/> <div> - Melalui email ini, kami ingin mengingatkan kembali terkait kewajiban pembayaran - ${object.partner_id.name} atas transaksi dengan rincian sebagai berikut: + Bersama email ini, kami sampaikan surat pemberitahuan resmi terkait <strong>penutupan pembayaran tempo</strong> + yang selama ini berlaku bagi ${object.partner_id.name}. </div> <br/> - <table cellpadding="6" cellspacing="0" width="100%" - style="border-collapse:collapse; font-size:12px; border:1px solid #ddd;"> - <thead> - <tr style="background-color:#f2f2f2; text-align:left;"> - <th style="border:1px solid #ddd;">Invoice Number</th> - <th style="border:1px solid #ddd;">Customer</th> - <th style="border:1px solid #ddd;">Invoice Date</th> - <th style="border:1px solid #ddd;">Due Date</th> - <th style="border:1px solid #ddd;">Days To Due</th> - <th style="border:1px solid #ddd;">Reference</th> - <th style="border:1px solid #ddd;">Amount Due Signed</th> - <th style="border:1px solid #ddd;">Payment Terms</th> - </tr> - </thead> - <tbody> - <!-- baris invoice akan diinject dari Python --> - </tbody> - </table> - - <p> - Hingga saat ini, kami belum menerima pembayaran atas tagihan tersebut. - Mohon konfirmasi dan tindak lanjut dari pihak saudara paling lambat pada - tanggal <b>${object.seven_days_after_sent_date}</b> (7 hari setelah email ini dikirimkan). - </p> - - <p> - Sebagai informasi, kami lampirkan <b>${object.perihal}</b> untuk menjadi perhatian. - Jika tidak ada tanggapan atau penyelesaian dalam batas waktu tersebut, kami akan - melanjutkan dengan pengiriman surat peringatan berikutnya dan mengambil langkah-langkah - penyelesaian sesuai ketentuan yang berlaku. - </p> - - <p> - Demikian kami sampaikan. Atas perhatian dan kerja samanya, kami ucapkan terima kasih. - </p> + <div> + <b>Terhitung mulai tanggal ${object.due_date}</b>, + seluruh transaksi dengan ${object.partner_id.name} akan diberlakukan dengan sistem pembayaran + <b>Cash Before Delivery (CBD)</b>. + </div> + + <p> + Adapun surat resminya kami lampirkan, apabila diperlukan klarifikasi atau penyesuaian terkait kebijakan ini, + kami terbuka untuk mendiskusikannya lebih lanjut. + </p> + <br/> + <p> + Atas perhatian dan kerja samanya, kami ucapkan terima kasih. + </p> - <br/><br/> - <p> - <b> - Best Regards,<br/><br/> - Widya R.<br/> - Dept. Finance<br/> - PT. INDOTEKNIK DOTCOM GEMILANG<br/> - <img src="https://erp.indoteknik.com/api/image/ir.attachment/datas/2135765" - alt="Indoteknik" style="max-width:18%; height:auto;"/><br/> - <a href="https://wa.me/6285716970374" target="_blank">+62-857-1697-0374</a> | - <a href="mailto:finance@indoteknik.co.id">finance@indoteknik.co.id</a> - </b> - </p> + <br/><br/> + <p> + <b> + Best Regards,<br/><br/> + Widya R.<br/> + Dept. Finance<br/> + PT. INDOTEKNIK DOTCOM GEMILANG<br/> + <img src="https://erp.indoteknik.com/api/image/ir.attachment/datas/2135765" + alt="Indoteknik" style="max-width:18%; height:auto;"/><br/> + <a href="https://wa.me/6285716970374" target="_blank">+62-857-1697-0374</a> | + <a href="mailto:finance@indoteknik.co.id">finance@indoteknik.co.id</a> + </b> + </p> </div> </field> <field name="auto_delete" eval="True"/> </record> </data> -</odoo> +</odoo>
\ No newline at end of file |
