Hi,
If you are familiar with code you can try the following codes to make a custom module for this purpose.
You can create another email template for generating emails when you send an invoice to a customer.
<odoo>
<data noupdate="1">
<record id="email_template_id"
model="mail.template">
<field name="name">Custom Invoice Email</field>
<field name="model_id"
ref="account.model_account_move"/>
<field name="email_from">{{ (object.user_id.email_formatted or
user.email_formatted or '') }}</field>
<field name="partner_to">{{ object.partner_id.id }}</field>
<field name="email_to">{{ object.partner_id.email }}</field>
<field name="subject">(Invoice of Passengers,
Ref{{ object.name }})</field>
<field name="reply_to">{{ (object.user_id.email_formatted or
user.email_formatted or '') }}</field>
<field name="description">description</field>
<field name="body_html" type="html">
<div style="margin: 0px; padding: 0px;">
<p style="margin: 0px; padding: 0px; font-size: 13px;">
Dear <span t-out="object.partner_id.name or ''"/,
<br/>
Here is your invoice
<span style="font-weight: bold;"
t-out="object.name or ''"/>
amounting in <span style="font-weight: bold;"
t-out="object.amount_total or
''"/> from COMPANY LTD. This invoice is already paid.
<br/>
Do not hesitate to contact us if you have any questions.
<t t-if="not is_html_empty(object.user_id.signature)">
<br/><br/>
<t t-out="object.user_id.signature or ''">--<br/></t>
</t>
<br/><br/>
</p>
</div>
</field>
<field name="report_template" ref="account_invoices"/>
<field name="report_name">{{ (object.name or '').replace('/','_') }}</field>
<field name="lang">{{ object.partner_id.lang }}</field>
<field name="auto_delete" eval="True"/>
</record>
</data>
</odoo>
After creating an email template you can show the template via action_invoice_sent() function by overriding
def action_invoice_sent(self):
"" Open a window to compose an email, with the invoice template
message loaded by default
"""
self.ensure_one()
mail_template = self.env.ref(
' module_name.email_template_id',
raise_if_not_found=False)
ctx = dict(
default_model='account.move',
default_res_id=self.id,
default_res_model='account.move',
default_use_template=bool(mail_template),
default_template_id=mail_template.id if mail_template else None,
default_composition_mode='comment',
mark_invoice_as_sent=True,
default_email_layout_xmlid=
"mail.mail_notification_layout_with_responsible_signature",
force_email=True,
)
report_action = {
'name': _('Send Invoice'),
'type': 'ir.actions.act_window',
'view_type': 'form',
'view_mode': 'form',
'res_model': 'mail.compose.message',
'views': [(False, 'form')],
'view_id': False,
'target': 'new',
'context': ctx,
}
if self.env.is_admin() \
and not self.env.company.external_report_layout_id \
and not self.env.context.get(
'discard_logo_check'):
return self.env['ir.actions.report']._action_configure_external_report_layout(
report_action)
return report_action
Regards