What we shipped

Changelog

Ship small, ship often, write it down. New features and fixes land every week.

feature

Deadline reminder emails

One email when an applicable deadline lands 30, 7, or 0 days out. The cron checks every corporation daily, computes the deadlines that match the corp's filing profile, and sends a single bundled email per corp. Skips ones that don't apply (no payroll = no T4 reminder). Toggle and override email address sit in Settings → Company. Cron is idempotent so a retry on the same day never double-sends.

feature

Filing profile drives the Tax Calendar

Settings → Company now asks five questions: GST or HST registered, PST registered, pays employees, pays dividends, and Quick Method GST election. The Tax Calendar filters out deadlines that don't apply (no payroll = no T4 row, not GST registered = no GST quarterly), Stage and Reports show a banner when GST is on and unregistered values appear, and Quick Method registrants see a one-line disclaimer in three places that the per-entry GST split is the regular-method math.

feature

Ledg AI cleans vendor names and proposes categories

When a transaction lands in Stage, Ledg AI normalizes the cryptic bank descriptor into a readable vendor name and proposes a category from your CCPC chart of accounts. "SQ *DARK HORSE NEW WESTM BC" arrives as "Dark Horse Coffee" coded to 5350 Meals and entertainment. You confirm every commit, suggestions are remembered per vendor, and the model never posts to the ledger on its own. Available on Free and Solo at no extra cost.

feature

Bank sync, live for real Canadian banks

Plaid is live in production. Connect any Canadian institution from Stage and transactions sync over OAuth straight through your bank, not through us. Big-5 (RBC, TD, Scotia, BMO, CIBC) and major credit unions supported on day one. Transactions land in Stage minutes after they post.

feature

Disconnect a bank in one click

Connected banks list now has a Disconnect button on every row. We tell Plaid to revoke access, delete the bank rows we received but you never moved into the ledger, and keep the entries you already promoted. CRA still expects six years of promoted entries, so those stay where they are.

polish

Reconnect after a bank password change

Change your bank password and the connection turns amber with a Reconnect button. Click it, sign in again inside Plaid, and sync resumes where the cursor was. No re-import, no duplicate entries.

polish

Privacy policy: dedicated banking section

/privacy now lists Plaid as a sub-processor with the data we receive, where it lives, and the exact steps to revoke and delete it. Same flow already in Stage, written down for the policy.

feature

Share your books with your accountant

Settings has a Sharing tab that invites a CPA by email. They get read-only access to your ledger, statements, and reports without creating their own corporation. You set the access window. Every action they take is captured in the audit log.

feature

Activity log for shared access

Settings → Activity shows who viewed which page when, scoped to the accountants you invited. Statements exports and ledger views are captured with metadata so you have an audit trail before tax season.

polish

Edit a registered corporation

Settings → Company can now edit the corporation profile (name, BN, fiscal year-end, province) after registration, instead of forcing a delete-and-readd. Reconciliation history and ledger entries stay attached.

polish

Handoff pack is now free

Generating the year-end handoff bundle for your accountant no longer requires a paid plan. Free tier ships with the same trial balance, GST split, and source-document index that the Solo plan does. Free and Solo are now feature-identical apart from the 100-entry cap.

polish

Page for your accountant

/accountants explains what Ledg does, why we don't pay commissions, and how share access works. Send the link instead of the pitch deck.

feature

Subscriptions on a live billing engine

Stripe is fully wired for paid plans. Custom Payment Element keeps checkout inside the app, a 24-hour grace window auto-refunds accidental signups, and the invoice portal at /billing has receipts and payment history.

feature

/future

Where Ledg is going, written down. The product manifesto, the principles we are not breaking, and the trade-offs we are making to keep $9/month sustainable for incorporated owners.

polish

Landing page voice tightened

Hero, features, and pricing rewritten in declarative, nouns-first voice. Less marketing fluff, more concrete claims. The first SEO blog post on Bench refugees ships alongside.

feature

#0042 codes on every ledger entry

Every committed entry gets a short code assigned at commit time. Short form #0042 shows on ledger rows; full form 2026-0042 flows through CSV export and cross-year references. Numbers reset every calendar year and never reuse after delete, so a reference stays stable for your CPA conversation.

polish

Non-blocking duplicate warning

Committing from Stage no longer pops up a confirmation when another row shares the same account, amount, and date. The amber Possible duplicate badge stays on the card as a visual signal. The 8-second undo banner is the safety net now, so two same-day coffees commit without a dialog fight.

polish

Longer undo window

The post-commit undo banner now stays for 8 seconds instead of 5. Long enough to catch on a normal scan, short enough to still feel ephemeral.

feature

Add CRA deadlines to your calendar

The Deadlines page now exports an .ics file that imports cleanly into Google Calendar, Apple Calendar, and Outlook. Each deadline gets a 7-day and a same-morning reminder so CRA dates live where you already check your schedule.

polish

