Changelog
What's new
Every update, improvement, and fix — documented as we ship. We release new versions every 1–2 weeks.
v1.6.0
MinorApril 4, 2026Recurring Invoices — automatically generate invoices on a configurable schedule with optional auto-send.
Recurring Invoices module: create templates that automatically generate invoices on a set frequency — every hour, day, week, 15 days, month, 6 months, or year.
Each template supports a start date, optional end limit by date or invoice count, and a due-date offset (e.g. net 30 days).
Send Automatically toggle: when enabled, the generated invoice is emailed to the customer immediately upon creation with a secure view link.
Template status lifecycle: Active, On Hold (paused manually), and Completed (set automatically when a limit is reached).
Edit page shows all previously generated invoices for a template with direct links to the invoice detail.
Dedicated sidebar menu item under Invoices, with its own IAM permissions (view, view-prices, create, edit, delete).
Server-side cron job fires every hour via Next.js instrumentation, processes due templates, copies line items, and advances nextRunAt automatically.
v1.5.2
PatchApril 2, 2026Marketing navbar now includes a cleaner authenticated user menu across desktop and mobile.
Public marketing pages now show an authenticated user dropdown in the top navigation, including quick access to the active workspace and sign out.
The user menu was adapted for both desktop and mobile layouts, with a more compact trigger and a mobile-friendly dropdown offset.
Dropdown layering and background styling were adjusted so the menu now renders cleanly above the navbar on changelog and other marketing pages.
v1.5.1
PatchApril 2, 2026Tasks workflow polish, richer notifications, and billing checkout improvements shipped together today.
Add Task and Edit Task now open in dedicated right-side drawers instead of centered dialogs, making it easier to work without losing board context.
Linked invoices and estimates from tasks now open in a second side drawer when selected, creating a clearer layered workflow for reviewing related documents.
Task drawers are wider and now include explicit close buttons in the header for faster navigation and a more app-like editing flow.
Linked task document currency payloads are now aligned with the shared CurrencyFormat contract, resolving production type-check failures during build.
Tasks and workflow automations now support linked invoices and estimates, so follow-up work can keep a direct connection to the related document.
Notification settings and event handling were expanded with new outbound emails for estimate status changes, overdue invoices, and received payments.
Public invoice PDF route added, making invoice PDFs available directly from the client-facing public flow.
Stripe subscription checkout now supports organization currency and promotion codes during checkout creation.
Subscription checkout routing now uses the correct cancel URL and a shared base URL helper for a more reliable post-checkout success flow.
v1.5.0
MinorApril 1, 2026Per-module price visibility permissions — hide monetary amounts from team members on a per-module basis.
Six new per-module permissions — invoice:view-prices, estimate:view-prices, expense:view-prices, item:view-prices, payment:view-prices, and dashboard:view-prices — assignable independently per role.
Monetary fields are stripped server-side when a member lacks the corresponding permission — the API never returns price data to unauthorized users.
Price columns, financial stat cards, revenue charts, and top-customer sections are hidden from the UI for members without view-prices permissions — no empty columns or zero placeholders.
Create and edit permissions automatically include the corresponding view-prices dependency — members with write access always see the prices they are editing.
v1.4.0
MinorMarch 29, 2026Subscription payment reliability — retry flow, payment banners, and status-aware plan gates.
PlanGate and usePlanCheck now correctly block paid-plan features when the subscription status is incomplete, incomplete_expired, canceled, or paused — previously the plan field alone was checked, allowing access before payment was confirmed.
Global payment alert banner in the app shell: a persistent amber banner appears on every page when the subscription is past_due or unpaid, with a direct link to fix the payment.
Billing settings page now shows a dedicated payment failure section when the subscription is past_due or unpaid, with a one-click button to open the Stripe billing portal and update the payment method.
Webhook handler for checkout.session.expired: when a user abandons a checkout session and the 24-hour Stripe window closes, the subscription status is automatically updated to incomplete_expired so the UI can show a clear retry prompt.
v1.3.0
MinorMarch 26, 2026Live dashboard with KPIs, revenue chart, pending documents, and activity feed.
Dashboard now shows real data: total customers, open estimates, open invoices, and revenue for the current month.
Revenue area chart for the last 12 months directly on the dashboard, with a link to the full reports page.
Pending estimates panel: lists all estimates with SENT or VIEWED status awaiting client response.
Invoices needing attention panel: lists SENT, VIEWED, OVERDUE, and partially paid invoices.
Recent activity feed: last 8 events across estimates, invoices, and payments — with relative timestamps and contextual icons.
KPI cards are now clickable links that navigate directly to the relevant section.
v1.2.0
MinorMarch 26, 2026PDF export, reports & analytics, notification emails, and settings routing.
PDF export for estimates and invoices — download from the admin detail pages or directly from the public client-facing page.
Reports page (/app/reports) with revenue vs expenses bar chart, estimate and invoice status pie charts, and top 5 customers by revenue.
Period selector on reports (3, 6, or 12 months) for revenue, expenses, and top customers.
Notification emails: owners receive an email when a client views an estimate or invoice for the first time. Configurable per toggle in Settings → Notifications.
Settings home page now redirects directly to Company Settings instead of showing a stub screen.
Removed dead 'Customization' link from settings sidebar (section was not yet implemented).
v1.1.0
MinorMarch 26, 2026Redesigned public estimate page — professional document layout, all attachments visible, sticky approve/reject bar.
Public estimate page fully redesigned: clean document-style layout with clear typography hierarchy, summary cards, and a branded footer.
All attached files are now always visible to the client on the public estimate page — no more per-file visibility toggle.
Attachments displayed as a responsive card grid with image thumbnails, file icons, names, sizes, and direct download links.
Approve / Reject actions moved to a sticky bar at the bottom of the screen — always accessible without scrolling.
Notes on the public page now render rich text (HTML) instead of plain text, matching what was written in the editor.
Rejection reason on the public page is rendered as rich text inside a highlighted banner.
Line items redesigned as a clean table with divider rows instead of individual card backgrounds.
Total amount visually highlighted in the summary cards with primary color to draw immediate attention.
v1.0.0
MinorMarch 25, 2026File attachments across all documents, client approve/reject flow, and Notes/Files tabs.
File attachments on expenses, estimates, and invoices — upload PDFs, images, and documents stored securely via Vercel Blob.
Clients can now approve or reject estimates directly from the public estimate link.
Rejection modal with optional rich-text reason. Rejection reason is displayed on the public page after submission.
Attachment grid on the public estimate page — clients see image thumbnails, file icons, and downloadable files.
Notes / Files tab switcher in create and edit forms for estimates and invoices. Files in create forms are uploaded right after saving.
Expense detail page (/app/expenses/[id]) now shows receipts with download and delete.
Estimate and invoice detail pages now have a full attachments section with upload and delete.
v0.9.0
MinorMarch 24, 2026Public marketing pages, roadmap, and billing improvements.
Public marketing site with landing, pricing, about, contact, roadmap, and changelog pages.
Roadmap page listing all upcoming features with status and effort indicators.
Billing settings now show storage usage progress bar per plan.
Upgrade flow now supports both monthly and annual intervals with a 30% annual discount.
Billing portal button no longer appears when no Stripe customer exists.
v0.8.0
MinorMarch 10, 2026Workflow automations and expense categories.
Workflow automations: trigger task creation automatically when an invoice is paid or estimate is approved.
Expense categories: organize expenses into custom categories per organization.
Automation rule editor with trigger, condition, and action steps.
Task board now supports custom stages configurable from settings.
Estimates and invoices now support rich-text notes per line item.
Currency picker now correctly filters by active organization currencies.
v0.7.0
MinorFebruary 21, 2026Team roles, RBAC permissions, and invite system.
Role-based access control (RBAC): create custom roles with granular permissions per resource.
Team invite system: invite members via email link with role assignment.
Owners bypass all permission checks and have full access to org settings.
Settings sidebar now groups sections by category with permission-aware visibility.
Workspace switcher redesigned with organization avatar and quick access.
Fixed session not refreshing after organization switch in some browsers.
v0.6.0
MinorFebruary 5, 2026Payments, expenses, and multi-workspace support.
Payments module: record and track payments linked to invoices.
Expenses module: log business expenses with category, amount, and date.
Multi-workspace: users can belong to multiple organizations and switch between them.
Invoice status now automatically updates to PAID when full payment is recorded.
Dashboard stat cards now reflect real data from the active workspace.
v0.5.0
MinorJanuary 18, 2026Task board (Kanban) and public invoice pages.
Kanban task board: create, assign, and move tasks across custom stages.
Public invoice page: clients can view their invoice via a secure token link.
Public estimate page: clients can approve or reject estimates via a shareable link.
Estimates can now be converted to invoices in a single click.
Fixed line item totals not recalculating when tax type is changed.
v0.4.0
MinorJanuary 4, 2026Invoices module and item catalog.
Invoices: create, send, and manage invoices with line items, taxes, and discounts.
Item catalog: define reusable products and services with default price and unit.
Tax types: configure organization-level tax rates applied to line items.
Estimate editor now shares the same line item component as invoices.
v0.3.0
MinorDecember 15, 2025Estimates and customer management.
Estimates module: create and send professional estimates to customers.
Customer management: full CRM with contact details, history, and notes.
Currency and language pickers for internationalization support.
Organization settings expanded with company info, address, and preferences.
v0.2.0
MinorNovember 28, 2025Authentication, organizations, and onboarding.
Email/password authentication with Auth.js.
Organization creation and onboarding flow.
Password reset via email token.
Dashboard skeleton with placeholder stat cards.
v0.1.0
MajorNovember 10, 2025Initial release.
Project scaffolded with Next.js App Router, tRPC, Drizzle ORM, and PostgreSQL.
Multi-tenant architecture with organization-scoped data isolation.
Stripe subscription integration with Starter, Growth, and Scale plans.
Role-based access control foundation and IAM permission catalog.
Want to know what's coming?
Check our public roadmap to see what's in progress and planned for upcoming releases.
View roadmap