Subscriptions track anything that recurs on a schedule — SaaS, recurring bills, or recurring income like retainers. Each subscription has a type — expense (the default) or income — and every renewal posts a transaction of that type automatically, showing on the Calendar. The same renewal is never posted twice.
What you can do
Browse everything on the Subscriptions page, which shows stats cards and filters, and add a new subscription at any time. Open a subscription to edit it, or pause it by toggling Active off.
You can update many subscriptions at once on the bulk-edit page (see Bulk edit), bring entries in from a file via import (see Import CSV), and download your data from the exports page (see Export data). To see what your subscriptions cost normalized to a monthly or yearly basis, open Subscriptions insights.
Fields you fill in
- Name — required service or product name, up to 255 characters.
- Cost — required, non-negative number.
- Type —
incomeorexpense; defaults to expense. Determines the type of the transaction each renewal posts. - Billing period — required:
weekly,monthly,quarterly, oryearly. - Billings per period — a whole number from 1 to 52; defaults to 1. Use 2, for example, to post twice per period.
- Billing date — required anchor date. The next renewal is calculated from this, and each renewal moves the anchor forward.
- Currency — defaults to your workspace currency.
- Notes — optional, up to 10,000 characters; shown as a gray subtitle on the list.
- Active — a toggle, on by default. Only active subscriptions renew.
- Tags — optional.
Subscriptions don't have a client field — they stand on their own.
The list
The list shows these columns:
- Service — the name; notes appear as a secondary line.
- Cost — formatted currency with aligned decimals, colored green for income and red for expense.
- Type — an income or expense badge. Hidden by default; turn it on from the column picker (see Customizing columns). Hidden on narrow screens.
- Period — the billing period label (hidden on narrow screens).
- Status — an active or inactive badge.
- Billing date — the next renewal. It turns yellow while a renewal is still coming up this calendar month, and red once the billing date has passed without the renewal posting. The row carries a matching colored accent on its left edge.
- Tags (hidden on narrow screens).
In the default order the list reads as four blocks, each opened by a heavier line: everything due this calendar month (overdue renewals included, since they are still owed), then next month's renewals, then everything further out, and finally the paused subscriptions. Sorting by any column removes the separators, since the blocks no longer run in order.
You can filter by name, billing period, status, tags, and a "due this month" flag. Four stats cards sit at the top, each split into an income row and an expense row: the number of active subscriptions, the total due this calendar month, the total due next calendar month, and the monthly-equivalent cost (annual totals divided by 12). The first two are clickable and filter the list; the monthly-equivalent card links to Exchange rates, which is what converts the per-currency totals into your display currency.
Workflows
Add a subscription
- Open the new subscription form.
- Enter the name, cost, billing period, billings per period, and billing date.
- Pick a currency, optionally record tax (see below), and optionally add notes and tags.
- Save. It's active by default and will renew at the next scheduled date.
Pause a subscription
Toggle Active off. The subscription stays in the list (and you can still filter for it), but it won't renew. Toggle it back on to resume.
Bulk edit
Edit any of: name, cost, tax rate, type, billing period, billings per period, billing date, currency, tags, and active. Fields you leave alone stay untouched. Clearing the tax rate on a row removes its split.
Delete a subscription
Use the Delete button on the subscription's edit page, then confirm. Deleting a subscription doesn't remove the renewal transactions it already posted — those stay in your books.
Recording tax
If a subscription's price includes VAT or sales tax, tick Split cost into net and tax on the form and enter the rate. The cost itself never changes — it stays exactly what the vendor charges you. The split only says how much of that cost is tax, so a €121/month tool at 21% is recorded as €100 net plus €21 tax.
Only the rate is stored. The net cost and tax amount you see beside it are calculated from the cost and the rate, which is why they're read-only. A rate of 0 is a real value, meaning "this one is explicitly untaxed" — different from leaving the box unticked, which means you're not tracking tax on it at all.
Two things follow from setting a rate:
- Renewals post a split transaction instead of a gross one, so the expense arrives in your books already broken down and shows up correctly under the transactions Net and Tax views.
- Subscriptions insights can be flipped between Gross, Net and Tax.
Leaving the box unticked keeps everything exactly as it was: renewals post the full cost as a single un-split expense.
How renewals work
When a subscription is active and its billing date arrives, Ceum automatically posts a transaction for it — an expense for expense subscriptions, income for income subscriptions. The transaction is dated on the renewal day, described as <service> (<period>), and uses the subscription's cost and currency. If the subscription has a tax rate, the posted transaction is split into net and tax — the total still equals the cost exactly. Then the next billing date moves forward by one period.
The same renewal is never posted twice. If a subscription was missed for a while — say it sat idle for three months — Ceum catches up by posting each missed renewal in date order, so you'll see three separate transactions rather than one merged charge.
Calendar visibility
Subscriptions show as renewal chips on the Calendar when "Show subscription renewals" is turned on in calendar settings (it's on by default). You can change the chip color there too.
Import and export
- Import — accepts CSV, XLS, or XLSX files. Columns: Service, Tags, Cost, Tax Rate, Type, Currency, Billing Date, Period, Times per Period, Active. Type is optional and accepts
incomeorexpense; a blank cell defaults to expense. Tax Rate is optional too — a blank cell means no split, and a value must be between 0 and 100. A row that already matches an existing subscription updates it; otherwise a new one is created. - Export — CSV, XLS, or PDF. Columns: service, tags, cost, tax rate, net cost, tax amount, type, currency, date, period, times per period, active. The nine original columns are selected by default; the three tax columns are available but off, so an export looks the same as before unless you ask for them. Net cost and tax amount are calculated for export and can't be imported back — bring the tax rate and Ceum re-derives them.
Tips and edge cases
- No client link. If you need a client view of recurring revenue, use a Tag per client.
- Past renewals are settled. Once a renewal has been posted, editing the subscription doesn't retroactively change transactions that already happened.
- Pausing doesn't delete history. Prior renewal transactions remain in your books.
- Catch-up runs in date order. A subscription idle for three months produces three transactions, not one merged charge.
- A tax rate only affects future renewals. Transactions already posted keep whatever split they had when they were written.
- The split never moves the price. Ticking the box reinterprets the cost; it never adds tax on top or subtracts it.
On mobile
- Native pickers — cost and tax rate use the numeric keypad, the billing date uses the platform date picker, and type and status are segmented toggles.
- Read-only when offline — you can browse and open subscriptions offline, but creating one is disabled until you reconnect. See Offline support.
- Renewals still post automatically server-side, exactly as on web; bulk edit and import/export run from the web app.