Skip to content
Firmspace
Back to blog

Recurring Invoices: The Template, the Schedule and the Draft That Waits

A monthly invoice looks like the same document every time, but it is not the same task. The amount may repeat, while the date, the number, the payment deadline and the moment the customer receives it all move. Recurring invoicing is therefore calendar work before it is accounting work, and calendar work is exactly what a small team forgets in a busy week.

In Firmspace CRM the recurring invoice lives in Finance, on the Recurring tab. A template stores the customer name, address and tax number, the line items with description, product, quantity, price and tax rate, the currency, the interval, the day of the month, the next run date and one decision about sending. It is not an invoice yet. It is the instruction from which invoices are made.

The interval is monthly or yearly, and the day of the month is limited to the range from 1 to 28. The limit is not arbitrary. Every month has a 28th, while a template set to the 31st would silently skip February and turn a reliable schedule into a promise that is sometimes false. The day chosen here is the day the invoice is created, not the day it must be paid.

The next run date is the date of the first invoice. A daily background job, the same one that moves overdue invoices and sends payment reminders, looks for active templates whose next run date is today or already in the past. Paused templates are ignored, which is what makes the pause button useful rather than decorative.

When a template is due, the job creates a new invoice from it. The invoice receives the next number from the invoice sequence, with the prefix from the finance settings, and its issue date is the day the job actually ran. The due date is calculated from that issue date plus the payment term, fourteen days by default. The day of the month in the template and the payment deadline on the invoice are two different dates, and confusing them is the most common mistake in recurring billing.

Settings are applied when the invoice is generated, not frozen inside the template. The tax policy, the small business note, the numbering prefix and the payment term come from the current finance settings. If the payment term changes from fourteen to thirty days, the next generated invoice follows the new value. The currency, by contrast, is the one stored in the template, so a euro template does not turn into a hryvnia invoice because the company default changed.

The result is an ordinary invoice. It appears in the Invoices list, can be edited, sent, paid or credited like any other document, and keeps a link to the template that produced it. The history records that it was created by Automation, and an audit entry names the template behind it. The Recurring tab continues to show only templates; the documents themselves live where all invoices live.

The one decision stored in the template is the starting status. With the automatic sending option off, the new invoice is a draft and waits for a person to look at it. With the option on, it is created already marked as sent, with a sending date, and skips the draft queue. The option decides the status the document starts with; it does not collect money and it does not replace the invoice's own send step. A firm that wants a human to check quantities and tax before a document leaves should keep the draft.

It is worth being precise about what a recurring invoice is not. It is not a card charge, not a subscription management system and not a payment plan. It does not prorate a month, does not run a trial and does not take money from anyone. It issues a document on a schedule; the customer pays by bank transfer as usual, and the dunning ladder takes over only after the invoice is actually overdue.

Pausing is the safe way to stop the schedule without losing the template. A paused template creates nothing and keeps its next run date. When it is resumed, that stored date is used again: if it lies in the past, the next daily run creates one invoice and moves the date forward by one interval, and the following run continues from there. The schedule catches up one interval at a time, and every invoice carries the day it was really issued. If that is not what you want after a long pause, move the next run date before resuming.

Editing a template changes future invoices only. Documents that were already generated keep their own lines, amounts, customer details and dates, because an invoice is a snapshot rather than a live view of the template. Deleting a template stops future generation and leaves the issued invoices untouched, together with their history and their link to the schedule that no longer exists.

Customer details are copied when the template is saved. The name, address and tax number live in the template, and a later correction on the contact card does not rewrite it. That is convenient, because a template should not change under your feet, and it is also a reason to review templates before a new season: a moved address or a new tax number has to be updated in the template as well as in the contact.

The AI assistant can read the list of recurring templates. Through its read tools it sees the customer, the interval, the next run date, whether the template is active, the total and the currency, so a question such as what renews this month has an answer from the CRM rather than from memory. It does not create or edit templates: the schedule is a deliberate finance decision, and the assistant can prepare a one-off invoice but not a repeating commitment.

A recurring invoice is a small contract with the calendar. Decide once whether the next document should wait as a draft or leave as sent, keep the customer data and the payment term current, review the next run dates at the start of each quarter, and let the daily job carry the repetition. The point is not to automate the relationship with the customer. The point is that the paperwork happens on the right day without anyone remembering it.

Let us automate your next process together.

Describe a recurring workflow to us. Together we will check whether and how it can be automated sensibly.