Hello bjr Please try below code I'm 100% sure this code is working for you.
You can create your custom Header and Footer as par your requirement but don't forget to use this way.
First custom header template :-
<template id="custom_my_layout_footer">
<div class="footer">
<div class="text-center">
<ul class="list-inline">
<li class="col-xs-2" style="background-color:rgba(31, 32, 65, 1);color:#fff;">Printed By:-</li>
<li class="col-xs-7" style="text-align:center;background-color:rgba(31, 32, 65, 1);color:#fff;">
Page: <span class="page"/> / <span class="topage"/>
</li>
<li class="col-xs-3" style="background-color:rgba(31, 32, 65, 1);color:#fff;">
<span t-esc="context_timestamp(datetime.datetime.now()).strftime('%Y-%m-%d %H:%M:%S')"/>
</li>
</ul>
</div>
</div>
</template>
Custom footer template:-
<template id="partner_external_footer">
<div class="footer">
<div class="footer">
<strong>
This is computer generated invoice no signature required.
</strong>
</div>
</div>
</template>
Second create main external template and call above temple into this template :-
<template id="jt_report_external_layout">
<t t-if="o and 'company_id' in o">
<t t-set="company" t-value="o.company_id"/>
</t>
<t t-if="not o or not 'company_id' in o">
<t t-set="company" t-value="res_company"/>
</t>
<div class="article">
<t t-call="jt_my_invoice_report.custom_layout_header_my"/>
<t t-raw="0"/>
<t t-call="jt_my_invoice_report.custom_my_layout_footer"/>
</div>
</template>
Last point :- Use this jt_report_external_layout template into your main report template after the <t t-call="web.html_container"> of any report template.
<template id="jt_my_account_report_invoice_document1">
<t t-call="web.html_container">
<t t-call="jt_my_invoice_report.jt_report_external_layout">