Jira Code: HAR-21
Description: Customise the PDF templates of “customer statement” so that its layout will be as of the “Purchase order” template.
<?xml version="1.0"?><!DOCTYPE pdf PUBLIC "-//big.faceless.org//report" "report-1.1.dtd">
<pdfset>
<pdf>
<head>
<link name="NotoSans" type="font" subtype="truetype" src="${nsfont.NotoSans_Regular}" src-bold="${nsfont.NotoSans_Bold}" src-italic="${nsfont.NotoSans_Italic}" src-bolditalic="${nsfont.NotoSans_BoldItalic}" bytes="2" />
<#if .locale == "zh_CN">
<link name="NotoSansCJKsc" type="font" subtype="opentype" src="${nsfont.NotoSansCJKsc_Regular}" src-bold="${nsfont.NotoSansCJKsc_Bold}" bytes="2" />
<#elseif .locale == "zh_TW">
<link name="NotoSansCJKtc" type="font" subtype="opentype" src="${nsfont.NotoSansCJKtc_Regular}" src-bold="${nsfont.NotoSansCJKtc_Bold}" bytes="2" />
<#elseif .locale == "ja_JP">
<link name="NotoSansCJKjp" type="font" subtype="opentype" src="${nsfont.NotoSansCJKjp_Regular}" src-bold="${nsfont.NotoSansCJKjp_Bold}" bytes="2" />
<#elseif .locale == "ko_KR">
<link name="NotoSansCJKkr" type="font" subtype="opentype" src="${nsfont.NotoSansCJKkr_Regular}" src-bold="${nsfont.NotoSansCJKkr_Bold}" bytes="2" />
<#elseif .locale == "th_TH">
<link name="NotoSansThai" type="font" subtype="opentype" src="${nsfont.NotoSansThai_Regular}" src-bold="${nsfont.NotoSansThai_Bold}" bytes="2" />
</#if>
<macrolist>
<macro id="nlheader">
<table class="header" width="100%">
<tr>
<td width="50%"><img src="${companyInformation.logoUrl}" style="float: left; margin: 7px;width:197px;height:85px" /></td>
<td align="right" width="50%"><strong>${companyInformation.companyName}</strong><br/>ABN: ${companyInformation.employerid}<br/>${companyInformation.shippingaddress_text}<br/>Phone: 1300 220 195</td>
</tr>
</table>
<p align="center" style="font-size:18pt"><strong>CUSTOMER STATEMENT</strong></p>
<hr width="100%" style="border-top: 1px solid black;"></hr>
</macro>
<macro id="nlfooter">
<hr width="100%" style="border-top: 1px solid black;"></hr>
<table width="100%" style="background-color: #1A478B;color:#ffffff" ><tr><td>
</td><td align="right"><table style="background-color: #1A478B;color:#ffffff" class="total"><tr>
<td colspan="4"> </td>
<td align="left" ><span style="color:#ffffff"><strong>Amount Due</strong></span></td>
<td align="right">:</td>
<td align="right">${record.amountDue}</td>
</tr>
</table> </td></tr></table>
<hr width="100%" style="border-top: 1px solid black;"></hr>
<br/>
<table class="footer" style="width: 100%;"><tr>
<td align="right"><pagenumber/> of <totalpages/></td>
</tr></table>
</macro>
</macrolist>
<style type="text/css">* {
<#if .locale == "zh_CN">
font-family: NotoSans, NotoSansCJKsc, sans-serif;
<#elseif .locale == "zh_TW">
font-family: NotoSans, NotoSansCJKtc, sans-serif;
<#elseif .locale == "ja_JP">
font-family: NotoSans, NotoSansCJKjp, sans-serif;
<#elseif .locale == "ko_KR">
font-family: NotoSans, NotoSansCJKkr, sans-serif;
<#elseif .locale == "th_TH">
font-family: NotoSans, NotoSansThai, sans-serif;
<#else>
font-family: NotoSans, sans-serif;
</#if>
}
table {
font-size: 9pt;
table-layout: fixed;
}
th {
font-weight: bold;
font-size: 10pt;
vertical-align: middle;
padding: 5px 0px 3px;
background-color: #ffffff;
color: black;
}
td {
padding: 4px 6px;
}
td p { align:left }
b {
font-weight: bold;
color: #333333;
}
table.header td {
padding: 0px;
font-size: 10pt;
}
table.footer td {
padding: 0px;
font-size: 8pt;
}
table.itemtable th {
padding-bottom: 10px;
padding-top: 10px;
}
table.body td {
padding-top: 2px;
}
table.total {
page-break-inside: avoid;
}
tr.totalrow {
background-color: #e3e3e3;
line-height: 200%;
}
td.totalboxtop {
font-size: 12pt;
background-color: #e3e3e3;
}
td.addressheader {
font-size: 8pt;
padding-top: 6px;
padding-bottom: 2px;
}
td.address {
padding-top: 0px;
}
td.totalboxmid {
font-size: 28pt;
padding-top: 20px;
background-color: #e3e3e3;
}
td.totalboxbot {
background-color: #e3e3e3;
font-weight: bold;
}
span.title {
font-size: 28pt;
}
span.number {
font-size: 16pt;
}
span.itemname {
font-weight: bold;
line-height: 150%;
}
hr {
width: 100%;
color: black;
background-color: black;
height: 1px;
}
</style>
</head>
<body header="nlheader" header-height="19%" footer="nlfooter" footer-height="95pt" padding="0.5in 0.5in 0.5in 0.5in" size="Letter">
<table width="100%" style="margin-left:10px;">
<tr>
<td><table>
<tr><td> <strong>Bill to:</strong></td></tr>
<tr><td>${record.billaddress}<!--<#if record.custbody_regionaddress?contains("The Regional Manager")>${record.custbody_regionaddress?substring(0,20)}</#if>--></td></tr>
<tr><td><!--<#if record.custbody_regionaddress?contains("The Regional Manager")>${record.custbody_regionaddress?substring(20)}</#if>--></td></tr>
</table></td>
</tr>
<tr><td> </td></tr>
<tr><td>
<table>
</table>
</td></tr>
</table>
<hr width="100%" style="border-top: 1px solid black;"></hr>
<#assign n=1/><#assign head = 0>
<table style="width: 100%; ">
<thead>
<tr style="border-bottom:1px solid black">
<th colspan="4"><#assign head = 1 >Sl No</th>
<th align="center" colspan="7">Date</th>
<th align="center" colspan="7">Description</th>
<th align="center" colspan="7">Charge</th>
<th align="center" colspan="7">Payment</th>
<th align="center" colspan="7">Balance</th>
</tr>
</thead>
<#list record.lines as line><tr>
<td colspan="4"><p>${n}<#assign n = n+1></p>
</td>
<td align="center" colspan="7" line-height="150%">${line.datecol}</td>
<td align="center" colspan="7">${line.description}</td>
<td align="center" colspan="7">${line.charge}</td>
<td align="center" colspan="7">${line.payment}</td>
<td align="center" colspan="7">${line.balance}</td>
</tr></#list>
</table>
<table style="width: 100%; margin-top: 10px;"><tr style="border-bottom:1px solid black">
<th colspan="4">${record.aging1@label}</th>
<th align="center" colspan="7">${record.aging2@label}</th>
<th align="center" colspan="7">${record.aging3@label}</th>
<th align="center" colspan="7">${record.aging4@label}</th>
<th align="center" colspan="7">${record.aging5@label}</th>
<th align="center" colspan="7">${record.agingbal@label}</th>
</tr>
<tr>
<td colspan="4">${record.aging1}</td>
<td align="center" colspan="7">${record.aging2}</td>
<td align="center" colspan="7">${record.aging3}</td>
<td align="center" colspan="7">${record.aging4}</td>
<td align="center" colspan="7">${record.aging5}</td>
<td align="center" colspan="7">${record.agingbal}</td>
</tr></table>
<#if preferences.RETURNFORM && remittanceSlip??>
<hr />
<div class="remittanceSlip">
<table style="width: 100%; margin-top: 10px;"><tr>
<td><span class="nameandaddress">${companyInformation.companyName}</span></td>
<td align="right"><span class="number">${remittanceSlip@title}</span></td>
</tr></table>
<table style="width: 100%; margin-top: 10px;"><tr>
<th>${remittanceSlip.customername@label}</th>
<th>${record.trandate@label}</th>
<th>${record.amountDue@label}</th>
<th>${remittanceSlip.amountPaid@label}</th>
</tr>
<tr>
<td>${companyInformation.addressText}</td>
<td>${record.trandate}</td>
<td align="right">${record.amountDue}</td>
<td> </td>
</tr></table>
<table style="width: 100%; margin-top: 10px;"><tr>
<th>${remittanceSlip.ccinfo@label}</th>
<th>${remittanceSlip.companyaddress@label}</th>
</tr>
<tr>
<td>${remittanceSlip.ccinfo}</td>
<td>${companyInformation.addressText}</td>
</tr></table>
</div>
</#if>
</body>
</pdf>
</pdfset>