summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndriFP <113114423+andrifp@users.noreply.github.com>2025-09-12 17:34:14 +0700
committerAndriFP <113114423+andrifp@users.noreply.github.com>2025-09-12 17:34:14 +0700
commitf2b1b0ec605b552c2bf225de46094cd4707197ee (patch)
tree15e7ddbece53ff56d07ccbcc795107a25c44cfb4
parentd04150023a7145468858765209e8d6b3724b0fec (diff)
(andri) add penomoran di tabel dan melengkapi teks surat
-rw-r--r--indoteknik_custom/models/letter_receivable.py15
-rw-r--r--indoteknik_custom/report/report_surat_piutang.xml112
2 files changed, 96 insertions, 31 deletions
diff --git a/indoteknik_custom/models/letter_receivable.py b/indoteknik_custom/models/letter_receivable.py
index a414eec3..3823a57a 100644
--- a/indoteknik_custom/models/letter_receivable.py
+++ b/indoteknik_custom/models/letter_receivable.py
@@ -347,3 +347,18 @@ class SuratPiutangLine(models.Model):
date_terima_tukar_faktur = fields.Date(string='Terima Faktur')
invoice_user_id = fields.Many2one('res.users', string='Salesperson')
sale_id = fields.Many2one('sale.order', string='Sale Order')
+
+ sort = fields.Integer(string='No Urut', compute='_compute_sort', store=False)
+
+ @api.depends('surat_id.line_ids.selected')
+ def _compute_sort(self):
+ for line in self:
+ if line.surat_id:
+ # Ambil semua line yang selected
+ selected_lines = line.surat_id.line_ids.filtered(lambda l: l.selected)
+ try:
+ line.sort = selected_lines.ids.index(line.id) + 1
+ except ValueError:
+ line.sort = 0
+ else:
+ line.sort = 0
diff --git a/indoteknik_custom/report/report_surat_piutang.xml b/indoteknik_custom/report/report_surat_piutang.xml
index 07e208de..d9eaa9ee 100644
--- a/indoteknik_custom/report/report_surat_piutang.xml
+++ b/indoteknik_custom/report/report_surat_piutang.xml
@@ -90,16 +90,25 @@
<!-- Isi Surat -->
<p>Dengan Hormat,</p>
- <p>Yang bertanda tangan di bawah ini menyampaikan sebagai berikut:</p>
-
- <p class="text-justify" style="font-weight: normal !important;">
- Namun, bersama surat ini kami ingin mengingatkan bahwa hingga tanggal surat ini dibuat,
- masih terdapat tagihan yang belum diselesaikan oleh pihak
- <t t-esc="doc.partner_id.name or '-'"/>
- periode bulan
- <t t-esc="doc.periode_invoices_terpilih or '-'"/>,
- berdasarkan data korespondensi dan laporan keuangan,
- <t t-esc="doc.partner_id.name or '-'"/> (“Saudara”) masih mempunyai tagihan yang telah jatuh tempo sejumlah
+ <p>Yang bertanda tangan di bawah ini:</p>
+
+ <p class="text-justify">
+ PT. Indoteknik Dotcom Gemilang, 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 <t t-esc="doc.partner_id.name or '-'"/>.
+ </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 <t t-esc="doc.partner_id.name or '-'"/> 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 '-'"/> (“Saudara”) masih mempunyai tagihan yang telah jatuh tempo dan belum dibayarkan sejumlah
<t t-esc="doc.grand_total_text or '-'"/> (“Tagihan”).
</p>
@@ -111,33 +120,65 @@
<thead style="background:#f5f5f5;">
<tr>
- <th style="border:1px solid #000; padding:4px; width:17%;">Invoice Number</th>
+ <th style="border:1px solid #000; padding:4px; width:5%;" class="text-center">No.</th>
+ <th style="border:1px solid #000; padding:4px; width:15%;">Invoice Number</th>
<th style="border:1px solid #000; padding:4px; width:10%;">Invoice Date</th>
<th style="border:1px solid #000; padding:4px; width:10%;">Due Date</th>
<th style="border:1px solid #000; padding:4px; width:6%;" class="text-center">Day to Due</th>
- <th style="border:1px solid #000; padding:4px; width:17%;">Reference</th>
+ <th style="border:1px solid #000; padding:4px; width:16%;">Reference</th>
<th style="border:1px solid #000; padding:4px; width:17%;" class="text-right">Amount Due</th>
<th style="border:1px solid #000; padding:4px; width:12%;">Payment Terms</th>
</tr>
</thead>
<tbody>
- <t t-foreach="doc.line_ids.filtered(lambda l: l.selected)" t-as="line">
- <tr>
- <td style="border:1px solid #000; padding:4px; word-wrap: break-word;"><t t-esc="line.invoice_number or '-'"/></td>
- <td style="border:1px solid #000; padding:4px;"><t t-esc="line.invoice_date and line.invoice_date.strftime('%d-%m-%Y') or '-'"/></td>
- <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>
- <td style="border:1px solid #000; padding:4px;" class="text-center"><t t-esc="line.new_invoice_day_to_due or '-'"/></td>
- <td style="border:1px solid #000; padding:4px; word-wrap: break-word;"><t t-esc="line.ref or '-'"/></td>
- <td style="border:1px solid #000; padding:4px;" class="text-right">Rp. <t t-esc="'{:,.0f}'.format(line.amount_residual).replace(',', '.')"/></td>
- <td style="border:1px solid #000; padding:4px; word-wrap: break-word;"><t t-esc="line.payment_term_id.name or '-'"/></td>
- </tr>
- </t>
+ <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>
</tbody>
<tfoot>
<tr>
- <td colspan="4" class="text-right" style="border:1px solid #000; padding:4px;">
+ <td colspan="5" class="text-right" style="border:1px solid #000; padding:4px;">
<strong>GRAND TOTAL</strong>
</td>
<td colspan="3" class="text-right" style="border:1px solid #000; padding:4px; word-wrap: break-word; white-space: normal;">
@@ -150,16 +191,25 @@
<!-- Penutup -->
- <p class="text-justify">Kami belum menerima konfirmasi pelunasan ataupun pembayaran sebagian dari total kewajiban tersebut. Kami sangat terbuka untuk berdiskusi serta mencari solusi terbaik agar kerja sama tetap berjalan baik.</p>
-
- <p class="text-justify">Oleh karena itu, kami mohon perhatian dan itikad baik dari pihak
- <t t-esc="doc.partner_id.name or '-'"/>
- untuk segera melakukan pelunasan atau memberikan informasi terkait rencana pembayaran paling lambat dalam waktu 7 (tujuh) hari kerja sejak surat ini diterima.</p>
+ <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>
- <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.</p>
+ <p class="text-justify">
+ Oleh karena itu, kami mohon perhatian dan itikad baik dari pihak <t t-esc="doc.partner_id.name or '-'"/>
+ untuk segera melakukan pelunasan atau memberikan informasi terkait rencana pembayaran paling lambat dalam waktu 7 (tujuh) hari kerja sejak surat ini diterima.
+ </p>
- <p class="text-justify">Demikian kami sampaikan. Atas perhatian dan kerja samanya, kami ucapkan terima kasih.</p>
+ <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.
+ </p>
+ <p class="text-justify">
+ Demikian kami sampaikan. Atas perhatian dan kerja samanya, kami ucapkan terima kasih.
+ </p>
<p>Hormat kami,</p>
<!-- Tanda Tangan -->