Changelog

Stay updated with the latest improvements and features

Holiday fixes and improvements! We've upgraded our invoice data structure for better accuracy and fixed several issues affecting invoice editing and PDF generation.

  • Improved invoice calculations - amounts are now calculated consistently across the entire app
  • Invoice totals now display the same values everywhere: in the app, emails, and PDFs
  • Invoice discounts now correctly apply only to discountable items
  • Fixed invoice editing - auto-save now works correctly without validation errors
  • Fixed "No Tax" setting - selecting no tax on an invoice now properly applies to all line items
  • Fixed duplicate notifications when resending invoices - you'll now see only one confirmation message
  • Cleaner PDF invoices - tax column now shows "—" instead of "0% excl." when no tax applies

Major architectural refactoring and critical bug fixes. We've cleaned up the invoice data model for better maintainability and fixed several important bugs affecting recurring invoices, tax calculations, and PDF generation.

  • REFACTOR: Cleaned up invoice item amount field - now consistently stores quantity × rate
  • Previously amount field stored different values depending on tax mode (sometimes included discounts/tax)
  • Amount field now has clear semantic meaning - always the base line amount before calculations
  • Better separation of concerns - all calculations now happen in presentation layer
  • Easier auditing and data integrity - amount always means the same thing
  • Fixed recurring invoice number bug - converting draft to recurring no longer wastes invoice numbers
  • Counter now properly decrements when draft is deleted during recurring conversion
  • Fixed tax rate 0% being saved as NULL - now correctly stores 0 as a valid number
  • Affected both recurring and regular invoice creation/updates
  • Fixed invoice number preview showing wrong number - removed incorrect +1 calculation
  • Preview now accurately shows the number that will be assigned
  • Fixed hosted invoice page not displaying tax rates - now shows actual percentages or "Incl."
  • Tax column was showing hardcoded dash instead of real tax information
  • Fixed PDF amount column calculation - totals now match when adding line by line
  • PDF now shows full amount (quantity × rate) with discount as separate line below
  • Previously showed discounted amount in amount column, causing confusion
  • Fixed invoice preview tax column showing wrong base amount for EXCLUSIVE tax
  • EXCLUSIVE tax items now correctly show tax on full amount (e.g., "21% on €100") instead of reverse-calculated base
  • Fixed race condition in recurring invoice creation - draft to recurring conversion now works reliably
  • State update timing issue could cause "Template not found" error
  • Now uses returned ID immediately instead of waiting for async state update
  • Updated client details page styling to match account page design
  • Applied gradient borders and improved spacing consistency

Complete client management overhaul with inline editing and improved navigation. Managing client information is now seamless with in-page editing, scroll spy navigation, and critical bug fixes for PDF tax labels.

  • NEW: Inline client editing - edit all client details directly on the page without modals
  • NEW: Edit multiple sections at once with single Save action (Personio-style UX)
  • NEW: Sidebar navigation for quick access to client sections (Business Info, Contact, Tax, Payment)
  • NEW: Scroll spy highlights active section as you scroll through client details
  • Added sticky Edit/Save action bar that stays visible while scrolling
  • Business clients can now edit Legal Business Name and Contact Person inline
  • Contact information fully editable: email, billing email, phone, full address
  • Payment settings editable: currency, payment terms, default payment method
  • Tax information editable: tax status, VAT number, tax ID
  • Removed old Edit Client modal - all editing now happens inline for better UX
  • Fixed client details scrolling - sidebar stays fixed while content scrolls independently
  • Reordered sections - Tax Information now appears before Payment Settings
  • Tax Information section now always visible (previously conditionally hidden)
  • Fixed data transformation bugs - tax status and currency now save correctly
  • Added proper validation and error handling for all client fields
  • Enhanced mobile responsiveness - no sidebar clutter on small screens
  • Fixed PDF tax label bug - subtotals now correctly show "excl." for exclusive tax and "incl." for inclusive tax
  • Previously all tax labels in PDF subtotals incorrectly displayed "incl." regardless of actual tax mode

Major PDF generation improvements with enhanced logo support and reliability. Invoice PDFs now work seamlessly in production with automatic SVG conversion and proper aspect ratio handling.

  • Fixed critical PDF generation failure in production environments
  • Added Sharp image processing library as explicit dependency for reliable image handling
  • Automatic SVG to PNG conversion for logo images in PDFs
  • Graceful fallback when image optimization is unavailable
  • Improved logo aspect ratio handling - logos now maintain correct proportions
  • Enhanced error logging with detailed error messages for easier debugging
  • Smart default dimensions for logos when metadata is unavailable
  • Better serverless environment compatibility for PDF generation
  • Logos now properly display in both draft and finalized invoice PDFs

Simplified tax settings and improved invoice email communication. We've streamlined the tax configuration interface and ensured invoice emails show the correct sender information for better client communication.

  • Simplified tax mode options - removed confusing "Custom rate for this invoice" setting
  • Now only 3 clear tax modes: Account Default, No Tax, and Reverse Charge
  • Custom tax rates still available per-item for flexibility when needed
  • Backward compatible - existing invoices with custom tax mode continue working
  • Fixed invoice emails to show actual sender email instead of placeholder
  • Added reply-to header - clients can now respond directly to invoice issuer
  • Cleaner tax settings interface without confusing inclusive/exclusive toggle

