How can we help?

Search Results

Statements

Generate and automate billing statements for up to 25 years in the past.


Billing statements are automatically generated at the end of each billing cycle. LoanPro will be able to access transaction statements from the most recent billing period up to 25 years in the past. This article will explain how to access statements for loan and line of credit accounts. We'll also walk through detailed field mappings, dynamic variable syntax, related database tables, and workflow steps for template updates.

Statement mapping

LoanPro’s context engine allows embedding dynamic fields within HTML templates. These variables (e.g., [[v('path')]] or [[formatNumber('path','2','.',' ,')]]) pull live customer, account, and transaction data directly from the LoanPro database. Refer to the complete list of database tables as well as formatting variables with functions articles for more information. 

Dynamic field mapping

Customer information

Name  Variable Notes
Customer Full Name [[v('customer.primary.full-name')]] Customer full legal name
Customer Primary address 1 [[v('customer.primary.mailing-address1')]]  Customer Primary address 1
Customer Primary address 2 [[v('customer.primary.mailing-address2')]] Customer Primary address 2
Customer Primary City [[v('customer.primary.mailing-city')]] Customer Primary City
Customer Primary State [[v('customer.primary.mailing-state')]]  Customer Primary State
Customer Primary Zip Code [[v('customer.primary.mailing-zipcode')]] Customer Primary Zip Code
 
 

Account information

Name  Variable Notes
Account ending in [[evalFormula('(let [lastfour (take-last 4 line-of-credit-display-id)] (str (nth lastfour 0) (nth lastfour 1) (nth lastfour 2) (nth lastfour 3)))')]] Last 4 of account number
 
 

Statement details

Name  Variable Notes
Statement Period Start [[companyFormatDateTime('billing-period-values-array.current.start-date')]] Cycle start date
Statement Period End [[companyFormatDateTime('billing-period-values-array.current.end-date')]] Cycle end date
 
 

Account summary

Name  Variable Notes
Previous Balance [[formatNumber('billing-period-values-array.current.starting-balance','2','.',' ,')]] Start balance
Payments and Credits [[formatNumber('billing-period-values-array.current.payment-credit-total','2','.',' ,')]] Sum of payments
Total Credit Limit [[formatNumber('status-total-credit-limit', '2', '.', ',')]] Credit Limit
Purchases [[formatNumber('billing-period-values-array.current.buckets-array.id____.total-swipes', '2', '.', ',')]] Total swipes in the Purchases Bucket
Cash Advances [[formatNumber(‘billing-period-values-array.current.buckets-array.id__.total-swipes’,2,’.’,’,’)]] Total swipes in the Cash Advances Bucket
Bucket #____ [[formatNumber(‘billing-period-values-array.current.buckets-array.id__.total-swipes’,2,’.’,’,’)]]  Total swipes in the ___ Bucket
Bucket #____ [[formatNumber(‘billing-period-values-array.current.buckets-array.id__.total-swipes’,2,’.’,’,’)]] Total swipes in the ___ Bucket
Fees Charged [[formatNumber('billing-period-values-array.current.fees-total','2','.',' ,')]] Total fees charged
Interest Charged [[formatNumber('billing-period-values-array.current.interest-total','2','.',' ,')]] Interest accrued
New Balance [[formatNumber('billing-period-values-array.current.new-balance','2','.',' ,')]] Ending balance for cycle
 
 

Payment information 

Name  Variable Notes
Minimum Payment $[[formatNumber('billing-period-values-array.current.minimum-payment', '2', '.', ',')]] Required minimum payment
Due Date [[companyFormatDateTime('billing-period-values-array.current.due-date')]] Due Date
Total Balance $[[formatNumber('billing-period-values-array.current.new-balance', '2', '.', ',')]] Total Balance
 
 

Available credit

