Varun Lakshmaiah68 downloadsTrack subscriptions, free trials, and recurring payments. See what renews next, get reminders before trials charge, and view spend across 32 currencies.
Track subscriptions, free trials, and recurring payments inside your Obsidian vault.
See what renews next, catch trials before they charge, and know where the money goes.
Subscription apps want an account and your bank login. Renewals keeps everything in your vault, works offline, and opens on the one question that matters: what is about to charge me?
The dashboard leads with what's due in the next 7 days, beside your monthly, annual, and saved totals. Trials ending within 14 days sit in their own row, followed by the next five charges as coupons showing the amount, date, billing cycle, and payment account.
Every subscription is listed below, sorted by next charge and stamped by state:
| Stamp | Meaning |
|---|---|
TRIAL |
A free trial that will convert to paid |
PAID |
Charged in the last 3 days |
LIFETIME |
A one-time purchase |
HELD |
Paused |
VOID |
Cancelled, kept for your records |
Search by name, plan, notes, or account; filter by next 7 days, this month, next month, active, trial, lifetime, or void and held; sort by next charge, amount, or name. Right-click (or long-press on mobile) any subscription to edit, duplicate, pause, cancel, reactivate, or delete it. Cancelling and deleting can be undone from the notice.
See where the money goes by category and by payment method, monthly or annual. Set an optional monthly budget and the monthly figure turns orange at 90% and red when you go over.
When your vault opens, Renewals lists the charges and trial conversions coming up within your chosen window (1, 3, 7, or 14 days). It shows once a day, and you can turn it off.
Add a renewals code block to a note, such as your daily note, to see what's renewing soon. It updates whenever your subscriptions change, and each row opens that subscription for editing.
```renewals
days: 7
```
days is optional and defaults to 7.
Record the name, website, plan, category, amount and currency, billing cycle, status, next charge or trial end, payment method and account, and notes. Changing the amount logs the old and new price automatically.
The layout adapts to the width of the pane, not just the screen, so it works in a sidebar, a split, or on your phone. Buttons grow to comfortable touch targets on narrow screens.
Everything is configurable from the Settings tab inside the dashboard, or from the plugin's entry in Obsidian's settings.
| Command | What it does |
|---|---|
| Open dashboard | Opens Renewals in a tab |
| Add subscription | Opens the add form |
| Show what renews this week | Opens the dashboard filtered to the next 7 days |
| Show renewal reminders | Shows the reminder notice now |
| Export backup (JSON) | Saves every record and rate to your export folder |
| Export spreadsheet (CSV) | Saves a CSV to your export folder |
| Import backup | Restores from a JSON or CSV file in your vault, merging or replacing |
| Roll overdue renewal dates forward | Moves passed auto-renew dates to the next cycle |
main.js, manifest.json, and styles.css from the latest release.<your vault>/.obsidian/plugins/renewals/.Open it from the ribbon icon or the command palette.
Your subscriptions are stored only in this plugin's data file inside your vault. There is no account, no telemetry, and no analytics.
Renewals makes two kinds of network request:
The plugin needs no build step or runtime: main.js and styles.css are the shipped files. The steps below are only for working on the code.
To use the browser preview and tests, serve the folder with any static file server (browsers block these pages when opened straight from disk), for example:
git clone https://github.com/varunlakshmaiah/obsidian-renewals.git
cd obsidian-renewals
python3 -m http.server 8765 # or: npx serve -l 8765
To try changes in Obsidian, symlink or copy the repository into <vault>/.obsidian/plugins/renewals/ and toggle the plugin off and on.
Found a bug or have an idea? Open an issue.
MIT © Varun Lakshmaiah