Comprehensive client detail pages with enhanced navigation and data visualization. Managing your clients is now easier with detailed insights and quick access to all client information.

  • New dedicated client detail page with full client information and metrics
  • Client name in invoice table now links to client detail page
  • Quick access to all invoices for a specific client
  • Visual client statistics and activity timeline
  • Improved navigation between invoices and client management

Major improvements to invoice resending, tax handling, and user experience. We've fixed critical tax calculation bugs and enhanced how you communicate with clients about invoices.

  • Upgraded to Next.js 15.5.7 with improved authentication cookie handling
  • Fixed tax override toggle - disabled when invoice tax mode is NO_TAX
  • Invoice-level NO_TAX now correctly overrides all item tax modes
  • Fixed tax display bugs - no more inconsistent tax calculations
  • Added payment terms field to invoices for better payment tracking
  • Invoice list now sorted by most recent due date first for better workflow
  • Smart invoice resending - "Resend Invoice" for not-yet-due invoices, "Send Reminder" for overdue
  • Only SENT invoices can be resent - prevents duplicate sends
  • Added success/error toasts when resending invoices
  • Separate email templates for invoice resending vs. payment reminders
  • Proper cookie handling in OAuth callback for Next.js 15 + React 19 compatibility

Major PDF improvements, recurring invoice enhancements, and critical bug fixes. Invoice PDFs are now more readable with better spacing, and recurring invoices work seamlessly with proper tax calculations and due date handling.

  • Improved PDF line item spacing - tax rate and base amount now visually grouped
  • Added clear visual separation between invoice line items
  • Fixed cramped spacing throughout PDF invoices
  • More professional and readable invoice layout
  • Logo support in PDF invoice headers with automatic fallback to text
  • Fixed recurring invoice edit flow - all steps now accessible when editing
  • Fixed item totals showing €0.00 in recurring templates
  • Tax mode now correctly displays "inclusive" or "exclusive" based on account settings
  • Line items now show amount before tax only - tax appears in totals breakdown
  • Fixed "No tax" invoices showing "0% excl." - now displays "—" (dash)
  • Fixed due date calculation - invoices now use selected payment terms (7, 14, 30 days etc.)
  • Added delete option for recurring invoice templates with confirmation modal
  • Previously generated invoices remain safe when deleting recurring templates
  • Prevented unnecessary auto-save triggers when loading draft invoices
  • Fixed critical tax mode corruption bug - tax settings now preserved when reopening invoices
  • Improved recurring template editing UX - button shows "Save Changes" for existing templates
  • Auto-resume paused recurring templates - "Save & Resume" restarts paused invoices automatically
  • Fixed OAuth authentication flow - resolved PKCE code verifier errors during Google sign-in
  • Fixed voided invoice display - public invoice pages now correctly show "Invoice voided" status

Enhanced recurring invoices and improved user experience across the platform. We've added powerful editing capabilities and refined the interface for better usability.

  • Recurring invoice templates can now be edited at any time - not just in draft status
  • Added full wizard support for editing recurring invoices with all template fields
  • Enhanced auto-send functionality to handle both recurring templates and regular invoices
  • New modern calendar component replacing native date pickers for better UX
  • Improved dashboard performance with parallel data fetching - faster invoice viewing
  • Better recurring invoice status filtering with "All", "Draft", "Active", and "Inactive" tabs
  • Invoice statistics now load independently for accurate counts across all tabs
  • Fixed invoice number uniqueness to be per-user instead of global
  • Strengthened recurring invoice generation against race conditions
  • Cleaner focus styles with neutral gray focus rings across the app
  • Updated customer status badges to match invoice styling for consistency

Major improvements to invoice viewing, client management, and data accuracy. We've redesigned how you interact with invoices and fixed critical race conditions.

  • New full-page invoice viewer with improved layout and branding
  • Horizontally scrollable action buttons for easy access to all invoice actions
  • Added "View Payments" and "Download PDF" buttons directly in invoice viewer
  • Payment history now shows actual payment dates instead of "N/A"
  • Client selection now displays preferred display names for better clarity
  • Business clients are now the default when creating new clients
  • Removed confusing VAT fields for individual clients - only shown for businesses
  • PDF invoices now show proper trading names and legal business names
  • Fixed invoice number race condition - no more duplicate invoice numbers
  • Improved PDF labeling: "Tax ID" instead of generic "VAT" label
  • Added smooth cursor effects on client type toggle
  • Better modal transitions when sharing or viewing invoices

We've made significant performance improvements to make your invoicing workflow faster and more responsive.

  • Dashboard loads 4x faster - from 5+ seconds to under 2 seconds
  • Reporting page loads 65% faster with instant analytics updates
  • Global infrastructure upgrade - now hosted in Europe and Brazil for faster load times worldwide
  • API response times reduced by 50-70% (100-200ms average)
  • Quicker response times when viewing invoices
  • Faster currency switching and navigation
More updates coming soon