Skip to content
Cash Flow Inventory / Docs
Operations

Subscriptions & Recurring Billing

Set it up once and it invoices itself, forever. A Subscription is a recurring billing plan tied to one customer that keeps generating invoices on schedule — weekly, monthly, quarterly, or whatever cadence fits — without anyone having to remember to create the next one by hand.

A Subscription carries its own plan name, customer, billing cadence, line items, and its own status (Active/Paused/Cancelled/Expired). Once Active with auto-invoicing on, a background billing process generates the next invoice for it on schedule, contiguous from the last billed period (a plan started on the 15th always bills 15th-to-15th, not reset to a calendar month), applies the business's chosen revenue recognition method to it, and — separately — watches for a plan whose most recent invoice has gone unpaid too long and pauses it automatically until the balance is settled.

This is a different thing from Billing & Subscription Management (see that guide): that one is about YOUR subscription to Cash Flow Inventory itself. This one is about recurring plans YOU sell to YOUR OWN customers — a maintenance contract, a monthly retainer, a SaaS- style recurring fee, anything billed on a repeating schedule rather than once.

Who this is for

  • Any business with recurring revenue: maintenance contracts, service retainers, equipment rentals, membership fees, monthly support plans — anything billed on a repeating schedule instead of a one-time invoice.
  • Teams still tracking recurring customers in a spreadsheet and manually creating each month's invoice, one missed or late cycle away from an awkward call.
  • Businesses that need real deferred-revenue accounting — recognizing a prepaid or multi-month contract's revenue gradually as it's earned — rather than booking the full amount the moment it's billed.
  • Service and job-based businesses (see the Leads, Quotations & Job Conversions guide) that sell an ongoing plan alongside, or instead of, one-time job work.

Subscriptions & Recurring Billing — the main screen

drop a screenshot at assets/screenshots/guides/subscriptions-recurring-billing.png to replace this

1. CREATING A SUBSCRIPTION

Three ways in, all landing on the same subscription form:

  • Subscriptions > New Subscription — a blank form.
  • The same New Subscription form's own "Start from a Service Template" search — pick a saved template (see the Service & Job Templates guide) and a quantity, and its default line items and Cost Lines copy in, scaled by that quantity, the same way a Quotation or Job can start from a template. The template itself is never changed.
  • A "Start a Subscription" button on a Job or on a Service Template's own Use picker — pre-fills the customer/context (and, when starting from a Job, that Job's own Assigned To employee and Location too — see below) and lands you on the same New Subscription form to finish.