Name  Variable Notes
Total Available Credit [[formatNumber('billing-period-values-array.current.new-available-credit','2','.',' ,')]] Available credit at period end
Purchases $[[formatNumber('buckets-array.id__.available-credit', '2', '.', ',')] Available credit in Purchases bucket at period end
Cash Advance [[formatNumber('billing-period-values-array.current.new-available-credit','___','.',' ,')]] Available credit in Cash Advance bucket at period end
Bucket #____ $[[formatNumber('buckets-array.id__.available-credit', '2', '.', ',')] Available credit in __ bucket at period end
 
 

 

Compliance / legal fields

  Minimum payment warning

If you make no additional changes using this card and each month you pay... You will pay off the balance shown on the statement in about... And you will end up paying an estimated total of...
Only the minimum payment [[v('billing-period-values-array.current.minimum-payment-payoff-months')]] months $[[formatNumber('billing-period-values-array.current.minimum-payment-payoff-total', '2', '.', ',')]]
$[[formatNumber('billing-period-values-array.current.36-month-minimum-payment-amount', '2', '.', ',')]] 36 months $[[formatNumber('[[mathAdd('billing-period-values-array.current.36-month-total-interest-paid', 'billing-period-values-array.current.36-month-total-principal-paid')]]', '2', '.', ',')]]
 
 

Payment coupon

Name Variable Notes
Account Number [[evalFormula('(->> loan-display-id (take-last 4) (apply str))')]] Last 4 of account number
New Balance [[formatNumber('billing-period-values-array.current.new-balance', '2', '.', ',')]] Ending balance for cycle
Minimum Payment Due [[formatNumber('billing-period-values-array.current.minimum-payment', '2', '.', ',')]]     Required minimum payment
Payment Due Date [[companyFormatDateTime('billing-period-values-array.current.due-date')]] Due Date
 
 

Credit line

Name Variable Notes
Total Credit Line [[formatNumber('status-total-credit-limit', '2', '.', ',')]] Credit Limit
Total Available Credit [[formatNumber('billing-period-values-array.current.new-available-credit','2','.',' ,')]] Available credit at period end
 
 

Account activity

Name Variable Notes
Fees Charged [[formatNumber('billing-period-values-array.current.fees-total', '2', '.', ',')]] Total fees charged in the 
Interest Charged [[formatNumber('billing-period-values-array.current.interest-total', '2', '.', ',')]] Total interest charged
Total Fees Year-To-Date [[IF $computation-fields-array.id17.calculated-value]]$[[formatNumber('computation-fields-array.id17.calculated-value', '2', '.', ',')]][[ELSE]]$[[formatNumber('billing-period-values-array.current.fees-total')]][[END]] Computed value to calculated the total fees charged year to date. Otherwise, pulls the total fees in the current billing period.
Total Interest Year-To-Date [[IF $computation-fields-array.id18.calculated-value]]$[[formatNumber('computation-fields-array.id18.calculated-value', '2', '.', ',')]][[ELSE]]$[[formatNumber('billing-period-values-array.current.interest-total')]][[END]] Computed value to calculated the total interest charged year to date. Otherwise, pulls the total interest in the current billing period.
 
 

Account activity

Name Variable Notes
Fees Charged [[formatNumber('billing-period-values-array.current.fees-total', '2', '.', ',')]] Total fees charged in the 
Interest Charged [[formatNumber('billing-period-values-array.current.interest-total', '2', '.', ',')]] Total interest charged
Total Fees Year-To-Date [[IF $computation-fields-array.id17.calculated-value]]$[[formatNumber('computation-fields-array.id17.calculated-value', '2', '.', ',')]][[ELSE]]$[[formatNumber('billing-period-values-array.current.fees-total')]][[END]] Computed value to calculated the total fees charged year to date. Otherwise, pulls the total fees in the current billing period.
Total Interest Year-To-Date [[IF $computation-fields-array.id18.calculated-value]]$[[formatNumber('computation-fields-array.id18.calculated-value', '2', '.', ',')]][[ELSE]]$[[formatNumber('billing-period-values-array.current.interest-total')]][[END]] Computed value to calculated the total interest charged year to date. Otherwise, pulls the total interest in the current billing period.
 
 

Interest charge calculation

Name  Variable Notes
Balance Type - Purchases Bucket [[v('buckets-array.id__.bucket-title')]] Purchases Bucket Title
Balance Type - Cash Advance Bucket [[v('buckets-array.id__.bucket-title')]] Cash Advance Bucket Title
Balance Type - ___ Bucket [[v('buckets-array.id__.bucket-title')]] ___Bucket Title
APR - Purchases Bucket [[v('buckets-array.id__.interest-rate')]]% APR for Purchases Bucket
APR - Cash Advance Bucket [[v('buckets-array.id__.interest-rate')]]% APR for Cash Advance Bucket
APR - ____  Bucket [[v('buckets-array.id__.interest-rate')]]% APR for ___ Bucket
Interest Bearing Amount - Purchases Bucket [[formatNumber('billing-period-values-array.current.buckets-array.id__.interest-bearing-amount', '2', '.', ',')]] Interest Bearing Amount for Purchases Bucket
Interest Bearing Amount - Cash Advance  Bucket [[formatNumber('billing-period-values-array.current.buckets-array.id__.interest-bearing-amount', '2', '.', ',')]] Interest Bearing Amount for Cash Advance  Bucket
Interest Bearing Amount - ___Bucket [[formatNumber('billing-period-values-array.current.buckets-array.id__.interest-bearing-amount', '2', '.', ',')]] Interest Bearing Amount for __ Bucket
Interest Charge - Purchases Bucket [[formatNumber('billing-period-values-array.current.buckets-array.id__.interest-charges', '2', '.', ',')]] Interest charged for Purchases Bucket
Interest Charge - Cash Advance Bucket [[formatNumber('billing-period-values-array.current.buckets-array.id__.interest-charges', '2', '.', ',')]] Interest charged for Cash Advance Bucket
Interest Charge - ___ Bucket [[formatNumber('billing-period-values-array.current.buckets-array.id__.interest-charges', '2', '.', ',')]] Interest charged for __ Bucket
 
 

Account activity

Name Variable Notes
Date [[formatDateTime($date, 'm/d/Y')]] Pulls the date for all transactions and formats in mm/dd/yyyy
Type [[IF $type == "swipe"]][[$bucket-label]][[ELSE]][[END]] [[ucwords('[[strtolower($type)]]')]] If the transaction type is ‘Swipe’ it displays the associated bucket, otherwise, it will display the transaction type
Description [[IF $merchant]][[$merchant]][[ELSEIF $memo]][[$memo]][[ELSEIF $type== "credit"]][[$info]][[ELSEIF $type == "payment"]]{{IF $status == "reversed"}}Reversed Payment{{ELSEIF $status == "active" || $status == "settled"}}Successful Payment{{ELSE}}{{END}}[[ELSE]][[END]] Displays the transaction description
Status

{{IF $status == "active" || $status == "lineOfCredit.transactionStatus.active" || $status == "settled" || $status == "lineOfCredit.transactionStatus.settled"}}Settled{{ELSEIF $status == "pending" || $status == "lineOfCredit.transactionStatus.pending"}}Pending{{ELSE}} {{END}}

 

Displays transaction status
Amount [IF $type == "payment"]]- $[[formatNumber($amount, '2', '.', ',')]][[ELSEIF $type == "credit"]]- $[[formatNumber($amount, '2', '.', ',')]][[ELSE]]$[[formatNumber($amount, '2', '.', ',')]][[END]] Displays the transaction amount
 
 