? keyboard shortcut + shortcuts list

Press ? anywhere in the dashboard to open the command palette, in addition to the usual ⌘K. A new Keyboard group inside the palette shows the bindings so you never have to leave the palette to learn them. Windows users whose browser intercepts Ctrl+K now have a reliable fallback.

polish

Changelog RSS feed

Subscribe to ledg.ca/changelog/feed.xml in any newsreader to follow ship notes without checking the site. The GUID is the permalink hash so entries dedupe cleanly across fetches.

fix

Cash and credit, split

Cash on hand now sums only chequing and savings. Credit cards and lines of credit surface as a separate Credit owed chip so the balance-sheet split is visible instead of the liabilities silently inflating the hero number.

feature

Search or jump

The command palette has always been wired to ⌘K. Now the sidebar shows a visible trigger so mouse users discover it and keyboard users see the shortcut. Click or ⌘K to jump anywhere in seconds.

feature

Review zone in Stage

Waiting entries with a learnt vendor rule land in a new middle zone with an Accept all button. Needs-you narrows to decisions that actually need thinking. Bulk-confirm ten recurring vendors in one gesture.

feature

Pulse heartbeat

Cash on hand, this month net, runway, and net GST owing sit at the top of Pulse as four living cards. Each card shows a month-over-month delta so the page reads the way you actually ask it.

feature

Cash on hand hero

Overview leads with a single number your 1-person corp actually asks first. Needs-you actions move up; tax position collapses into a disclosure below.

fix

CRA weekend roll-forward

Every tax deadline now rolls to the next business day when it lands on a weekend or federal holiday. No more Saturday overdue badges for filings that are actually open Monday.

feature

Reconciled months rail

A six-month strip above each account's ledger colours matched, gap, broken, and never-reconciled months. Click a month to prefill the reconcile footer with its last day.

feature

Inline row edit in Ledger

Vendor, description, and category edit in place on any ledger row. Reconciled rows stay locked. A right-side sheet handles amount and date changes with an explicit break confirmation.

feature

Partial GST solver

Mixed-taxability receipts (groceries plus household goods, meals plus alcohol) now take a taxable portion in a small popover and compute GST against only that slice. No more over-claiming ITC on zero-rated lines.

feature

Opening balance guard

Changing opening balance now checks your reconciliation history first. Silent save when nothing is at risk. Warning when a single month reconnects. Type BREAK when matched anchors would snap, and the broken anchors stay as an audit trail.

feature

Ledger filter bar

Account, category, date, and search filters sit above the ledger with chip pills and URL state sync, so a filtered view is shareable.

feature

GST and PST split out

Entries carry GST and PST as separate fields. GST is required to commit; PST is optional and province-aware. No more one-blob tax column.

feature

Mobile first pass

Stage, Overview, Ledger, and Settings now lay out cleanly at 375px. QuickEntry, bank connections, and reconciliation dialogs stack for thumb-reach.

feature

Feedback widget on every page

A floating feedback button sits in the corner of the dashboard. Send a note, screenshot, or bug report without leaving what you were doing.

feature

Opening balance + reconciliation trail

Set an opening balance per account and match a statement at month-end. Each match saves as an anchor with bank, ledger, and off-by figures so your CPA gets an audit trail.

feature

Plaid bank sync

Connect a Canadian bank and transactions land in Stage automatically. Three-tier dedup keeps bank rows and manual entries from doubling up.

feature

Canadian corporate accounting handbook

154 cited entries covering federal, BC, and Ontario corporate accounting. Linked inline across the product so the definition shows up where you need it.

feature

Books in the cloud

Every corporation, account, and entry now lives in a Canadian Supabase region instead of local storage. Sign in anywhere, your books follow.

feature

Vendor rules

Ledg learns the category you pick for a vendor and suggests it the next time that vendor shows up in Stage. Edit the rules any time from Settings.

feature

CSV bank import

Drag a CSV from your online banking portal onto Stage. Ledg parses the columns, skips duplicates, and queues every row for review.

feature

Command palette

Press ⌘K anywhere in the dashboard to jump pages, search entries, or run actions without touching the mouse.

feature

Pulse

A P&L summary and month-by-month charts for your corporation. Read where revenue is coming from and where expenses are leaking without cracking open a spreadsheet.

feature

Canadian tax calendar

Corporate tax deadlines by province and fiscal year end: GST instalments, T2, T4, T5, and provincial filings. Overdue and due-soon states on every row.

feature

Ledger

Commit entries from Stage and they join a permanent ledger you can scan, filter, and export to CSV. Your CPA gets the clean file, you keep the history.

feature

Stage

The fast entry queue. Drop in a transaction with a vendor and amount; come back later to categorize. Bookkeeping, staged like a Git commit.

One more sheet off your plate.

Ledg keeps shipping so you do not have to chase spreadsheets. Free up to 100 ledger entries.

Start free
Changelog | Ledg