Recurring Invoices & Management

For ongoing client relationships, you don't want to manually create the same invoice every month. ClientCove's recurring invoice system handles the schedule for you — set it up once, and the next invoice is generated and (optionally) emailed automatically.

Recurring Invoices

A recurring invoice generates copies of itself on a schedule:

  • Monthly retainers
  • Quarterly subscription fees
  • Annual maintenance contracts
  • Per-billing-cycle service charges

The schedule is set on a parent invoice, which acts as the template. ClientCove creates each new invoice from it automatically when its time comes.

How Recurrence Works

  1. You create an invoice and switch on Recurring Invoice
  2. Set the frequency, start date, and optional end date
  3. Choose what happens to each new invoice: email it, create it without emailing, or hold it as a draft for your review
  4. Save the invoice
  5. A daily scheduled job checks for recurring invoices whose next date has arrived
  6. When one is due, ClientCove creates a new invoice from the template:
    • Line items, tax rate, discount, notes, and currency are copied
    • It gets the next invoice number, and its title is the template's title plus the month (for example "Website Retainer — November 2026")
    • The issue date is today, and the due date is today plus the Payment Terms you chose
    • Its status is Sent, or Draft if the series holds new invoices for review
    • It is emailed to the client only if you chose Email it to the client
    • The new invoice's activity log records that it was generated from the template

This continues indefinitely, or until the end date is reached, whichever comes first.

Setting Up a Recurring Schedule

In the Create Invoice modal, or the Edit form for an existing invoice:

1. Switch on "Recurring Invoice"

A section opens with the recurring settings. A note reminds you that this invoice will be used as a template.

2. Set the frequency

Pick from the dropdown:

FrequencyNext invoice is created
Weekly1 week later
Every 2 Weeks2 weeks later
Monthly1 month later
Quarterly3 months later
Semi-Annually6 months later
Annually1 year later

3. Set the day of month

For monthly, quarterly, semi-annual, and annual schedules, new invoices are created on this day of the month (1–28). Weekly and every-2-weeks schedules ignore it.

4. Set the payment terms

Each new invoice's due date is its issue date plus these terms: Due on Receipt, or Net 7 through Net 90. The default is Net 30.

5. Set the start date

The first new invoice is created on the start date. If the start date has already passed when you save, the first one is created one period from today instead. The template invoice itself stays as it is. If you send it, the client can pay it like any other invoice.

6. Set an optional end date

Leave blank for indefinite recurrence (until you stop it manually). Set a date for time-bounded contracts (e.g. "12 monthly invoices for the year"). No new invoices are created after the end date.

7. Choose "When a new invoice is created"

  • Email it to the client: each new invoice is created as Sent and emailed to the client, with a link to view and pay it
  • Create it without emailing: each new invoice is created as Sent, but no email goes out. The client can still see it in the portal
  • Hold as a draft for my review: each new invoice is created as a private Draft. The client can't see it until you send it. See Holding Invoices for Review

Series set up before this option existed keep working as before: Auto-send on means Email it to the client, off means Create it without emailing.

8. Save

Save the invoice. New invoices appear in your invoice list automatically, based on the schedule.

Choosing What Happens to New Invoices

Email it to the client

  • Pros: Truly hands-off. Set up the recurring schedule and forget it
  • Cons: If line items or amounts need to change for a specific cycle, you have to update the template before the next date
  • Best for: Stable retainers where the amount never varies

Create it without emailing

  • Pros: Nothing is emailed until you send it
  • Cons: The invoice is already Sent, so the client can see it in the portal as soon as it's created
  • Best for: Clients who prefer to find invoices in the portal rather than by email

Hold as a draft for my review

  • Pros: Nothing reaches the client, by email or in the portal, until you've reviewed and sent it. Easy to adjust per-cycle variances (extra hours, expense reimbursements)
  • Cons: Each invoice waits for you. Nothing goes out until someone sends it
  • Best for: Time-tracked or variable retainers

Holding Invoices for Review

When a series is set to Hold as a draft for my review, each new invoice is created as a Draft:

  • The client can't see it. Drafts are private to staff: they don't appear in the client's invoice list, can't be opened, downloaded, or paid, and a payment link to a draft doesn't work until it's sent
  • You're notified. You get an email ("Invoice X is ready for review"), a Slack message if Slack is connected and the Invoice overdue event is on, and the invoice appears under Invoices waiting for review in the dashboard's action items
  • Nothing is charged yet, even if the series has Automatic Card Payments on

Review the invoice and edit it if needed. Then either:

  • Send it: the client is emailed (see below for auto-charge), or
  • Mark as Sent: it becomes visible to the client without an email

Sending or marking it as sent resets the issue date to today and the due date to today plus the series' payment terms.

With Automatic Card Payments