The form captures:

  • Plan Name and Customer (typeahead against your existing contacts, with an inline Add New Customer shortcut if they're not on file yet).
  • Location, shown only for multi-location businesses.
  • Assigned To — optional, the Employee (from Employees, not a login account) responsible for this plan, the same Assigned To concept every other stage in this pipeline uses — see the Leads, Quotations & Job Conversions guide's "Assigned To" section for the full detail on how this works app-wide.
  • Billing Cadence — Weekly, Monthly, Quarterly, Semi-Annual, Annual, or a Custom "every N days/weeks/months/years."
  • Start Date, and an optional End Date (leave blank to run indefinitely until manually cancelled).
  • Invoice Lead Days — generate each cycle's invoice this many days ahead of the period it actually covers, so it reaches the customer with time to pay before the period starts.
  • Auto-Invoice — on by default; turn off to keep the plan on record without the billing process touching it.
  • Revenue Recognition — Immediate (the full amount is recognized the moment it's billed) or Deferred / Straight-Line (spread evenly across the period the invoice covers — see section 3).
  • Proration — None (always bill a full period) or Daily (prorate the final partial period when the plan's End Date cuts a cycle short).
  • Payment Terms — sets the due date on every invoice this subscription generates.
  • Dunning Grace Period (days) — optional, overrides the business's own default (Settings, section 5) for just this one subscription.
  • Remarks.
  • An Items grid — billed every cycle, same item search used on Quotations/Jobs.
  • An optional Cost Lines section — recurring vendor/supplier costs (shipping, hosting, a licensing fee) tied to fulfilling this subscription, each markable Invoiceable (bills the customer, folds into the invoice total) or kept as internal cost/margin reference only, the same Cost Lines pattern Quotations and Jobs already use.

2. THE BILLING CYCLE, STEP BY STEP

A background process runs on schedule and, for every Active subscription with Auto-Invoice on, generates the next real Invoice (Invoice Lead Days ahead of the period it covers) for that cycle's items and Cost Lines, then advances the subscription forward to its next period.

  • Periods are always contiguous from the last one billed, never reset to a calendar boundary — a plan that started on January 15th monthly still bills February 15th, March 15th, and so on.
  • If a plan has an End Date and the next period would run past it, that final period is either prorated down to just the remaining days (Proration = Daily) or the plan simply stops billing at the boundary (Proration = None, the default) — either way, the subscription is automatically marked Expired once its last billable period has been invoiced.
  • Every invoice this process creates is a completely normal Invoice afterward — it posts to the ledger, shows on the customer's Invoices tab, and can be paid, printed, or adjusted exactly like any invoice created by hand.

3. REVENUE RECOGNITION

Two modes, chosen per subscription (with a business-wide default — see section 5):

  • Immediate — the invoice's full amount is recognized as revenue the moment it's billed, same as any ordinary invoice.
  • Deferred / Straight-Line — the invoice's amount is recognized gradually as its period actually passes, a proportional slice at a time, rather than all at once on the billing date. This is the correct accounting treatment for a plan that bills, say, a quarter up front but earns that revenue day by day across the quarter — the books reflect revenue as it's actually earned, not as it's collected.

4. STATUS LIFECYCLE

Subscription status lifecycle
stateDiagram-v2
  [*] --> Active
  Active --> Paused: Pause / Dunning auto-pause
  Paused --> Active: Resume
  Active --> Cancelled: Cancel
  Paused --> Cancelled: Cancel
  Active --> Expired: End Date reached
  Cancelled --> [*]
  Expired --> [*]

Active (default on create) -> Paused (manual, via the Pause button — or automatic, see dunning below) -> Resume back to Active at any time -> Cancel (from Active or Paused) -> Cancelled, terminal: stops all future billing immediately, and a cancelled subscription can never be edited or reactivated. Existing invoices and any GL entries already posted are left exactly as they are — cancelling stops what's ahead of it, it doesn't undo what's already happened. -> Expired, terminal: set automatically once a plan with an End Date reaches it and has no further period left to bill (see section 2) — not something you set manually.

Cancel specifically requires Delete rights on the User Permissions grid, the same "Cancel behaves like removing something from the active pipeline" convention Leads/Quotations/Jobs already use (see the Leads, Quotations & Job Conversions guide); Pause, Resume, and everyday edits need only Edit rights.

5. DUNNING — AUTO-PAUSE ON AN UNPAID INVOICE

A separate background process checks every Active subscription's most recently billed invoice. If that invoice is still unpaid once the Dunning Grace Period has passed (the subscription's own override if it has one, otherwise the business-wide default), the subscription is automatically paused — no further invoices are generated until someone resolves the balance and manually Resumes it. This is purely a status action: it never touches the ledger or reverses anything already posted, it just stops the plan from digging a further hole while payment catches up. If you Resume a subscription and its triggering invoice is still unpaid by the next dunning run, it will be paused again.

6. SEND TO CUSTOMER

From a subscription's detail page, Send to Customer emails (and/or texts, per the business's notification-channel settings) the customer a secure link to a read-only portal page showing their plan's cadence, dates, and totals. There's no self-service cancel or pause exposed there by design — changing a subscription's status stays a staff action.

7. THE SUBSCRIPTIONS LIST

Subscriptions > (list) shows every plan with its customer, cadence, revenue recognition method, amount, next invoice date, and status, filterable by status and searchable by plan name, number, or customer. A Columns button opens the same show/hide checklist every other Services list has (Leads/Quotations/Jobs/ Templates) — 8 toggleable columns (Subscription, Customer, Cadence, Revenue, Amount, Next Invoice, Status, Actions) — and remembers your choice on that device.

8. CONTACTS -- THE CUSTOMER'S OWN SUBSCRIPTIONS TAB

A customer's profile page has a Subscriptions tab alongside its Orders/Invoices/Quotations/Jobs tabs (shown only when Subscriptions & Recurring Billing is turned on), listing every plan that customer is or was on with status and totals — so a rep can see a customer's recurring commitments in the same place as their one-time purchase history.

9. SETTINGS & PERMISSIONS

Settings > Sales > Services > Subscriptions & Recurring Billing — on/off, default off, independent of the Services (Quotations & Jobs) toggle: a business can run recurring billing without the wider Quotation/Job pipeline turned on at all, or vice versa. The same section holds five business-wide defaults that pre-fill every new subscription (each still overridable per subscription):

  • Default Billing Cadence
  • Default Revenue Recognition
  • Default Invoice Lead Days
  • Default Proration
  • Dunning Grace Period (days)

Per-user access is its own row on the User Permissions grid ("Subscriptions"), with the standard View/Add/Edit/Delete columns, independent of the Leads/Templates/Quotation/Job rows next to it.

10. HOW IT CONNECTS TO THE REST OF THE SYSTEM

  • Invoicing & the General Ledger — every invoice a subscription generates is a real Invoice that posts to the same ledger as any other, and Deferred/Straight-Line plans post their revenue recognition entries there too as each period earns out.
  • Service & Job Templates — a subscription can start from a saved template's default line items/Cost Lines instead of being built from scratch, exactly like a Quotation or Job can.
  • Leads, Quotations & Jobs — a Job can hand off directly into starting a Subscription for ongoing work that follows a one-time job, without re-entering the customer or line items (and carries its own Assigned To employee across automatically — see section 1).
  • Contacts (Customers) — every subscription is tied to a resolved customer contact record and shows up on that customer's own Subscriptions tab (section 8).
  • Billing & Subscription Management (a different feature — see that guide) — that one covers your OWN plan with Cash Flow Inventory, not the recurring plans you sell to your customers here.
  • Reports Hub — the Subscription Revenue (MRR) report reads from this same data: active MRR, MRR lost to cancellations, and estimated ARR (see the Reports Hub guide).

11. WHY IT SCALES FROM SMB TO ENTERPRISE

01

Small business

Turn it on for the handful of customers on a standing monthly arrangement, and stop manually re-creating the same invoice every cycle.

02

Growing business

Cost Lines and revenue recognition mean recurring plans with real vendor costs behind them (a hosted service, a supplied consumable) still book margin and revenue correctly, not just top-line billing.

03

Enterprise

Automated dunning keeps a large recurring-revenue book from silently accumulating unpaid, still-billing plans, deferred revenue recognition satisfies real accrual-accounting requirements for prepaid/multi-period contracts, Assigned To gives every plan a real owner for accountability, and per-user permissions plus bulk-friendly list tooling (Columns, filtering, search) let a dedicated billing/success team manage hundreds of plans without opening each one to check its state.

Quick Reference

Quick reference — where things live
  Subscriptions list ........................ Services >
                                             Subscriptions
  New Subscription ........................... Subscriptions > New
                                             Subscription
  Start from a template .................... New Subscription form >
                                             "Start from a saved template,"
                                             or a Template's own Use picker
  Start from a Job ........................... Job detail page > Start
                                             a Subscription
  Pause / Resume / Cancel ................. Subscription detail page
  Send to Customer ............................ Subscription detail page
  Customer's own subscriptions ....... Customer profile > Subscriptions
                                             tab
  Show/hide list columns ................ Columns button above the
                                             Subscriptions list
  Turn Subscriptions on/off, and its
  billing defaults ................................ Settings > Sales >
                                             Services >
                                             Subscriptions & Recurring
                                             Billing
  Per-user access ............................ Settings > Users > [user] >
                                             Permissions > Subscriptions row

See this running in your own account

Free to start, no credit card required — most businesses are set up and creating real records within minutes.

Create free account