The client(Rabbit Hole Hay-US-NS) would like to create a custom pdf for the customer statement. The mapping and mock-up is already given by the client.
RHHUN-18
<?xml version="1.0"?><!DOCTYPE pdf PUBLIC "-//big.faceless.org//report" "report-1.1.dtd"><pdfset><#if statements?has_content><#list statements as statement>
<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 style="width: 100%;"><tr>
<td align="right" style="padding-bottom: 4px; padding-right: 0px; padding-top: -9px;"><span style="font-size: 40px; color: #568b4e; font-family: Helvetica Neue, Helvetica, Arial, sans-serif; ">Statement</span></td>
</tr>
<tr>
<td align="right" style="padding-bottom: -28px; padding-right: 0px;"><span style="font-size: 16pt; color: #568b4e; font-family: apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;">${statement.trandate}</span></td>
</tr>
<tr>
<td align="right"> </td>
</tr>
<tr>
<td align="right"> </td>
</tr>
<tr>
<td align="right" style="padding-left: 476px;"><span style="font-size: 16pt; color: #568b4e; font-weight: bold; font-family: apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;">AMOUNT DUE</span></td>
</tr>
<tr>
<td align="right" style="padding-right: 0px; padding-top: -5px;"><span style="font-size: 28pt; color: #568b4e; font-weight: bold; font-family: apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;">${statement.amountDue}</span></td>
</tr>
<tr>
<td align="right" style="padding-left: 476px;"><span style="font-size: 16pt; color: #568b4e; font-weight: bold; font-family: apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;">AGING</span></td>
</tr></table>
<table style="width: 100%;">
<tr>
<td style="width: 40%; vertical-align: top;">
</td>
<td style="width: 60%; vertical-align: top;">
<table class="align" style="width: 100%;">
<tr>
<td align="center" style="font-size: 12px; line-height: 14px; color: #568b4e; font-weight: bold; border-right: 2.5px solid #568b4e;">1-30 Days</td>
<td align="center" style="font-size: 12px; line-height: 14px; color: #568b4e; font-weight: bold; border-right: 2.5px solid #568b4e;">31-60 Days</td>
<td align="center" style="font-size: 12px; line-height: 14px; color: #568b4e; font-weight: bold; border-right: 2.5px solid #568b4e;">61-90 Days</td>
<td align="center" style="font-size: 12px; line-height: 14px; color: #568b4e; font-weight: bold; border-right: 2.5px solid #FFFFFF;">Over 90 Days</td>
</tr>
<tr>
<td align="center" style="font-size: 12px; font-weight: lighter; color: #568b4e; border-right: 2.5px solid #568b4e;">${statement.aging2}</td>
<td align="center" style="font-size: 12px; font-weight: lighter; color: #568b4e; border-right: 2.5px solid #568b4e;">${statement.aging3}</td>
<td align="center" style="font-size: 12px; font-weight: lighter; color: #568b4e; border-right: 2.5px solid #568b4e;">${statement.aging4}</td>
<td align="center" style="font-size: 12px; font-weight: lighter; color: #568b4e;">${statement.aging5}</td>
</tr>
</table>
</td>
</tr>
</table>
</macro>
<macro id="nlfooter">
<table style="width: 100%; font-size: 12pt;"><tr>
<td class="address" colspan="2" rowspan="6"> </td>
<td align="center" class="address" colspan="2" style="color: #FFFFFF; padding-top:43pt;"> </td>
<td class="address" colspan="2"> </td>
</tr>
<tr>
<td align="center" class="address" colspan="2" style="color: #FFFFFF;">199 E. 13th St.</td>
<td class="address" colspan="2"> </td>
</tr>
<tr>
<td align="center" class="address" colspan="2" style="color: #FFFFFF;">Chico, CA 95928</td>
<td class="address" colspan="2"> </td>
</tr>
<tr>
<td align="center" class="address" colspan="2" style="color: #FFFFFF;">(530) 763-6900</td>
<td class="address" colspan="2"> </td>
</tr>
<tr>
<td align="center" class="address" colspan="2" style="color: #FFFFFF;">accounting@rabbitholehay.com</td>
<td align="right" class="address" colspan="2" style="padding-right: -34.5px; color: #FFFFFF;"><pagenumber/> of <totalpages/></td>
</tr></table>
<!--</div>-->
</macro>
<macro id="watermark">
<p><img src="http://4501420.shop.netsuite.com/core/media/media.nl?id=5066&c=4501420&h=bDbsLyjHGiqvO7yrDgXoFxQGHddBqfNNon2FZam9Ndn1yapt" style="width: 800; height: 600;" /></p>
</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: 8pt;
vertical-align: middle;
padding: 5px 6px 3px;
}
td {
padding: 4px 6px;
}
td p { align:left }
b {
font-weight: bold;
color: #333333;
}
table.header td {
padding: 0;
font-size: 10pt;
}
table.footer td {
padding: 0;
font-size: 8pt;
}
table.itemtable th {
padding-bottom: 10px;
padding-top: 10px;
}
table.body td {
padding-top: 2px;
}
td.addressheader {
font-weight: bold;
font-size: 8pt;
padding-top: 6px;
padding-bottom: 2px;
}
td.address {
padding-top: 0;
}
span.title {
font-size: 28pt;
}
span.number {
font-size: 16pt;
}
div.remittanceSlip {
width: 100%;
/* To ensure minimal height of remittance slip */
height: 200pt;
page-break-inside: avoid;
page-break-after: avoid;
}
hr {
border-top: 1px dashed #d3d3d3;
width: 100%;
color: #ffffff;
background-color: #ffffff;
height: 1px;
}
table.alignitem td p{
align:left
}
</style>
</head>
<body header="nlheader" header-height="33%" footer="nlfooter" footer-height="14%" background-macro="watermark" padding="0.5in 0.5in 0.5in 0.5in" size="Letter-LANDSCAPE">
<table style="width: 100%;">
<tr>
<td align="left" colspan="3" style="font-size: 14px; padding: 6px 0px 2px -9px; font-weight: bold; color: #568b4e; margin-left: 12px;padding-top:-48pt; ">BILL TO</td>
</tr>
<tr>
<td align="left" colspan="3" style="padding:6px 0px 2px -9px; line-height: 12pt; color: #568b4e; font-size: 13px;margin-left: 12px;padding-top:-35pt;">
<#if statement.billaddress?has_content>
<#if customer.billattention?has_content><#assign attention = customer.billattention>${attention}<br /></#if>
<#if customer.billaddressee?has_content><#assign addressee = customer.billaddressee><#if attention != addressee>${customer.billaddressee}<br /></#if></#if>
<#if customer.billaddr1?has_content>${customer.billaddr1}<br /></#if>
<#if customer.billaddr2?has_content>${customer.billaddr2}<br /></#if>
<#if customer.billcity?has_content>${customer.billcity}</#if>
<#if customer.billstate?has_content>${customer.billstate}</#if>
<#if customer.billzip?has_content>${customer.billzip}<br /></#if>
</#if>
</td>
</tr>
</table>
<#if statement.lines?has_content>
<table class="alignitem" style="width: 100%; margin-left: -16px; padding-left: 15px; background-color: #f5f4e4;padding-top:13px;padding-bottom:10px;padding-right:15px;"><!-- start items --><#list statement.lines as line><#if line_index==0>
<thead>
<tr>
<th align="left" colspan="3" style="padding: 12px 0px; text-transform: uppercase; font-size: 15px; color: #464d30;padding-right:-28px; ">${line.datecol@label}</th>
<th align="left" colspan="12" style="padding: 12px 0px; text-transform: uppercase; font-size: 15px; color: #464d30;">${line.description@label}</th>
<th align="right" colspan="3" style="padding: 12px 0px; text-transform: uppercase; font-size: 15px; color: #464d30;">${line.charge@label}</th>
<th align="right" colspan="4" style="padding-top: 12px; padding-bottom: 10px; padding-left:0px; font-size: 15px; padding-right:12px; text-transform: uppercase; color: #464d30;">${line.payment@label}</th>
<th align="right" colspan="4" style="padding-top: 12px; padding-bottom: 10px; padding-left:0px; font-size: 15px; padding-right:12px; text-transform: uppercase; color: #464d30;">${line.balance@label}</th>
</tr>
</thead>
</#if><tr>
<td align="left" colspan="3" style="padding: 12px 0px;">${line.datecol}</td>
<td align="left" colspan="12" style="padding: 12px 0px;">${line.description}</td>
<td align="right" colspan="3" style="padding: 12px 0px;">${line.charge}</td>
<td align="right" colspan="4" style="padding: 12px 0px;">${line.payment}</td>
<td align="right" colspan="4" style="padding: 12px 0px;">${line.balance}</td>
</tr>
</#list><!-- end items --></table>
</#if></body></#list>
</pdf></#if></pdfset>