If the series auto-charges and the client has a card on file, sending (or marking as sent) a held invoice charges the card at that moment. The confirmation tells you before you click.

  • The charge goes through: the client is emailed the paid invoice instead of a request to pay
  • It fails, or the bank needs the client to confirm: the client is emailed the invoice to pay
  • You raised the amount above what the client agreed to, or changed the schedule: the card isn't charged, and the client is emailed the invoice to pay. They can agree to the new terms when they pay
  • You changed the invoice's client: the card isn't charged, and the invoice is sent normally
  • Invoices you create with "Generate now" are never charged when sent, only invoices the schedule created

The message after you send tells you exactly what happened. The client always gets at most one email.

Automatic Card Payments

A recurring invoice can charge the client's saved card automatically each time a new invoice is created. Nothing is charged until both you and the client have agreed.

Turning it on

  1. Open the parent recurring invoice and click Edit
  2. In the recurring settings, switch on Auto-charge saved card
  3. Save

Nothing changes yet. The next time the client pays an invoice in this series by card, the payment drawer shows a required checkbox: they agree to save the card and to have it charged for future invoices in this series, at the amount and schedule shown (for example "$250.00 monthly"). Once they pay with the box ticked, the card is on file, and the edit form shows it as "Visa •••• 4242, authorized" with the date.

From then on, each new invoice in the series is charged as soon as the daily schedule creates it. The client receives the paid invoice by email instead of a request to pay.

What it does not do

  • It never charges without the client's agreement. Staff cannot save a card for a client. The client has to tick the box themselves while paying.
  • It only charges cards. Bank transfers and other payment methods are not saved.
  • It only charges invoices created by the schedule. Creating an occurrence by hand does not charge the card, and neither do one-off invoices.
  • It never charges more than the client agreed to. If you raise the series amount or change its frequency after the client agreed, the card is not charged. The client is emailed the invoice to pay instead, and can agree to the new terms when they pay.
  • It charges at most once per billing period, even if the schedule runs again.
  • It does not retry. A charge that fails is not attempted again automatically.
  • It charges when each invoice is created if the series emails new invoices or creates them without emailing. If the series holds new invoices for review, the card is charged when you send each one instead. See Holding Invoices for Review.

When a charge doesn't go through

If the card is declined, has expired, or the client's bank asks them to confirm the payment:

  • The invoice stays unpaid
  • The client is emailed the invoice with a short note explaining why, and a link to pay
  • You receive an email (and a Slack message, if Slack is connected and the Invoice overdue event is on)
  • The saved card is kept, and next cycle's invoice is charged as normal

When the client pays a failed invoice, they can tick the box again to replace the card on file.

If Stripe's response is unclear (for example a timeout), the client is not emailed, so they are never asked to pay twice. You get an email asking you to check the payment in your Stripe dashboard. If it went through and your Stripe webhook is set up, the invoice is marked paid automatically when Stripe confirms it.

Invoices in a series show their auto-charge status to staff: Auto-charged, Auto-charge failed, Needs client authentication, or Auto-charge needs checking.

Stopping automatic payments

  • You: switch off Auto-charge saved card to pause charging, or click Remove card in the edit form to delete the saved card. Removing the card means the client must agree again before any future automatic charge.
  • The client: every automatically paid invoice email includes a Stop automatic payments link. They confirm on the page that opens, the card is removed, and you get an email letting you know. Future invoices are then emailed to them to pay.

Turning auto-charge back on after switching it off reuses the card already on file, if there is one. Use Remove card if you want the client to agree again.

Stopping a Recurring Series

To end a recurring schedule:

Method 1 — Set an end date

  1. Open the parent recurring invoice
  2. Edit
  3. Set the End Date to today (or the last cycle date)
  4. Save

The cron stops creating new occurrences past the end date.

Method 2 — Toggle off recurring

  1. Open the parent recurring invoice
  2. Edit
  3. Switch Recurring Invoice off
  4. Save

Removes the recurring flag entirely. No more occurrences will generate.

What happens to existing occurrences?

Already-generated occurrences stay in the dashboard with their status (Sent / Paid / etc.). Stopping recurrence only affects future occurrences.

Cancelling an Invoice

For invoices sent in error or no longer collectible:

  1. Open the invoice (admin/editor)
  2. Click the Cancel Invoice action in the menu
  3. Confirm

Cancellation:

  • Flips status to Cancelled
  • Sends an optional cancellation notice to the billing contact (configurable)
  • Stops overdue reminders for this invoice
  • Logs the action with reason (if provided)

The invoice stays in the database (the record is preserved) but it's filtered out of "outstanding" and "overdue" views.

To uncancel: edit the invoice and change the status back to Sent. Note that this is unusual — typically you'd create a new invoice rather than reviving a cancelled one.

Editing After Sending

Once an invoice is in Sent / Viewed / Paid / Overdue status, editing is restricted:

FieldEditable after Sent?
NotesYes
Payment Terms textYes
Status (manual changes)Yes (Cancel, Mark Paid)
Line itemsNo — locked
Quantities, prices, totalsNo — locked
Tax rate, discountNo — locked
Issue dateNo — locked
Due dateYes (admin only)
ClientNo — locked
CurrencyNo — locked

