This page hosts a collection of sample Smart Document Templates that may be helpful for learning about Smart Document Templates, or to serve as starting points for adding do your own Infoplus site, then customizing for your exact needs.


Note that for each of these examples, the Source Code of the Smart Document Template is provided.  To add this code to a Smart Document Template on your Infoplus account, you'll need to click the Source Code button in the Code editor on the Smart Document table's Create/Edit screen, as shown here:


3PL Billing - Invoice Worksheet

Sample file:

Source Code:

<!--
#set($dollarSign = "$")

#if($record.startDate)
   #set($startDateMonth = $record.startDate.getMonth() + 1)
   #set($startDateYear = $record.startDate.getYear() + 1900)
   #set($startDate = "${startDateMonth}/${record.startDate.getDate()}/${startDateYear}")
#end

#if($record.endDate)
   #set($endDateMonth = $record.endDate.getMonth() + 1)
   #set($endDateYear = $record.endDate.getYear() + 1900)
   #set($endDate = "${endDateMonth}/${record.endDate.getDate()}/${endDateYear}")
#end

#if($record.issueDate)
   #set($issueDateMonth = $record.issueDate.getMonth() + 1)
   #set($issueDateYear = $record.issueDate.getYear() + 1900)
   #set($issueDate = "${issueDateMonth}/${record.issueDate.getDate()}/${issueDateYear}")
#end
-->
<div style="line-height: 1.5em; font-family: sans-serif, helvetica, arial; padding: 20px;">
<table>
<tbody>
<tr>
<td><img src="https://s3.amazonaws.com/client-branding.infopluswms.com/carlscandy/0F2794BF-723E-4E83-A010-436CB49B3140/homepagelogo_carlscandy__1__jpg__400%C3%97240_.png" alt="Carls Candy Logo" width="180" height="108" /></td>
<td style="padding: 0px; padding-left: 10px;">
<h1 style="margin-top: 0px; margin-bottom: 8px;">Invoice</h1>
<strong>$!{record.name}</strong></td>
</tr>
</tbody>
</table>
<div style="padding-bottom: 30px; font-family: sans-serif, helvetica, arial;"><strong><br />Invoice No: </strong>$!{record.invoiceNo} $!{record.description}<br /> <strong>Period: </strong> <!--#if($record.startDate && $record.endDate) --> $!{startDate} - $!{endDate} #else -- #end<br /> <strong>Issued: </strong>#if($record.issueDate)) $issueDate #else -- #end<br /><strong>Terms: </strong>$!{utils.nvl($record.terms, "--")}</div>
<table style="line-height: 1.2em; border-collapse: collapse; margin-bottom: 30px;" width="100%" cellspacing="0" cellpadding="8">
<tbody>
<tr>
<td style="border: 1px solid gray;" width="50%"><strong>Bill To:</strong>
<div style="padding: 20px 20px 10px 20px;">#if("$!{record.billToCompany}" != "") ${record.billToCompany}<br /> #end #if("$!{record.billToAttention}" != "") ATTN: ${record.billToAttention}<br /> #end #if("$!{record.billToStreet}" != "") ${record.billToStreet}<br /> #end #if("$!{record.billToStreet2}" != "") ${record.billToStreet2}<br /> #end #if("$!{record.billToStreet3}" != "") ${record.billToStreet3}<br /> #end #if("$!{record.billToCity}" != "") ${record.billToCity}, #end #if("$!{record.billToState}" != "") ${record.billToState} #end #if("$!{record.billToZip}" != "") ${record.billToZip} #end <br /> #if("$!{record.billToCountry}" != "") ${record.billToCountry}<br /> #end #if("$!{record.billToPhone}" != "") ${record.billToPhone}<br /> #end #if("$!{record.billToEmail}" != "") ${record.billToEmail}<br /> #end</div>
</td>
<td style="border: 1px solid gray;" width="50%"><strong>Remit To:</strong>
<div style="padding: 20px 20px 10px 20px;">#if("$!{record.remitToCompany}" != "") ${record.remitToCompany}<br /> #end #if("$!{record.remitToAttention}" != "") ATTN: ${record.remitToAttention}<br /> #end #if("$!{record.remitToStreet}" != "") ${record.remitToStreet}<br /> #end #if("$!{record.remitToStreet2}" != "") ${record.remitToStreet2}<br /> #end #if("$!{record.remitToStreet3}" != "") ${record.remitToStreet3}<br /> #end #if("$!{record.remitToCity}" != "") ${record.remitToCity}, #end #if("$!{record.remitToState}" != "") ${record.remitToState} #end #if("$!{record.remitToZip}" != "") ${record.remitToZip} #end <br /> #if("$!{record.remitToCountry}" != "") ${record.remitToCountry}<br /> #end #if("$!{record.remitToPhone}" != "") ${record.remitToPhone}<br /> #end #if("$!{record.remitToEmail}" != "") ${record.remitToEmail}<br /> #end</div>
</td>
</tr>
</tbody>
</table>
<table style="line-height: 1.5em; border-collapse: collapse;" width="100%" cellspacing="0" cellpadding="5">
<thead>
<tr style="font-weight: bold; border-bottom: 1px solid gray;">
<td style="border-bottom: 1px solid gray;" width="40%">Description</td>
<td style="border-bottom: 1px solid gray;" width="20%">Account Code</td>
<td style="border-bottom: 1px solid gray;" align="right" width="10%">Quantity</td>
<td style="border-bottom: 1px solid gray;" align="right" width="15%">Unit Cost</td>
<td style="border-bottom: 1px solid gray;" align="right" width="15%">Line Total</td>
</tr>
</thead>
<tbody><!-- #foreach($line in $record.invoiceWorksheetLineItemList) -->
<tr style="border-bottom: 1px solid gray;">
<td style="border-bottom: 1px solid gray; font-family: sans-serif, helvetica, arial;" width="40%">$!{utils.nvl($line.description, "--")}</td>
<td style="border-bottom: 1px solid gray;" width="20%">$!{utils.nvl($line.accountCode, "--")}</td>
<td style="border-bottom: 1px solid gray;" align="right" width="10%">$!{utils.nvl($utils.formatCommas($line.quantity.intValue()), "--")}</td>
<td style="border-bottom: 1px solid gray;" align="right" width="15%">${dollarSign}$!{utils.nvl($utils.formatMoneyCommas($line.chargeRate), "--")}</td>
<td style="border-bottom: 1px solid gray;" align="right" width="15%">${dollarSign}$!{utils.nvl($utils.formatMoneyCommas($line.extendedCharge), "--")}</td>
</tr>
<!-- #end --></tbody>
<tfoot>
<tr>
<td colspan="5" align="right"><strong>${dollarSign}$!{utils.formatMoneyCommas($record.total)}</strong></td>
</tr>
</tfoot>
</table>
<p><strong>Notes: </strong><br /> $!{utils.nvl($record.notes, "--")}</p>
</div>