Bills know which cycles a price change actually applies to.
- Fixed: a scheduled price change was ignored by every projection. A bill repricing on
15 Aug whose next payment is not until 8 Oct was still shown, totalled, and projected at
its old price — the new amount only took effect once the change date passed, regardless
of whether any payment remained at the old price. Per-month/per-year totals, the runway
target and "due next 30 days" now price each cycle at what will actually be charged.
Logging is deliberately unchanged: Log now and auto-log still use today's price, since
a payment made today is charged today's price. - Fixed: a bill with an End Date or Payments Left was projected past its own end in the
runway and due-within windows. - Upcoming-payments preview in the edit-bill dialog. The next eight cycles are laid out
with the price each one will be charged at, the first repriced cycle highlighted, and a
plain-language summary ("3 more payments at $89.00, then $66.50 from 10 Nov 2026"). It
updates as you type, so a change date set a few days either side of a due date shows its
consequences before you save. - Payment calendar in the recurring-payments block: a month grid of when bills actually
land, built like the trip planner's planned-expenses calendar — dots per bill, daily totals,
click a day for the detail. Overdue, normal and repriced payments are dotted differently.
Weeks with nothing due are skipped. 1 month / 3 months / 12 months buttons switch the
horizon for the session, Settings → Dashboard → Payment calendar range sets the default,
andmonths:in the block config pins it per note. - The 12-month range gets its own compact view. A year of week grids is 52 stacked rows —
the same information, unreadable. At twelve months the calendar switches to a month-per-row
heat grid: one line per month, one small cell per day-of-month, shaded in four bands by that
day's total, with the month's total down the right-hand side. Because bills recur on the same
day each month, the vertical stripes are the pattern — the 9th and the 14th being heavy
every month reads in one glance. Repriced and overdue days keep their own colour, and clicking
any cell opens the same day detail. - Fixed: skipping a cycle could invent a bill called "Skipped This Cycle". When a bill's
tag carried no item name, Skip cycle wrote a bare#log/spending/subscriptions/monthly
line, and the next parse — having no name to go on — named a bill after the marker's own
note text. Skipping that wrote another nameless line, so the ghost renewed itself every
cycle. A $0 line is now only ever a skip marker for a bill that already exists, and the
skip line always names its bill. - The bill row now leads with what the next payment costs, and says how many cycles remain
at the old price rather than only naming the change date.
Two new capture methods, and the ability to run them all at once.
- Batched queue.
obsidian://finance-capture?lines=…accepts a whole queue of
transactions in one open, so an Apple Pay automation can accumulate spending on the phone
all day and flush it with a single app switch instead of foregrounding Obsidian on every
tap. Each line is parsed independently — one bad line lands inInbox/_failed/with the
reason and never costs you the rest of the batch. - GitHub gist capture. The phone appends a capture line to a private gist and the plugin
polls it, logs what's waiting, and clears it. This is the only method that captures without
opening Obsidian and works on an Obsidian Sync vault — and the only one that works from an
Apple Watch. The drain re-reads before clearing, so a transaction added mid-sync is
preserved; if the gist was rewritten underneath it, it is left alone and says so rather than
destroying captures. - Capture methods can be switched on and off individually (Settings → Capture methods) and
are designed to run together. Quick add and hand-typed bullets always work and have no toggle. - Cross-method duplicate detection. The same purchase arriving by two different methods is
logged once. Detection compares amount + date + merchant, but only ever across different
methods orsource=values — so two identical coffees down the same pipe are still two
entries, while one Coles charge seen by both the ANZ automation and the Wise sync is one.
Configurable as skip / warn / off, with a duplicate window (1 day by default) for feeds that
settle late. Quick add is exempt: it has its own pre-submit warning, so pressing the button
always logs. - Overlap report. Settings shows which pairs of capture methods have actually been logging
the same transactions, with a Check capture methods for overlap command for the detail —
measured from what happened rather than guessed from what each Shortcut is meant to cover. - Sync capture gist now command.
- README documents both new methods with Shortcut recipes, and adds an (explicitly untested)
Android section covering Tasker / MacroDroid / HTTP Shortcuts equivalents.