summaryrefslogtreecommitdiff
path: root/indoteknik_custom/views
diff options
context:
space:
mode:
authorIT Fixcomart <it@fixcomart.co.id>2025-10-28 00:30:42 +0000
committerIT Fixcomart <it@fixcomart.co.id>2025-10-28 00:30:42 +0000
commit13a84728c8aae076f2d10c77a8ba5aead789a47b (patch)
treea92f7cdf7e72baf66b6be6274dcb72358e37be75 /indoteknik_custom/views
parent87a4fc9ed43ea85cbbc8d09d268551c4f033491b (diff)
parentc15d83be7aad2a92abdd797ca7dd403566b8b841 (diff)
Merged in pum-v3 (pull request #453)
Pum v3
Diffstat (limited to 'indoteknik_custom/views')
-rw-r--r--indoteknik_custom/views/advance_payment_request.xml289
-rw-r--r--indoteknik_custom/views/advance_payment_settlement.xml184
-rw-r--r--indoteknik_custom/views/ir_sequence.xml20
-rw-r--r--indoteknik_custom/views/mail_template_pum.xml76
4 files changed, 569 insertions, 0 deletions
diff --git a/indoteknik_custom/views/advance_payment_request.xml b/indoteknik_custom/views/advance_payment_request.xml
new file mode 100644
index 00000000..c33a2843
--- /dev/null
+++ b/indoteknik_custom/views/advance_payment_request.xml
@@ -0,0 +1,289 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<odoo>
+ <record id="view_form_advance_payment_request" model="ir.ui.view">
+ <field name="name">advance.payment.request.form</field>
+ <field name="model">advance.payment.request</field>
+ <field name="arch" type="xml">
+ <form string="Advance Payment Request &amp; Reimburse">
+ <header>
+ <button name="action_realisasi_pum"
+ type="object"
+ string="Realisasi"
+ class="btn-primary"
+ attrs="{'invisible': ['|',
+ ('status', '!=', 'approved'),
+ '|', ('type_request', '!=', 'pum'),
+ ('has_settlement', '=', True)]}"/>
+ <button name="action_approval_check"
+ type="object"
+ string="Checking/Approval"
+ class="btn-success"
+ attrs="{'invisible': [('status', 'in', ['approved','reject','draft'])]}"/>
+ <button name="action_confirm_payment"
+ type="object"
+ string="Konfirmasi Pembayaran"
+ class="btn-info"
+ attrs="{'invisible': ['|', ('status', 'not in', ['approved']), ('status_pay_down_payment', '=', 'payment')]}"/>
+ <button name="action_ap_only"
+ type="object"
+ string="Buat Jurnal PUM"
+ class="btn-info"
+ attrs="{'invisible': ['|',
+ ('status', 'not in', ['approved']),
+ '|',
+ ('is_cab_visible', '=', True),
+ ('type_request', '!=', 'pum')
+ ]}"/>
+ <button name="action_open_create_reimburse_cab"
+ type="object"
+ string="Buat Jurnal Reimburse"
+ class="btn-info"
+ attrs="{'invisible': ['|',
+ ('status', 'not in', ['approved']),
+ '|',
+ ('is_cab_visible', '=', True),
+ ('type_request', '!=', 'reimburse')
+ ]}"/>
+ <field name="status" widget="statusbar"
+ statusbar_visible="draft,pengajuan1,pengajuan2,pengajuan3,approved"
+ statusbar_colors='{"reject":"red"}'
+ readonly="1"/>
+ </header>
+ <sheet>
+ <widget name="web_ribbon" title="Payment" attrs="{'invisible': ['|', ('status_pay_down_payment', '!=', 'payment'), ('status', '=', 'draft')]}"/>
+ <widget name="web_ribbon" title="Pending" bg_color="bg-danger" attrs="{'invisible': ['|', ('status_pay_down_payment', '!=', 'pending'), ('status', '=', 'draft')]}"/>
+ <div class="oe_button_box" name="button_box" style="right: 150px;">
+ <field name="has_settlement" invisible="1"/>
+ <button name="action_realisasi_pum"
+ type="object"
+ class="oe_stat_button"
+ icon="fa-check-square-o"
+ style="width: 280px;"
+ attrs="{'invisible': ['|', ('status', '!=', 'approved'), ('has_settlement', '=', False)]}">
+ <!-- <field name="settlement_ids" widget="statinfo" string="Realisasi PUM"/> -->
+ <field name="settlement_name" widget="statinfo" string="Realisasi PUM"/>
+ </button>
+ <field name="is_cab_visible" invisible="1"/>
+ <field name="is_current_user_ap" invisible="1"/>
+ <button type="object"
+ name="action_view_journal_uangmuka"
+ class="oe_stat_button"
+ icon="fa-book"
+ attrs="{'invisible': [('is_cab_visible', '=', False)]}"
+ style="width: 200px;">
+ <field name="move_id" widget="statinfo" string="Journal Uang Muka"/>
+ <span class="o_stat_text">
+ <t t-esc="record.move_id.name"/>
+ </span>
+ </button>
+ </div>
+ <div class="oe_title">
+ <h1>
+ <field name="number" readonly="1"/>
+ </h1>
+ </div>
+ <group col="2">
+ <group string=" ">
+ <field name="type_request" attrs="{'readonly': [('status', '=', 'approved')]}"/>
+ <field name="is_represented" attrs="{'readonly': [('status', '=', 'approved')], 'invisible': [('type_request', '=', 'reimburse')]}"/>
+ <field name="applicant_name" colspan="2" attrs="{'readonly': [('status', '=', 'approved')]}"/>
+ <field name="position_type" force_save="1" readonly="1"/>
+ <field name="nominal" colspan="2" attrs="{'readonly': [('status', '=', 'approved')]}"/>
+ <field name="bank_name" colspan="2" attrs="{'readonly': [('status', '=', 'approved')]}"/>
+ <field name="account_name" colspan="2" attrs="{'readonly': [('status', '=', 'approved')]}"/>
+ <field name="bank_account" colspan="2" attrs="{'readonly': [('status', '=', 'approved')]}"/>
+ <field name="detail_note" attrs="{'readonly': [('status', '=', 'approved')]}"/>
+ <br/>
+ <field name="user_id" readonly="1"/>
+ <!-- <field name="position_type" readonly="1"/> -->
+ <!-- <field name="partner_id" readonly="1"/> -->
+ <field name="departement_type"/>
+ <field name="apr_perjalanan" attrs="{'invisible': [('type_request', '=', 'reimburse')]}"/>
+ <field name="date_back_to_office" attrs="{'invisible': [('apr_perjalanan', '=', False)]}"/>
+ <p style="font-size: 10px; color: grey; font-style: italic" attrs="{'invisible': [('apr_perjalanan', '=', False)]}">*Setelah tanggal kembali, pemohon diharapkan untuk segera memproses realisasi PUM</p>
+ <field name="estimated_return_date" readonly="1" widget="badge" attrs="{'invisible': [('type_request', '=', 'reimburse')]}"/>
+ <field name="days_remaining" readonly="1" widget="badge" attrs="{'invisible': [('type_request', '=', 'reimburse')]}"/>
+ <field name="approved_by" readonly="1"/>
+ <field name="create_date" readonly="1"/>
+ <field name="status_pay_down_payment"
+ readonly="1"
+ decoration-success="status_pay_down_payment == 'payment'"
+ decoration-danger="status_pay_down_payment == 'pending'"
+ widget="badge" invisible = "1"/>
+ </group>
+ <group string="Bukti Transfer">
+ <field name="upload_attachment_date" readonly="1"/>
+ <field name="attachment_type" attrs="{'readonly': [('is_current_user_ap', '=', False)]}" />
+ <field name="attachment_file_pdf" filename="attachment_filename"
+ widget="pdf_viewer"
+ attrs="{'invisible': [('attachment_type', '!=', 'pdf')], 'readonly': [('is_current_user_ap', '=', False)]}"/>
+
+ <field name="attachment_file_image" filename="attachment_filename"
+ widget="image"
+ attrs="{'invisible': [('attachment_type', '!=', 'image')], 'readonly': [('is_current_user_ap', '=', False)]}"
+ style="max-width:250px; max-height:250px; object-fit:contain;"/>
+ <br/>
+ </group>
+ </group>
+ <notebook attrs="{'invisible': [('type_request', '!=', 'reimburse')]}">
+ <page string="Rincian Reimburse">
+ <field name="reimburse_line_ids">
+ <tree>
+ <field name="date"/>
+ <field name="description"/>
+ <field name="account_id"/>
+ <!-- <field name="distance"/> -->
+ <field name="quantity"/>
+ <field name="price_unit"/>
+ <field name="total" sum="Total"/>
+ <field name="is_checked"/>
+ <field name="currency_id" invisible="1"/>
+ </tree>
+ <form>
+ <group col="2">
+ <group string="Form">
+ <field name="request_id" invisible="1"/>
+ <field name="date"/>
+ <field name="is_vehicle"/>
+ <field name="vehicle_type" attrs="{'invisible': [('is_vehicle', '=', False)]}"/>
+ <field name="description"/>
+ <field name="distance_departure" attrs="{'invisible': [('is_vehicle', '=', False)]}"/>
+ <field name="distance_return" attrs="{'invisible': [('is_vehicle', '=', False)]}"/>
+ <field name="quantity"/>
+ <field name="price_unit" attrs="{'readonly': [('is_vehicle', '=', True)]}" force_save ="1"/>
+ <field name="total" readonly="1"/>
+ <field name="currency_id" invisible="1"/>
+ <field name="attachment_type"/>
+ <field name="attachment_pdf" filename="attachment_filename"
+ widget="pdf_viewer"
+ attrs="{'invisible': [('attachment_type', '!=', 'pdf')]}"/>
+ <field name="attachment_image" filename="attachment_filename"
+ widget="image"
+ attrs="{'invisible': [('attachment_type', '!=', 'image')]}"
+ style="max-width:250px; max-height:250px; object-fit:contain;"/>
+ </group>
+ <group string="Finance">
+ <field name="is_current_user_ap" invisible="1"/>
+ <field name="is_checked" attrs="{'readonly': [('is_current_user_ap', '=', False)]}"/>
+ <field name="account_id" placeholder="Hanya Finance yang boleh isi" attrs="{'readonly': [('is_current_user_ap', '=', False)]}"/>
+ </group>
+ </group>
+ </form>
+ </field>
+ <group class="oe_subtotal_footer oe_right" name="reimburse_total">
+ <field name="currency_id" invisible="1"/>
+ <field name="grand_total_reimburse"
+ widget="monetary"
+ options="{'currency_field': 'currency_id'}"/>
+ </group>
+ </page>
+ </notebook>
+ </sheet>
+ <div class="oe_chatter">
+ <field name="message_follower_ids" widget="mail_followers"/>
+ <field name="message_ids" widget="mail_thread"/>
+ </div>
+ </form>
+ </field>
+ </record>
+
+ <record id="view_tree_advance_payment_request" model="ir.ui.view">
+ <field name="name">advance.payment.request.tree</field>
+ <field name="model">advance.payment.request</field>
+ <field name="arch" type="xml">
+ <tree>
+ <field name="number"/>
+ <field name="user_id" optional='hide'/>
+ <field name="applicant_name"/>
+ <field name="nominal"/>
+ <field name="departement_type" optional='hide'/>
+ <field name="status"
+ readonly="1"
+ decoration-success="status == 'approved'"
+ decoration-danger="status == 'reject'"
+ widget="badge" optional="show"/>
+ <field name="status_pay_down_payment"
+ readonly="1"
+ decoration-success="status_pay_down_payment == 'payment'"
+ decoration-danger="status_pay_down_payment == 'pending'"
+ widget="badge"/>
+ <field name="days_remaining" readonly="1" widget="badge" optional="hide"/>
+ <field name="estimated_return_date" widget="badge" optional="hide"/>
+ </tree>
+ </field>
+ </record>
+
+ <record id="action_advance_payment_request" model="ir.actions.act_window">
+ <field name="name">Pengajuan Uang Muka &amp; Reimburse</field>
+ <field name="type">ir.actions.act_window</field>
+ <field name="res_model">advance.payment.request</field>
+ <field name="view_mode">tree,form</field>
+ </record>
+
+ <menuitem id="menu_advance_payment_request_acct"
+ name="Pengajuan Uang Muka &amp; Reimburse"
+ parent="account.menu_finance_entries"
+ sequence="114"
+ action="action_advance_payment_request"
+ />
+
+ <menuitem id="menu_advance_payment_request_sales"
+ name="Pengajuan Uang Muka &amp; Reimburse"
+ parent="indoteknik_custom.menu_monitoring_in_sale"
+ sequence="101"
+ action="action_advance_payment_request"
+ />
+
+ <record id="view_advance_payment_create_bill_form" model="ir.ui.view">
+ <field name="name">advance.payment.create.bill.form</field>
+ <field name="model">advance.payment.create.bill</field>
+ <field name="arch" type="xml">
+ <form string="Create CAB AP Only">
+ <group>
+ <field name="nominal"/>
+ <field name="account_id"/>
+ </group>
+ <footer>
+ <button name="action_create_cab" type="object" string="Create CAB" class="btn-primary"/>
+ <button string="Cancel" class="btn-secondary" special="cancel"/>
+ </footer>
+ </form>
+ </field>
+ </record>
+
+ <record id="action_advance_payment_create_bill" model="ir.actions.act_window">
+ <field name="name">Create CAB AP Only</field>
+ <field name="res_model">advance.payment.create.bill</field>
+ <field name="view_mode">form</field>
+ <field name="view_id" ref="view_advance_payment_create_bill_form"/>
+ <field name="target">new</field>
+ </record>
+
+
+ <record id="view_form_create_reimburse_cab_wizard" model="ir.ui.view">
+ <field name="name">create.reimburse.cab.wizard.form</field>
+ <field name="model">create.reimburse.cab.wizard</field>
+ <field name="arch" type="xml">
+ <form string="Buat Jurnal Reimburse">
+ <p>Pilih akun bank yang akan digunakan untuk jurnal kredit.</p>
+ <group>
+ <field name="total_reimburse"/>
+ <field name="account_id" options="{'no_create': True, 'no_open': True}"/>
+ <field name="currency_id" invisible="1"/>
+ </group>
+ <footer>
+ <button name="action_create_reimburse_cab" type="object" string="Buat Jurnal" class="btn-primary"/>
+ <button string="Batal" class="btn-secondary" special="cancel"/>
+ </footer>
+ </form>
+ </field>
+ </record>
+
+ <record id="action_create_reimburse_cab_wizard" model="ir.actions.act_window">
+ <field name="name">Buat Jurnal Reimburse</field>
+ <field name="res_model">create.reimburse.cab.wizard</field>
+ <field name="view_mode">form</field>
+ <field name="view_id" ref="view_form_create_reimburse_cab_wizard"/>
+ <field name="target">new</field>
+ </record>
+</odoo> \ No newline at end of file
diff --git a/indoteknik_custom/views/advance_payment_settlement.xml b/indoteknik_custom/views/advance_payment_settlement.xml
new file mode 100644
index 00000000..1a9d7908
--- /dev/null
+++ b/indoteknik_custom/views/advance_payment_settlement.xml
@@ -0,0 +1,184 @@
+<odoo>
+ <record id="view_form_advance_payment_settlement" model="ir.ui.view">
+ <field name="name">advance.payment.settlement.form</field>
+ <field name="model">advance.payment.settlement</field>
+ <field name="arch" type="xml">
+ <form string="Advance Payment Settlement">
+ <header>
+ <button name="action_cab"
+ type="object"
+ class="btn-info"
+ attrs="{'invisible': [ '|', ('is_cab_visible', '=', True),('status', '!=', 'approved')]}"
+ string="Buat Jurnal Realisasi"/>
+ <button name="action_approval_check"
+ type="object"
+ string="Checking/Approval"
+ class="btn-success"
+ attrs="{'invisible': [('status', '=', 'approved')]}"/>
+ <field name="status" widget="statusbar"
+ statusbar_visible="pengajuan1,pengajuan2,pengajuan3,approved"
+ statusbar_colors='{"reject":"red"}'
+ readonly="1"/>
+ </header>
+ <sheet>
+ <div class="oe_button_box" name="button_box">
+ <field name="is_cab_visible" invisible="1"/>
+ <field name="is_current_user_ap" invisible="1"/>
+ <button type="object"
+ name="action_view_journal_uangmuka"
+ class="oe_stat_button"
+ icon="fa-book"
+ attrs="{'invisible': [('is_cab_visible', '=', False)], 'readonly': [('is_current_user_ap', '=', False)]}"
+ style="width: 200px;">
+ <field name="move_id" widget="statinfo" string="Journal Entries"/>
+ <span class="o_stat_text">
+ <t t-esc="record.move_misc_id.name"/>
+ </span>
+ </button>
+ </div>
+ <div class="oe_title">
+ <h1>
+ <field name="name" readonly="1"/>
+ </h1>
+ </div>
+ <group col="2">
+ <group>
+ <field name="pum_id" readonly="1"/>
+ <field name="title" required="1"/>
+ <field name="goals" required="1"/>
+ <field name="related" required="1"/>
+ <field name="note_approval" required="1"/>
+ <field name="lot_of_attachment"/>
+ <field name="approved_by" readonly="1"/>
+ <field name="applicant_name" readonly="1"/>
+ <field name="user_id" readonly="1"/>
+ </group>
+ <group attrs="{'invisible': [('lot_of_attachment', '!=', 'one_for_all_line')]}">
+ <field name="attachment_type" attrs="{'readonly': [('status', '=', 'approved')]}"/>
+
+ <field name="attachment_file_pdf" filename="attachment_filename"
+ widget="pdf_viewer"
+ attrs="{'invisible': [('attachment_type', '!=', 'pdf')], 'readonly': [('status', '=', 'approved')]}"/>
+
+ <field name="attachment_file_image" filename="attachment_filename"
+ widget="image"
+ attrs="{'invisible': [('attachment_type', '!=', 'image')], 'readonly': [('status', '=', 'approved')]}"
+ style="max-width:250px; max-height:250px; object-fit:contain;"/>
+ <br/>
+ </group>
+ </group>
+
+ <notebook>
+ <page string="Rincian Penggunaan">
+ <field name="penggunaan_line_ids" nolabel="1">
+ <tree>
+ <field name="date"/>
+ <field name="description"/>
+ <field name="nominal" sum="Total Penggunaan"/>
+ <field name="done_attachment"/>
+ </tree>
+
+ <form>
+ <group col="2">
+ <group string = "Form">
+ <field name="lot_of_attachment" invisible="1"/>
+ <field name="date"/>
+ <field name="description"/>
+ <field name="nominal"/>
+ <field name="attachment_type"
+ attrs="{
+ 'invisible': [('lot_of_attachment', '=', 'one_for_all_line')]
+ }"/>
+ <field name="attachment_file_pdf"
+ filename="attachment_filename_pdf"
+ widget="pdf_viewer"
+ attrs="{
+ 'invisible': [
+ '|',
+ ('lot_of_attachment', '=', 'one_for_all_line'),
+ ('attachment_type', '!=', 'pdf')
+ ]
+ }"/>
+ <field name="attachment_file_image"
+ filename="attachment_filename_image"
+ widget="image"
+ attrs="{
+ 'invisible': [
+ '|',
+ ('lot_of_attachment', '=', 'one_for_all_line'),
+ ('attachment_type', '!=', 'image')
+ ]
+ }"
+ style="max-width:250px; max-height:250px; object-fit:contain;"/>
+
+ </group>
+ <group string="Finance">
+ <field name="is_current_user_ap" invisible="1"/>
+ <field name="account_id" attrs="{'readonly': [('is_current_user_ap', '=', False)]}"/>
+ <field name="done_attachment" attrs="{'readonly': [('is_current_user_ap', '=', False)]}"/>
+ </group>
+ </group>
+ </form>
+ </field>
+ </page>
+ </notebook>
+
+ <div style="text-align:right;">
+ <button name="action_toggle_check_attachment"
+ type="object"
+ string="Check/Uncheck All Line Use PUM"
+ class="btn-secondary"/>
+ </div>
+
+ <group col="2">
+ <group class="oe_subtotal_footer oe_right">
+ <field name="currency_id" invisible="1"/>
+ <field name="grand_total_use" readonly="1" widget="monetary" options="{'currency_field': 'currency_id'}"/>
+ <field name="nominal_pum" readonly="1" widget="monetary" options="{'currency_field': 'currency_id'}" style="font-weight: bold;"/>
+ <field name="remaining_value" readonly="1" widget="monetary" options="{'currency_field': 'currency_id'}"/>
+ </group>
+ </group>
+ </sheet>
+
+ <div class="oe_chatter">
+ <field name="message_follower_ids" widget="mail_followers"/>
+ <field name="message_ids" widget="mail_thread"/>
+ </div>
+ </form>
+ </field>
+ </record>
+
+ <record id="action_advance_payment_settlement" model="ir.actions.act_window">
+ <field name="name">Realisasi Pengajuan Uang Muka</field>
+ <field name="res_model">advance.payment.settlement</field>
+ <field name="view_mode">tree,form</field>
+ </record>
+
+ <record id="view_tree_advance_payment_settlement" model="ir.ui.view">
+ <field name="name">advance.payment.settlement.tree</field>
+ <field name="model">advance.payment.settlement</field>
+ <field name="arch" type="xml">
+ <tree create="false" delete="false">
+ <field name="name"/>
+ <field name="pum_id"/>
+ <field name="grand_total_use" string="Total Realisasi"/>
+ <field name="remaining_value" string="Sisa PUM"/>
+ <field name="status" widget="badge" decoration-success="status == 'approved'"/>
+ </tree>
+ </field>
+ </record>
+
+ <menuitem id="menu_advance_payment_settlement_acct"
+ name="Realisasi PUM"
+ parent="account.menu_finance_entries"
+ sequence="114"
+ action="action_advance_payment_settlement"
+ />
+
+ <menuitem id="menu_advance_payment_settlement_sales"
+ name="Realisasi PUM"
+ parent="indoteknik_custom.menu_monitoring_in_sale"
+ sequence="101"
+ action="action_advance_payment_settlement"
+ />
+</odoo> \ No newline at end of file
diff --git a/indoteknik_custom/views/ir_sequence.xml b/indoteknik_custom/views/ir_sequence.xml
index 4b8fec53..dbdbc3c0 100644
--- a/indoteknik_custom/views/ir_sequence.xml
+++ b/indoteknik_custom/views/ir_sequence.xml
@@ -219,6 +219,26 @@
<field name="number_increment">1</field>
</record>
+ <record id="sequence_advance_payment_request" model="ir.sequence">
+ <field name="name">Advance Payment Request Sequence</field>
+ <field name="code">advance.payment.request</field>
+ <field name="prefix">PUM/%(year)s/%(month)s/</field>
+ <field name="padding">4</field>
+ <field name="number_next">1</field>
+ <field name="number_increment">1</field>
+ <field name="active">True</field>
+ </record>
+
+ <record id="sequence_reimburse_request" model="ir.sequence">
+ <field name="name">Reimburse Request Sequence</field>
+ <field name="code">reimburse.request</field>
+ <field name="prefix">RMK/%(year)s/%(month)s/</field>
+ <field name="padding">4</field>
+ <field name="number_next">1</field>
+ <field name="number_increment">1</field>
+ <field name="active">True</field>
+ </record>
+
<record id="seq_refund_sale_order" model="ir.sequence">
<field name="name">Refund Sales Order</field>
<field name="code">refund.sale.order</field>
diff --git a/indoteknik_custom/views/mail_template_pum.xml b/indoteknik_custom/views/mail_template_pum.xml
new file mode 100644
index 00000000..81f8ada8
--- /dev/null
+++ b/indoteknik_custom/views/mail_template_pum.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <data noupdate="0">
+
+ <record id="mail_template_pum_reminder_today" model="mail.template">
+ <field name="name">Reminder PUM: Hari Ini</field>
+ <field name="model_id" ref="indoteknik_custom.model_advance_payment_request"/>
+ <field name="subject">Reminder Realisasi PUM - ${object.number}</field>
+ <field name="email_from">${object.email_ap}</field>
+ <field name="email_to">andrifebriyadiputra@gmail.com</field>
+ <field name="body_html" type="html">
+ <div>
+ <p><b>Dengan Hormat Bpk/Ibu ${object.user_id.display_name},</b></p>
+
+ <p>
+ Berikut terlampir pengajuan PUM <b>${object.number}</b> sebesar
+ <b>${format_amount(object.nominal, object.currency_id)}</b> dari PT. INDOTEKNIK DOTCOM GEMILANG
+ pada tanggal ${format_date(object.create_date, 'd MMMM yyyy')}.<br/>
+ Tolong segera selesaikan realisasi PUM tersebut dengan menyertakan dokumen asli untuk mendukung realisasi tersebut
+ <b>maksimal 7 hari dari sekarang</b>.<br/>
+ Terima Kasih
+ </p>
+
+ <br/><br/>
+
+ <p><b>Best Regards,</b></p>
+
+ <br/>
+ <p><b>
+ 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;"></img><br/>
+ </b></p>
+ <p><i>Email ini dikirim otomatis, abaikan bila sudah melakukan realisasi.</i></p>
+ </div>
+ </field>
+ <field name="auto_delete" eval="True"/>
+ </record>
+
+ <record id="mail_template_pum_reminder_h_2" model="mail.template">
+ <field name="name">Reminder Realisasi PUM: H-2</field>
+ <field name="model_id" ref="indoteknik_custom.model_advance_payment_request"/>
+ <field name="subject">Reminder Realisasi PUM (H-2) - ${object.number}</field>
+ <field name="email_from">${object.email_ap}</field>
+ <field name="email_to">andrifebriyadiputra@gmail.com</field>
+ <field name="body_html" type="html">
+ <div>
+ <p><b>Dengan Hormat Bpk/Ibu ${object.user_id.display_name},</b></p>
+
+ <p>
+ Berikut terlampir pengajuan PUM <b>${object.number}</b> sebesar
+ <b>${format_amount(object.nominal, object.currency_id)}</b> dari PT. INDOTEKNIK DOTCOM GEMILANG
+ pada tanggal ${format_date(object.create_date, 'd MMMM yyyy')}.<br/>
+ Tolong segera selesaikan realisasi PUM tersebut dengan menyertakan dokumen asli untuk mendukung PUM tersebut
+ <b>batas waktu tersisa 2 hari lagi</b>.<br/>
+ Terima Kasih
+ </p>
+
+ <br/><br/>
+
+ <p><b>Best Regards,</b></p>
+
+ <br/>
+ <p><b>
+ 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;"></img><br/>
+ </b></p>
+ <p><i>Email ini dikirim otomatis, abaikan bila sudah melakukan realisasi.</i></p>
+ </div>
+ </field>
+ <field name="auto_delete" eval="True"/>
+ </record>
+
+ </data>
+</odoo> \ No newline at end of file