The lock preserves the integrity of what was sent. To make substantive changes:

  1. Cancel the original invoice
  2. Create a new invoice with the corrected info
  3. Note the cancellation in the new invoice's notes ("Replaces cancelled INV-2026-0042")
  4. Send the new invoice

Correcting a Payment

A paid invoice's payment date decides which month the payment counts toward on the Revenue page. If a check was recorded on the wrong day, or a payment landed in the wrong month, fix it from the editor:

  1. Open the paid invoice and click Edit, or click the pencil icon on its row in the invoices list
  2. In the Edit Invoice window, Status shows a green Paid badge, with Payment Date and Payment Method below the due date
  3. Change the Payment Date
  4. Click Update Invoice

The payment moves to the new month on the Revenue page. The amount collected stays the same.

Payment Method can be changed for payments you recorded with Mark as Paid. The choices are Check, ACH / Bank Transfer, Cash, Credit Card (Offline), PayPal, Venmo, Zelle, and Other. A Stripe payment shows the card that was charged, such as Stripe — Visa •••• 4242, and can't be changed. If the payment had a reference (a check number, say), it's shown under the method.

These fields only appear once an invoice is paid. To record a payment in the first place, use Mark as Paid.

Linking to the Editor

While the editor is open, the address bar shows ?cove= followed by the invoice's ID, for example /invoices/?cove=4643. That makes the editor linkable:

  • Refresh the page and the editor reopens on the same invoice
  • Share the link with a teammate and it opens straight into that invoice's editor
  • It works on the Invoices list and on a single invoice's page

Closing the editor removes the ?cove= part again. The link only opens the editor for staff who can edit invoices; anyone else sees the page as usual. If the invoice no longer exists, you'll see an error and the editor stays closed.

Bulk Actions

The invoice list table supports bulk operations:

  1. Tick checkboxes on multiple rows (or the header checkbox to select all)
  2. The bulk actions bar appears
  3. Pick an action

Available bulk actions:

  • Send — send all selected Draft invoices
  • Mark as Paid — manually mark all selected as paid
  • Cancel — cancel all selected
  • Export Selected to CSV — export only the selected rows

Bulk actions are admin/editor only. Each action confirms with a toast showing the count affected.

CSV Export

The Export CSV button (top toolbar) downloads the current filtered invoice list as a CSV file with these columns:

  • Invoice Number
  • Client Name
  • Status
  • Issue Date
  • Due Date
  • Subtotal
  • Tax
  • Discount
  • Total
  • Balance Due
  • Currency
  • Payment Date (if paid)
  • Notes

The export respects all active filters — search, status, client, date range — so you can export "all paid invoices for Acme in Q2" by setting the filters first, then exporting.

Useful for:

  • Importing into accounting software (QuickBooks, Xero, FreshBooks)
  • Tax preparation
  • Custom reporting
  • Backup before bulk operations

The Activity Log

Every invoice has an activity log accessible from its detail view:

EventLogged when
CreatedInvoice is created
SentEmail is sent to billing contact
ViewedClient opens the invoice page
Payment InitiatedClient clicks Pay (Stripe payment intent created)
Payment SucceededStripe webhook confirms payment
Payment FailedStripe webhook reports a failure
Manually Marked PaidAdmin marks paid via the manual flow
Status ChangedAny status change (with old → new)
EditedField changes after sending (with field name)
PDF RegeneratedPDF is regenerated
ResentNotification email is resent
CancelledInvoice is cancelled
Refund ProcessedStripe webhook confirms a refund
Recurrence GeneratedA new occurrence is created from a recurring parent

Each entry captures: who (user ID, or "Stripe webhook" for system events), when, and metadata (payment amount, IP for client actions, etc.).

The log is append-only — entries can't be edited or deleted. It's the source of truth for billing audits.

Capability Matrix

Final reference for who can do what:

ActionRoles
View Invoices dashboardAdministrator, Editor, Representative (with config)
Create invoicesAdministrator, Editor (publish_invoices capability)
Edit Draft invoicesAdministrator, Editor (edit_invoices capability)
Edit Sent invoices (limited)Administrator, Editor
Send invoicesAdministrator, Editor
Mark as Paid manuallyAdministrator, Editor
Cancel invoiceAdministrator, Editor
Bulk operationsAdministrator, Editor
CSV ExportAdministrator, Editor
Configure StripeAdministrator only
Configure invoice settings (numbering, etc.)Administrator only
Set up recurring scheduleAdministrator, Editor
View invoice as clientClient users with client_billing role OR designated billing contact
Pay invoiceAny client user with view access
View activity logAdministrator, Editor (full); client (limited to their own actions)

Subscriber-level users have no invoice access. Client users see only their own client's invoices.

Was this page helpful?