A statement template controls the customer balance statement’s layout, the email that sends it, and, for organizations, which contacts receive it. Most associations use one or two templates.
What It Controls
A statement template has three parts:
- Recipients. For an organization’s statement, you choose whether Rhythm emails every contact tied to the organization or only contacts in selected roles. A contact’s own statement always goes to that contact, no matter which option you choose here. The billing run also matters: a run created for Contacts sends each contact only their own open invoices, while a run created for Organizations follows this template’s role setting for every contact at the organization.
- The statement layout. This HTML page uses merge fields that Rhythm fills with the customer’s name, open invoices, aging figures, and balance. Address fields come from either the organization’s billing address or the individual contact’s address, depending on the merge fields in the layout. If you use organization address fields on an individual statement, or individual address fields on an organization statement, the statement can show the wrong address. Associations that bill both organizations and individuals often keep separate templates for each.
- The email. This is the subject and message that include a link to the rendered statement, using the same merge fields.
Where to Find It
Go to Finance & Billing › Setup › Templates › Statements. Rhythm opens Manage Statement Templates, where you can see every statement template in your Rhythm account, including its name, last change date, and active status.
Prerequisites
You need the permission your administrator grants for statement template setup. Without it, you cannot open this page or use its actions.
The Settings
| Setting | Options | Default | Effect |
|---|---|---|---|
| Name: | Any text | Empty | Required |
| ID: | Letters, digits, underscores, hyphens, and pipes | Suggested from the name | Required. You cannot change it after the first save |
| Business Unit | Set near the top of the template | None | Limits the template to one business unit |
| Status: | Active, Inactive | Active | Controls whether the template appears as active in template pickers |
| Who should receive the statements? | All contacts tied to the organization, Only certain contact roles | All contacts | Applies only to an organization’s statement; a contact’s own statement is not affected |
| Contact Role(s): | Active contact roles | None | Appears only when you choose Only certain contact roles; you must choose at least one role to save |
| Statement layout | Rich-text HTML with merge fields | Rhythm’s built-in default statement for a new template | Required |
| Email subject and body | Text and rich-text HTML with merge fields | Your Statement is Attached and Rhythm’s built-in default email for a new template | Both required |
Warning
Contact Role(s): looks required on the form, but Rhythm does not stop you while you are filling it out. If you choose Only certain contact roles and save without selecting any roles, Rhythm refuses the save after you try to save.
Setting Up a Statement Template
- Go to Finance & Billing › Setup › Templates › Statements, then Create Statement Template.
- Name the template.
- Choose All contacts tied to the organization or Only certain contact roles. If you choose Only certain contact roles, select the roles that should receive an organization’s statement.
- Edit the statement layout, using the merge-field bar to find and copy placeholders such as the customer’s balance or aging figures.
- Edit the email subject and body the same way.
- Save.
Result
The template becomes available wherever you generate or send a statement, including as your account’s default statement template.
Tip
A new template starts with Rhythm’s built-in statement layout and email, so you edit a working example instead of starting from a blank page. If an existing template stops working as expected and you cannot identify what changed, create a new template from the built-in default and edit it instead of continuing to patch the old one. Cloning the existing template first is worth trying, but starting fresh from the default is more likely to work.
To remind contacts about outstanding invoices in bulk instead of one at a time, run a Send Customer Statements billing run. If the template used for that run includes the Public Payment Link merge field, each contact receives their own unique link to pay their open invoices.
Merge Fields to Know About
The merge-field bar above each editor offers fields from the customer’s contact or organization record, your Rhythm account’s own record, and statement-specific fields such as Is Past Due?, Balance, and aging buckets for current, 0–30, 30–60, 60–90, and over-90-day amounts. Balance shows the exact outstanding amount; an earlier rounding issue that could throw off the total on a Balance Due figure has been corrected.
Order fields, including Ship To, are not available as merge fields on the Balance Statement template, even though Ship To Contact is available on the Invoice Template. If you need an order-related field like this on a statement, treat it as a feature request rather than a defect, because the statement template is not designed to expose it today. The invoice download link merge field has the same kind of gap: it works in Membership billing runs, but it is not currently available as a merge field in Finance & Billing statements.
When a statement bills an organization, its merge fields come from the organization’s record instead of a specific contact’s record. Because of that, there is no single “billed contact name” field to show who at the organization the statement is really for.
The merge-field bar lists only fields the statement generator supports. If you created a statement template by copying content from another template type, such as an invoice template, the editor may still show placeholder text for fields that are not valid here. Seeing a token in the editor does not mean the statement will fill it in. Build new content with the statement template’s own merge-field bar instead of copying text from another template type.
Warning
Two offered fields do not behave the way their names suggest. Open Credits inserts a list of the customer’s open credits, not a total amount. One full group of offered fields comes from your account-wide settings instead of the customer or statement, so those fields always print empty because the statement does not receive that data when Rhythm renders it. Avoid these fields, or test with a preview before relying on them.
Warning
The aging bucket table in the built-in default layout has had column-mapping problems. At one point, a column labeled Credit Available was actually filled from the over-90-days aging bucket, and the table did not support adding a genuine, separate over-90-days column. Existing templates were adjusted for correct column headings while a permanent fix to the table itself was pending. If your aging columns do not match their labels, check the table’s underlying fields before assuming the account’s aging figures are wrong.
A custom address merge field can be in your template and still render blank if it was inserted from an older template, or typed by hand, and no longer matches the token the merge-field picker currently creates for that field. If a merge field prints empty even though the picker shows it as available, delete it and re-insert it from the merge-field bar instead of reusing the old text.
Open invoices depend on the table section that lists them in your layout, usually the one built around the Age column. They do not depend only on the individual columns inside that section. If you remove that table while changing its columns, open invoices can stop appearing at all. Edit the columns within the table instead of deleting the table section.
Showing Invoice-Level Fields, Such as Due Date and Invoice Number
Fields that belong to an individual open invoice, such as its due date or invoice number, render only inside an iterator over the open invoices: an {{#each openInvoices}} block, closed with {{/each}}. A due date or invoice number placed outside that loop will not populate. Because the TinyMCE editor strips a raw iterator like this when you save, add it in the statement template’s source code and wrap it in HTML comments so the editor leaves it in place.
Inside that loop, use {{./number}} rather than {{number}} to print the invoice number. In this context, number on its own is read as a Handlebars helper name, not the invoice’s own property, so the plain form renders blank or incorrectly. This is also the fix if an invoice number you expect to see on a statement does not appear even though you can see the field in the merge-field bar.
Statement emails do not offer an invoice number merge field at all. A statement can cover more than one invoice, so there is no single invoice number for the email to merge in. Use the statement layout’s {{./number}} inside the open-invoices loop instead, where each invoice’s own number is available.
Previewing and Testing
Preview beside the statement’s merge-field bar asks you to choose a contact or organization, then opens your current unsaved layout for that real customer as a PDF in a new browser tab.
The email editor’s preview asks for a customer and a Send Preview To: address, then sends a real test email.
Warning
The test email uses your draft email text, but it does not use the draft statement layout on your screen. The statement link is rendered from your account’s saved default statement template, not the template you are currently editing. To see your draft layout, use the layout Preview button instead.
Warning
Statement generation has, in some cases, used the account’s default template instead of the one you explicitly selected, which can make it look like your edits had no effect. If a generated statement does not reflect a change you made, confirm with the layout Preview button before assuming the edit failed.
Warning
If a preview or generated statement keeps showing text you already removed from the template you are editing, check other statement templates in your account, especially any with similar wording. Rendered output has, in some cases, been affected by text saved on a different template. Removing the duplicate text from that other template and saving it has resolved this.
Warning
Both previews use a real customer’s data, and the rendered document is stored at a permanent, public address, the same as any statement Rhythm generates. Choose a customer you are comfortable previewing with.
Dependencies and Precedence
- If a statement is generated without a specific template, Rhythm uses your account’s default statement template from the finance settings page. If no default is set, Rhythm uses its built-in default.
- This template’s Contact Role(s): controls recipients only when the statement is for an organization. If no current contact at the organization holds one of the selected roles, Rhythm sends no email, but the statement is still generated.
- Contact roles named here come from your Rhythm account’s own list; see Set Up Contact Roles.
Change Impact and How to Revert
- Editing a template's layout, email, or roles takes effect the next time Rhythm generates a statement that uses it. Statements that were already generated do not change.
- Deactivating a template hides it from template pickers. If the template is already chosen as your account’s default, or named by anything else, Rhythm continues to use it.
- Deleting a template is permanent, even your account's own default template. Rhythm does not stop you from deleting a template that a billing template or your finance settings still name as the default. The next statement that relies on that deleted template fails until you choose another.
Warning
Before deleting a statement template, check your finance settings’ default statement template and any billing templates that send statements. Make sure none of them still name the template you are about to delete.
Permissions
You need the permission your administrator grants for statement template setup to view, create, edit, clone, delete, preview, and send test statement emails.
Validation and Errors
If you try to save without a name, an identifier, a statement layout, or an email subject and body, the form does not let you continue. If you choose Only certain contact roles and save with no roles selected, Rhythm refuses the save and shows a message about that field. Previewing without choosing a customer, or sending a test email without a destination address, is blocked until you fill in those fields. If Rhythm cannot find the customer or template you are previewing, the preview fails with an error that names the problem. A preview error naming a mismatch, such as each doesn't match openInvoices, means an {{#each}} loop was closed with the wrong tag. Close every {{#each}} with {{/each}}, not the name of the collection you looped over.