Rewards

Name Variable Notes
Rewards Balance [[v(‘rewards-current-points-balance’)]] Current rewards balance in points
 
 

Workflow for creating or updating templates

  1. List all required dynamic placeholders for the statement (customer, balances, transactions).
  2. Map each placeholder to the correct variable path and verify the database source.
  3. Insert the placeholders into the HTML structure, preserving syntax.
  4. Implement repeat loops for transaction tables or sections.
  5. Test the template in Sandbox by generating it within a test account under ‘Statements’.
  6. Statement template must be assigned to the account under ‘Account Settings’ > ‘Settings’ >
  7. Edit ‘Which template will accounts use for statements by default?’.
  8. Validate all values (balances, names, due dates) render correctly.
  9. Maintain version control and a changelog of updates.

 

Accessing loan statements

To download statements as a PDF, use the billing tool. This is also helpful if you would like to print and mail bills to your customers using the billing templates that LoanPro provides. It can be found by navigating to Tools > Customer Communication > Billing inside your company account. If you want your billing statements to be entirely custom, you can create a Dynamic Template as a billing statement instead.

To send loans to billing, navigate to Account Manager and select the loans you would like to send. Click the 'Send to Billing' link. This will send you to the ‘Billing’ section in the Communication Suite. Here, you can choose your billing options and generate statements. 

At the top of the page are multiple billing template options. The image to the right of these options previews how the statement will look. You can set defaults for many of these values by clicking 'Defaults' in the top-right corner of the page. The template options you can adjust include the following: 

Option Description
Template Choose the template that will determine how your printed statements will look. The 2.0 Billing Statement works slightly differently than the rest and will give you some additional options.
Theme Set a color theme for the billing statement.

