An invoice can leave Rhythm as a printed or downloaded page, an email, or a payment link someone can use without signing in. All three options start on the invoice page.
When to Use This
Use this when you need to give a customer a copy of an invoice, resend an invoice they did not receive, or help someone pay without signing in to the Portal. If you need to fix the charges on the invoice instead of sharing it, see Correct an Invoice.
Prerequisites
- Permission to print invoices, email invoices, or both, depending on what you need to do.
- An active invoice template assigned to the invoice, or inherited from the business unit's default. Rhythm cannot render an invoice from a retired, missing, or unassigned template, whether you print or email it.
- Public invoice payments turned on for your account, if you need to share a payment link.
Print or Download an Invoice
- Open the invoice.
- Open Invoice Options and select Print.
Result
Rhythm renders the invoice with its template and opens the copy in a new browser tab. The rendered copy is a web page, not a downloaded file, so use your browser's print or save option when you need a physical copy or a saved copy.
Warning
The Print Invoice button that used to appear inside the invoice template has been removed, and the same change applies to payment receipt and refund receipt templates. Rendered invoice output cannot run a template's JavaScript, so that kind of button will not work even if it still appears in older template markup. Use your browser's print option on the rendered page instead. If you maintain a template that still includes a "Print Invoice" control, remove it so it does not confuse the next person who opens the template.
Printing directly from the rendered HTML page can look different from printing a saved PDF of the same invoice. If a logo or header is cut off, your browser or print driver is often handling margins differently than expected, so adjust your print margins or save to PDF before you assume the template is the problem.
Warning
Rhythm does not support printing several outstanding invoices, or generating their PDFs, in one action. You also cannot bulk-print invoices through a query. Invoices print one at a time from each invoice's own page. Exports are limited to spreadsheet-style data, such as Excel, formatted or unformatted, CSV, or JSON. An export gives you invoice data, not copies of the invoice documents themselves, and bulk PDF is not an export format.
The template assigned to that specific invoice controls what prints or emails, not the template you most recently created. If an invoice is missing details you expect, such as a product description, creating a new invoice template usually will not help until you assign that template, or a different one, to the affected invoice or its process through Edit Details. After you do that, the same invoice can print differently.
Email an Invoice
- Open the invoice.
- Open Invoice Options and select Email.
- Rhythm renders the invoice and fills in the subject and body from your invoice template's email content. Review or edit the subject, body, and recipient before you send it. You can also add your own address, or a colleague's, in Cc or Bcc if you want a copy of what goes out.
- Select Send Email.
Result
The email goes to the invoice's bill-to contact, which is the one person named on the invoice, even when the invoice is billed to an organization. Rhythm saves a copy of the rendered invoice and links to it from the email, usually through a link in the message body. Rhythm does not attach files to an invoice record or let you link an uploaded file to it, so the customer reaches the invoice through this emailed link, not an attachment.
Warning
If the bill-to contact does not have an email address on file, the address box is empty. Rhythm can still report that the email sent successfully even though no one received it, so check the bill-to contact's email address before you rely on this option.
If the invoice is billed to an organization but a specific billing contact needs to see it, you have two useful options. Add a clear line to the invoice template's email body asking the recipient to forward the invoice to their billing contact, optionally naming that contact with a merge field. Or, for invoices that came from an event registration order, use a scheduled billing run to send customer statements to the organization, its contacts, or both.
Rhythm does not offer a way to resend or mass-send several open invoices at once. Email works on one invoice at a time. If an invoice's automatic email never went out but a manual Email send works with the same template and content, the issue is with whatever should have triggered the automatic send, not with the invoice, its template, or your email delivery in general. For a store order billed with a "pay later" method whose confirmation says an invoice will follow, check your store's own email confirmation settings before treating a missing invoice email as a delivery issue. An override there can suppress or change the message.
If you cannot find a record of a previously sent invoice email in Finance & Billing, the invoice or its link may have been shared another way, such as pasted into a different email, instead of sent through this Email action. In that case, there may be nothing in Finance & Billing to find.
Warning
Invoice templates do not currently offer a configurable From address for the email they generate. The sending address comes from your account's verified senders, not from a per-template setting.
To preview an invoice's email content by itself, you need the ID of an invoice that already exists in your account. Open the invoice in Invoice 360, choose Copy ID to Clipboard from the options menu, then paste that ID into the preview field. If the preview fails with InvalidRequest: No id presented even though you entered a real ID, that is a known issue with some records, not a sign that the ID was wrong. Try again, or contact Support if it persists.
Get a Payment Link for an Invoice
A payment link lets someone pay the invoice without an account. Use it when you are helping a customer by phone or email and they do not have, or do not want, a Portal login.
Prerequisites
- Public invoice payments must be turned on for your account, and a Portal site must be configured. If either one is not set up, this option will not appear or will not produce a usable link.
- Open the invoice.
- Open Invoice Options and select Get Payment Link.
Result
Rhythm copies the invoice's public payment link to your clipboard. You can paste it into an email or message, or open it in a browser tab if you want to walk the customer through paying by phone.
Warning
Anyone with this link can open and pay the invoice. There is no sign-in and no additional check tied to the person you send it to, so share it only with the customer it is meant for. Rhythm does not show an expiration date for the link. If the payer uses a different email address than the one on file, the payment can attach to a new or different contact instead of the one originally billed. That can affect related records, such as a registration not appearing under the account you expected, so confirm which contact the payment landed on if the payer mentions using a different email. If the payer pays by checking account (ACH), Stripe can send an authorization-style email before a completed payment exists in Rhythm or Stripe. Do not treat that email alone as proof that the invoice was paid; check the invoice's balance and payment record instead. If the invoice is later cancelled or voided, a link you already shared keeps working, but it shows the invoice's current cancelled or voided status instead of letting someone pay a charge that no longer applies.
Turning off public invoice payments removes the visible "pay now" prompt from every rendered invoice, and it also disables Get Payment Link. There is no way to keep the underlying link working while hiding it across your account. If you hide the prompt on one specific invoice template instead, as described below, only invoices rendered with that template lose the visible text. Public payments and Get Payment Link keep working normally, and you can still give a customer the link yourself.
If a customer says a payment link opens to an error such as "Unable to initialize web form … describeProducts: 0 Unknown Error" and the payment form never loads, there is no confirmed self-service fix for that specific error. Contact Support with the invoice so they can review the account and the link together.
Warning
Rhythm does not offer a way to pull every invoice's fully populated public payment link at once. There is no bulk export and no query field that returns the finished payment URL. You can get a link for one invoice at a time from its own page, or build the link yourself. A query on Invoices that includes ID and Sharing Secret gives you the two pieces you need to assemble /financial/payInvoice/{Invoice ID}?sharingSecret={Sharing Secret} for as many invoices as the query returns.
That constructed pattern works only for the public payment link. It is different from the direct invoice page URL that a {{download_invoice_url}} merge field produces in a Billing Run Notice. That URL is generated only when the notice sends, and there is no supported way to reconstruct or predict it from the invoice's other fields.
The "Click here to pay this invoice now" text on a printed or emailed invoice uses the same link that Get Payment Link copies. When public payments are on, Rhythm normally adds it to the bottom of the rendered page automatically, rather than requiring setup in the standard template editor. If you save a printed invoice as a PDF and email that PDF as an attachment, the same working link stays in the PDF, so that is a fine alternative to Get Payment Link when it fits how you already share the invoice.
A template author who wants more control over that link can place it explicitly with the {{public_payment_link}} merge field anywhere in the template's source code. Use this when you want a larger or more prominent call to action than the automatic one, or a different position on the page. Source editing is also the only way to move the link, because it is not available in the standard template editor. To hide the automatic link on one specific template only, such as when you want to show different payment instructions there, add the marker __suppressPublicPaymentLink anywhere in that template's source.
What Can Stop Printing or Emailing
- The invoice's template is inactive, missing, or was never properly assigned. This includes a template that was later changed or deleted out from under the invoice, leaving nothing usable, and an invoice whose business unit has no default template to fall back on. Choose an active template on the invoice through Edit Details, then try again. A render failure that says something like
Cannot read properties of undefined (reading 'active')usually means the assigned template no longer exists, and reassigning any active template resolves it. - You can't act for the invoice's bill-to party. This can happen if your account restricts who may render an invoice on behalf of its customer.
- Public payments aren't enabled, for a payment link specifically. Turn this on in your Finance & Billing settings before Get Payment Link produces a usable address.
- The invoice template's source code has invalid markup. A parse error that points to an unexpected closing block, or to a malformed merge field such as a due-date field, can block printing or emailing even if the template preview looked fine when it was last opened. If printing or emailing suddenly fails after a template edit, replace the template's markup with a known-good version, such as your own earlier copy or a duplicate of a working template. That is a reliable way to recover while you track down the exact syntax problem.
- A template built for order data was used somewhere invoice data was expected, or the reverse. An invoice-linked email or document template needs to be built against invoice data, not order data. Using the wrong context can make the emailed invoice link show no product and a zero amount, even though the order itself is fine.
- The template's HTML itself is malformed. An unclosed tag or other invalid HTML can disrupt the page layout, such as making a header background render incorrectly for some readers but not others, before it causes a full error.
- A customized line-item table is missing content it used to show. Adding a row for something like Payment Method to the invoice's line-item table has been observed to stop the product description and unit price from populating on the rest of that same table. If that happens, remove the added row or revert to a standard or freshly duplicated template without it to restore the missing description and unit price.
- Preview and the actual printed copy used different templates. The template editor's preview can render with a template you passed in for that preview, while the invoice you print or email uses its assigned template, or its business unit's default when it has none. A merge field that works in preview can still fail on the real printed invoice if a different template is in effect there, so check the template assigned to the invoice, not just the one open in the editor.
What the Customer Sees
Printed and emailed invoices show the same content: the invoice number, dates, bill-to details, line items, any memberships the invoice covers, the last payment made against it, if any, and a link to pay from the page when public payments are on. That pay-now link comes from the same hidden rendering logic behind Get Payment Link, not from a separate setup that most templates need. A template only needs to place or suppress it deliberately when the default position and wording do not fit.
Line-item detail comes largely from the purchased product's own description. Event registrations and job postings, for example, can already show richer detail on a printed invoice depending on how that product is set up. Rhythm does not currently expose other related-record fields, such as an event or meeting's name, a job posting's employer, or a certification course's date and location, as mergeable invoice detail beyond what the product description carries. There is also no dedicated field for showing a substituted or transferred registrant separately from the invoice line's original product name if a registration was later transferred to someone else.
A pro forma invoice can print and email with the same level of detail as a standard invoice, such as services and pricing, but it is not an official or legally binding document. If you share one outside your organization, make that clear on it so it is not mistaken for a finished invoice.
Group membership invoices print the group members' names on their line items again after a past rendering defect was fixed. That fix applies to group memberships created from that point forward, so an older group membership record may not show the same detail. Emailed invoices usually link to the same rendered copy instead of attaching a file directly. Whether you deliver the pay-now link by emailing the invoice, printing it and saving it as a PDF to attach elsewhere, or giving out the Get Payment Link address directly, all three use the same working link. Use whichever method fits how you already communicate with the customer.
A template's layout, including where the pay-now link appears, is not tied to when an invoice was created. Rhythm re-renders an invoice from its assigned template every time you print or email it, so a saved template change applies to every future rendering of any invoice that uses that template, old or new.
Customize What an Invoice Template Shows
Invoice templates use Handlebars merge fields and loops. These patterns come up often:
| What You Want to Show | Merge Field Pattern | Notes |
|---|---|---|
| Every line item (quantity, product, unit price, total) | {{#each invoice.line_items}} ... {{/each}} | Line-item fields render only inside a loop like this one. Without the loop, the fields stay blank on the printed or emailed invoice even though the template looks fine in the editor and the product and quantity appear elsewhere in Rhythm. |
| A date field, such as a due date or the last payment date | {{moment invoice.date_due format="MMMM, DD, YYYY"}} | Applying format directly to a date field, such as {{invoice.date_due format="MMMM, DD, YYYY"}} or a similar expression on lastPayment.date, causes a print or render error. Use the moment helper for any date, especially payment-related dates you add after the fact. |
| Every membership the invoice covers | {{#each memberships}}{{name}}{{/each}} | Membership merge fields, including term dates, work only while you iterate through the invoice's memberships this way. Some membership term or expiration fields offered directly in the template editor have been observed to fail with a parse error or not populate when used outside a loop like this one. |
| A membership's chapter name | {{lookup (lookup @root.memberships 0) "chapter_names"}} | Reads the chapter name from the first membership in the list. |
| A line item's delivered-to or ship-to contact name (including a group registration's member name) | {{override_ship_to.name}}, inside the invoice's existing {{#each invoice.line_items}} loop | Most templates already loop over line items for the table rows. Add this field there instead of starting a second loop around it. |
| The contact tied to one purchased line item, next to the product name | An each-operator merge field placed on the product description line | Shows that line's associated contact alongside the product name, without changing the product name itself. |
Keep these points in mind when you edit a template's source directly:
- If you paste an example straight from the template's help text, check it before you trust it. Some loop examples shown there have been found to contain invalid syntax, such as a stray character or an incomplete
{{#each}}...{{/each}}pair, and copying one as shown can cause the same preview error it was meant to demonstrate. Retype the loop by hand if a pasted example fails to preview. - Duplicate a template before removing its organization merge fields if you want a version that does not show the organization's name. Deleting those fields from the template's HTML suppresses the name, and doing it on a copy keeps the original available for invoices that still need it.
- Custom color values entered directly in a template's source code have been observed to revert to the defaults after you save and reopen the template, and the change may not carry through to the emailed invoice. If that happens, reapply the colors and check a fresh preview and a test email instead of assuming your first save took effect.
- A template's logo needs a web-displayable image file rather than a PDF. Rhythm cannot display a submitted PDF directly and converts it to an image instead, which can look soft when enlarged. If you will want to replace the logo again later, keep the original artwork in a vector format so a future conversion stays crisp.
- Uploading an image for an invoice email template now replaces spaces in the file name with underscores automatically. This fixed broken image rendering in emailed invoices that used to happen with file names containing spaces. If an image you uploaded before this change still does not render correctly, upload it again instead of waiting for it to repair itself.
Associated-contact details merge onto an invoice correctly for membership line items. For merchandise line items, that same merge does not currently work, so an associated contact's information can appear under a membership product on an invoice but not under a merchandise product on the same invoice.
Related Reading
To find the invoice you want to share, see Find and Review Invoices. To create a new invoice, see Create an Invoice. For how Rhythm's outgoing email generally works, including delivery tracking, see how Rhythm sends email.