🐝 What's new in LedgerBee
Highlights
Multilingual product names and descriptions
Every product can now carry its own customer-facing name, unit text, and feature bullets in each supported language, with each price able to override any of these individually. This wording now shows up everywhere a customer reads it — pricing cards, checkout, the customer portal, onboarding quotes, and invoice, credit note, and PDF lines — always rendered in the language the customer is already viewing.
Addon subscriptions that fold into a parent plan
Subscriptions in a billing group can now be marked as an addon of a parent subscription. Instead of showing up as a separate line item, the addon's charges fold into the parent's invoice section under an "Addon:" label, and the addon relationship is visible in subscription list views. Consolidated invoice previews also now include discounts and adjustments without a product in an "Other items" section, so the displayed totals always match the actual invoice total.
✨ Improvements
  • Users creating a demo company can now start working as soon as the accounting setup is ready, instead of waiting for the full set of example data to finish loading; a progress banner shows live seeding status until it's complete.
  • The Organization, Company Info, Branding, and Change Log settings pages now share one consistent layout, with fields editable immediately, a floating summary of unsaved changes, and drag-and-drop logo upload.
🐛 Bug fixes
  • Bank transactions matched to several invoices at once now split the actual payment amount across them based on what each invoice still owes, and any partially settled invoices remain available for later payments.
  • Document processing for supplier documents now completes reliably without creating duplicate runs, and processing interrupted by a crash recovers and retries automatically instead of getting stuck.
  • Fenerum imports now complete successfully even when a customer account has a blank country field, with accounts and contracts that need attention clearly flagged for review.
  • Card payments now work reliably once the required bookkeeping accounts are mapped, with clear on-screen guidance shown when setup is still needed.
  • Danish billing-group invoices and credit notes now show the correct Danish wording for miscellaneous line items, and correctly preserve member and addon details through credits, refunds, and membership changes.
  • Subscriptions with a negotiated custom price on a tiered pricing plan now honor that price correctly instead of silently falling back to the standard tiered rate.
  • Users who briefly lose a sign-in token refresh response are now signed back in automatically instead of being logged out.
🔧 For developers & integrators
  • Retrying a checkout call (
    POST /v1/portal-checkout/vouch
    ,
    POST /v1/checkout/quote
    ,
    POST /v1/checkout/session
    ,
    POST /v1/checkout/session/:id/card-window
    ,
    POST /v1/checkout/session/:id/card-release
    ,
    POST /v1/checkout/subscriptions/:id/card-window
    ) with the same idempotency key now correctly mints a fresh checkout token instead of returning an empty or already-consumed response.