Header color
This is a custom color for the bill’s header. Clicking on this field displays a color picker; but you can also enter a hex color code directly if preferred.
PDF Format Here, you can choose whether bills should generate as one large PDF file or as individual PDF files per loan.  Typically, it’s easier to print one large file than to open and print individual ones.
Statement date This date appears at the top of the bill as the statement date.
Co-borrower statement Here, you can choose whether to generate a separate statement for the co-borrower.
Show billing transactions from This option is only available if you chose 2.0 Billing Statement from the ‘Template’ drop-down.  The 2.0 Billing statement will display loan transactions either for the current payment period or over a specified date range, and this drop-down lets you choose which to use.
Custom text This text box allows you to enter custom text that will appear on the billing statement.

At the bottom of the page, you can remove any previously selected loans from the billing queue by clicking the red trash icon to the right of individual loans.

To generate the billing statements for the loans you have selected, click 'Generate' in the top-right corner of the page. This will generate PDFs for the statements you have created. To view the PDFs, click the 'Billing' header which will now display a notification counter of the form generation requests in the last 24 hours.

Accessing line of credit statements

In LMS, navigate to Lines of Credit >  Inside a Line of Credit account > Statements.

The statement is categorized by each the billing cycles of the account and provides details about the period through a number of different fields:

Fields Description
Period The billing period for the transaction.
Minimum Payment The minimum payment required for the transaction. 
Starting Balance The starting balance of the billing period. This will typically be the ending balance of the previous period. 
Payment Total The total amount of payments and credits made during the billing period. 
Swipe Total The swipe total during the billing period. 
Finance Charges The amount of interest charged. 
Ending Balance The ending balance of the billing period.

The download button at the far right of each entry lets you download the statements as a PDF. Clicking the arrow will open a new side window with more information about the transaction. 

To create a statement template, navigate to Settings > Line of Credit > Statements. Click ‘Add’ at the top right of the page to add a new template. On this page, you can give your template a name and choose whether you want it to be active/inactive using the ‘Status’ toggle switch. Turning the switch on sets the template as ‘Active’, which will make it available to use for a billing statement in an individual account. 

Below the ‘Name’ field is a dropdown menu for the template's file type. 'HTML' will open up our Dynamic Templates editor where you can use HTML to create your template in the software. Similar to Dynamic Templates, these templates use context variables that will pull data from the borrower's accounts and merge it into the templates. Once you finish creating your template, click ‘Save Changes’ at the top right of the page. 

The main ‘Statements’ page will show you all of the templates you've created in your tenant. At the right of each listing are the options to ‘Edit’ or ‘Delete’ your template. 

Once you've created a few statement templates, you can assign them to a line of credit account. This will ensure that the billing statement generated on the account will use the template that is assigned to it. To assign a statement template, go into an individual account and navigate to Account Settings > Settings. The ‘Account Settings’ section should be at the top of this page. Click the pencil icon at the top right to edit the ‘Account Settings’ section. Scroll until you see the ‘Statement Type’ field and click it to choose a template from the dropdown menu. 

It's important to remember that the templates that are set to the “Active” status in Lines of Credit > Statements will be available as an option in the ‘Statement Type’ field. After choosing the statement template for this account, click the ‘Save’ button at the bottom. 

Automating statement creation

You can automatically send billing statements to your customers at the end of each billing period after they're auto-generated using event-based notifications. Again, the process is different for loan and line of credit statements.

Automate loan statements

The easiest way to send out billing statements is to create automated email triggers. Automated emails can even be set up to send your customers statements a specific number of days before a payment comes due. To do this, navigate to Settings > Company > Automated Notifications > Dynamic Triggers. Click the ‘Add’ button in the upper right corner. In this window you can determine the name, trigger, and email content for the notification. For more information about trigger-based notifications, see our Automated communication article. 

 
 

Automate line of credit statements

Before you enable automated statements, we recommend creating a template for your statements so that they match your company's branding and operations.

To enable automated statements, navigate to Settings > Company > Automated Notifications > Event-Based Triggers and scroll down until you reach the ‘Line of Credit Events’ section. Click the pencil icon to edit the ‘Statement Generated’ event. This event will trigger a notification to be sent when a statement is generated for an account.

 
 

 

 

 

 

Unclassified Public Data