🐝 What's new in LedgerBee
Highlights
Customers and suppliers, now in the mobile app
The companion mobile app has a new Records tab where you can browse your customers and suppliers list, complete with paged browsing and pull-to-refresh, so you can look someone up without reaching for a computer.
Set your own VAT filing interval
Company admins can now tell LedgerBee whether the company files VAT monthly, quarterly, or half-yearly, right from Company Info. The VAT page, cashflow forecast, and performance report use this to show accurate filing deadlines, even without a live connection to SKAT.
A cleaner, more consistent settings experience
System accounts, autobooking rules, fixed assets, and Hivey preference settings now share a redesigned layout with clear sections and an explicit Save button, instead of saving on every keystroke. Required accounts are clearly marked, and chart-template suggestions help you configure faster.
Advisors get their own mobile sign-in and client picker
Advisors can now sign in to the mobile app with password, Microsoft, Apple, Google, or a passkey, landing on a client picker that lists their active clients with one tap to enter each and switch between them.
✨ Improvements
  • Demo companies now come pre-populated with department and project dimensions, tagged entries and invoices, and credit notes and quotes covering their full lifecycle, for a more realistic preview of the product.
  • Journal entry links across reconciliation, ageing, bank transactions, document inboxes, and card transactions now open in the Booked Entries drawer instead of a separate page, so you keep your place in the list you were working from.
  • Hour-based absence types now show an optional Hours field so you can register precise fractional amounts instead of only whole days.
  • When a bank payment is larger than the invoices it settles, you can now declare whether the extra amount is refundable or an advance, with VAT coding handled accordingly.
  • Importing customers from Fenerum now matches them to your existing e-conomic customers automatically, so subscriptions carry over and duplicates aren't created.
  • LedgerBee now keeps your Pleo account list in sync with your chart of accounts automatically, so new, renamed, or deactivated accounts show up in Pleo without manual upkeep.
  • Payment setup, numbering sequences, reminder profiles, and the dunning ladder editor have a clearer design, with per-currency payment chips, an editable numbering table, and clearer save requirements.
  • The customer detail page now shows Annual Recurring Revenue broken down by currency, so you can see how much of a customer's ARR comes from foreign-currency subscriptions.
  • Sessions now refresh proactively before they expire, cutting down on unexpected logouts and background refresh traffic when you have multiple tabs open.
  • The onboarding hub now supports uploading a custom chart of accounts directly, offers one-click suggested defaults for account and group setup, and warns that the revenue recognition method can't be changed once onboarding is complete.
  • Subscription and invoice listing pages now load faster thanks to reduced backend query load.
🐛 Bug fixes
  • Bulk import operations now process reliably at any scale, without hitting database parameter limits.
  • Overstated VAT refunds from foreign card purchases are now prevented.
  • OCR analysis now recovers gracefully from temporary rate-limit and service errors, and previously stuck invoices with calculation inconsistencies now classify successfully.
  • Ageing reports now reconcile exactly, and overpayment cases that were previously hidden now appear in an "Other outside age buckets" column for transparency.
  • Recognition schedules now reject profit-and-loss accounts that aren't in the company's base currency, with a clear error message.
  • Correct currency conversion factors are now retained during repair operations, improving multi-currency journal entry reconciliation.
  • Period-end balances and supplier credit notes now query correctly, without client-side validation errors.
  • The ageing reconciliation banner now shows an "unavailable" state instead of incorrectly flagging a mismatch when no debtor or creditor control account is configured.
  • Query failures for deleted journal entries are now cached correctly, preventing repeated requests when a deleted entry is viewed again.
  • Payroll draft batches now correctly show Delete and Finalize actions based on your permissions, and reopening a new batch keeps its prefilled dates.
  • Batch and payslip screens now show the configured payslip delivery method, and payroll admins can enable e-Boks delivery once the Intect module is active.
  • Large payroll batches stuck in background processing now finish finalizing correctly.
  • Card usage on the self-billing page now updates the same day cards are provisioned or restored, instead of waiting for the nightly sync.
  • Operators can now approve registered absence for salaried employees individually or in bulk, so approved time is correctly included in the next payroll run.
  • Group departure dates are now reliably calculated from the latest document produced by the group, improving the historical accuracy of membership records.
  • Sessions now persist through temporary infrastructure failures and retry successfully once services recover, instead of signing you out.
  • Members of companies with enforced single sign-on can now sign in to the companion app using their identity provider, and in-app invitation acceptance works for company SSO flows.
  • Companies invited through advisor enrollment, referrals, or self-signup no longer receive demo data automatically — they now start as empty, real companies.
  • Webhook event delivery is more reliable, and cold-start failures are less frequent.
  • GDPR data erasure now consistently applies to all memory tables, preventing silent incomplete erasures.
🔧 For developers & integrators
⚠️ Breaking changes
  • GET /mcp-server
    and
    GET /developer-mcp-server
    now return
    405 Method Not Allowed
    for discovery probes that previously received a
    200
    response.
  • GET /api/v1/subscriptions/:id
    now returns a leaner response body optimized for the public API contract; integrations relying on fields from the previous payload should verify they're still present.
New read-only budgets endpoints are available under the
budgets-read
scope (licensed via the Budgets license):
GET /v1/budgets
,
GET /v1/budgets/runway
,
GET /v1/budgets/{id}
,
GET /v1/budgets/{id}/scenarios
,
GET /v1/budgets/{id}/scenarios/{sid}/grid
,
GET /v1/budgets/{id}/comparison
,
GET /v1/budgets/{id}/variance
,
GET /v1/budgets/{id}/frozen-baselines
,
GET /v1/budgets/{id}/frozen-baselines/{baselineId}
, and
GET /v1/budgets/{id}/rebaseline-proposals
.