Changelog

Follow up on the latest improvements andΒ updates.

RSS

🐝 What's new in LedgerBee
Highlights
One account, multiple roles
Accountants can now assign more than one system role β€” such as exchange-rate adjustment and rounding β€” to the same ledger account, instead of being forced to create extra accounts just to satisfy the system. This keeps a company's chart of accounts looking the way its accountant and clients already expect, especially after migrating from another platform.
Consistent access during a card-less trial
Companies on trial without a payment card now get a clear, consistent notice when trial limits kick in, with a direct path to add a card and regain access immediately. Admins are taken straight to the subscription page, while other team members are told to contact their administrator.
Manage client billing from one place
Accounting and bookkeeping firms can now view and manage all their clients' LedgerBee subscriptions from a single billing page, add new subscriptions for clients, and see invoices in one shared table β€” no more switching between client accounts to handle billing.
A smoother start for new companies
Companies signing up on their own can now choose to start with sample bookkeeping data instead of a blank slate, and can edit their contact and billing details right from the setup flow β€” making it easier to explore LedgerBee before working with real data.
✨ Improvements
  • AI agent tools can now stage new customers and suppliers for review, and approval reviewers can edit counterparty details and pick groups before approving β€” giving bookkeepers more control over AI-suggested entries.
  • Customer records imported from e-conomic now keep their EAN number, so e-invoices can be sent without re-entering it.
  • Companies on a trial now see a countdown banner showing how many days remain, with a prompt to add a card or a note of when the first charge will happen.
  • Subscribers now get an in-app notice and email up to three days before a card-less trial ends, and another when it ends and billing is paused.
  • Clients can see which advisor firm is paying for their subscription, and advisors get a persistent banner with quick access to a client's task list when acting on their behalf.
πŸ› Bug fixes
  • Foreign-currency invoices now display with their correct currency label and reconcile successfully when matched against bank entries.
  • Year-end closes now succeed for more retained-earnings account configurations, no longer blocking e-conomic imports partway through.
  • Year-end opening entries now correctly balance to the account configured as the year-end account, instead of guessing based on a hardcoded number.
  • Paying an invoice from the inbox using OCR-extracted data now auto-fills the payment reference with the invoice number when none was extracted.
  • Running balances and settlement allocations now display consistently across all views and exports.
  • Importing a chart of accounts from e-conomic now succeeds even when an account has no explicit debit/credit side set.
  • Incoming cross-currency bank transfers (EUR to DKK) now reconcile using the exact exchange rate from the bank feed, without being blocked by balance-check errors.
  • Reopening a saved draft invoice in the inbox no longer shows an active supplier as deactivated, and keeps the supplier's country code for VAT defaults on split lines.
  • Booking a bill from the inbox with supplier credit notes applied now correctly reduces the payment amount shown and created, including bills fully covered by credit notes.
  • Subscription assignments now correctly follow the selected plan's billing direction (advance or arrears) instead of requiring it to be set twice.
  • Email validation is now faster and more resilient to outages through a fallback provider.
  • FIK invoice payments are now reliably payable, notification delivery is more stable, and transient infrastructure issues no longer trigger unnecessary alerts.
  • Mobile app users whose company has a payment hold now see a clear explanation with options to switch companies or sign out, instead of raw errors, and the hold clears automatically once payment is resolved.
  • Shared billing-group invoices remain correctly owed by surviving members, without spurious deferred-revenue reversals or project-time release errors.
  • Dashboard load times improve when multiple requests hit an expired access token at once, cutting delays down from several seconds to near-normal.
  • Dialogs and drawers now close reliably without errors, and focus correctly returns to the right control afterward.
πŸ”§ For developers & integrators
πŸ”Œ MCP tools
  • list_payroll_runs
    β€” new: lets an agent ask which payroll runs are coming up or awaiting approval, including status, employee count, and per-salary-type totals.
  • list_bank_accounts
    β€” new: lets an agent ask what a connected bank account's current or historical balance is, and how far its feed coverage reaches.
  • create_counterparty
    β€” new: lets an agent stage a new customer or supplier for human approval.
  • list_counterparty_groups
    β€” new: lets an agent ask which customer/supplier groups exist and which ledger accounts they map to.
/api/v1/journal-entries
and
/api/v1/draft-journal-entries
(POST, PATCH), plus
/api/v1/journal-entries/{id}/batch
, now apply one shared currency validation rule: values are trimmed and upper-cased before checking, so padded or lowercase codes like
dkk
are accepted and stored as
DKK
; non-letter values are rejected; and a blank, null, or omitted currency on optional fields is treated as "no currency stated". The OpenAPI schemas now document the
^[A-Za-z]{3}$
pattern and the fallback behavior for each operation.
🐝 What's new in LedgerBee
πŸ› Bug fixes
  • Posting a bill or journal entry to a deactivated or archived supplier is now refused, with a message naming the supplier and its status.
  • Live customer receipts from LeverandΓΈrservice are now downloaded and processed with correct metadata extraction.
  • Inbox routing is now reliable and secure, with addresses that cannot be guessed by attackers observing the pattern.
  • Email inboxes now reliably process incoming invoices, with clear success visibility and automatic retry on transient failures.
  • Card removals and billing group invoices now process correctly; customers receive timely expiry warnings for shared billing cards.
πŸ”§ For developers & integrators
⚠️ Breaking changes
  • Creating a journal entry (v1, v2, and batch endpoints), booking a public draft, or posting through the salary API now fails with
    400 JOURNAL_ENTRY_SUPPLIER_NOT_ACTIVE
    (returning
    supplierId
    ,
    supplierName
    , and
    status
    ) if the request targets an inactive or archived supplier.
🐝 What's new in LedgerBee
Highlights
Receive documents at your own email domain
You can now register a domain you own so suppliers can send invoices and other documents straight to it, instead of relying on email forwarding that's easy to mistype or mangle. Set it up under Settings β†’ Communications β†’ Domain registration, where you'll find the DNS records to add and see each domain's verification status.
Payment method overrides for invoices and subscriptions
Invoices and subscriptions can now carry their own payment settings, separate from your company defaults. Pin a specific bank account, hide the bank transfer details, or hide the FIK payment line on an individual invoice or subscription, and the setting automatically applies to every invoice it generates.
Resume subscriptions paused at trial end
If a subscription was paused at the end of its trial because no payment card was on file, you can now resume it yourself: add or choose a card and select "Resume & pay" to start billing right away, with no charge for the time it was paused.
✨ Improvements
  • Pending Pliant corporate card applications can now be cancelled, so a corrected application can be submitted right away.
  • Company admins are now notified by email and in-app when an advisor firm requests access to their company, with a direct link to review and approve or reject the request.
  • Employees can now be invited to create their own app user account directly from their employee profile.
  • The invoice forwarding email address in company settings is now read-only, keeping forwarded invoices reliably routed to the right inbox.
πŸ› Bug fixes
  • Deleting an inbox document now cancels any approval requests still waiting on it and notifies the approvers.
  • HubSpot integration webhook events are now properly processed and CRM data remains in sync when the configuration setting is provisioned.
  • HubSpot webhook deliveries now process reliably without spurious signature rejections.
  • Reversing a journal entry now succeeds even when the entry was originally unbalanced, so corrections can complete.
  • Currency labels are now consistently applied to accounting entries where the transaction amount matches the account's currency, keeping records accurate.
  • Ledger entries with missing exchange rates are now classified correctly, so the right repair steps are shown.
  • Currency-based classification for older transactions has been corrected so currency explanations stay accurate and consistent.
  • Companies with a non-default base currency can now book invoices and credit notes with correct currency conversions and balanced ledger entries.
  • Stripe account setup now always shows a direct link to manual system account mapping, along with clear confirmation messages when accounts are created or fail to be created.
  • Pre-charge notices now display the accurate VAT-inclusive total that customers will be charged, preventing charge surprises.
  • Saving a card for future grouped subscription charges now checks current member consent, so members who joined after the invoice was issued aren't unexpectedly charged.
  • Grouped invoice previews now calculate surcharges per member, showing accurate VAT-inclusive amounts on pre-charge notices.
πŸ”§ For developers & integrators
  • subscription.billed
    webhook event is now emitted once per billed member for grouped subscriptions, where previously these deliveries could be silently lost.
  • Invoice payment responses now include fields identifying the subscription-level card-saving scope.
🐝 What's new in LedgerBee
Highlights
Receive documents straight from your inbox
Companies can now forward invoices and receipts to their LedgerBee document-inbox email address. Attachments are automatically pulled out and added to the inbox, and images embedded in the email β€” like a photographed receipt β€” are captured too.
Schedule subscription cancellations in advance
When cancelling a subscription that includes add-ons, you can now schedule the whole group to end together on a future date β€” either at the end of the current billing cycle or on a specific date β€” so nothing gets split across mismatched billing periods.
Accounting firms can pay for their clients' subscriptions
Advisor firms can now choose and customize subscription plans when inviting clients, set their own pricing, and receive one consolidated invoice that clearly breaks down the charges for each client.
Start a trial without a card
Customers signing up for a trial that normally requires payment details up front can now start the trial first and add a card later, before the trial ends.
✨ Improvements
  • Merchant intelligence features β€” automatic document booking, recurring fee posting, and supplier booking suggestions β€” are now available to any company that opts in via data-sharing settings, rather than being limited to a beta group.
  • Billing groups can now use a consolidated summary-invoice layout: one payable summary invoice with payment links and QR codes, plus separate detail PDFs for each subscription unit.
  • Access control settings (SCIM provisioning, SSO, advisors, approval workflows, users) now offer consistent filtering, search, and pagination, and role creation shows a full permissions matrix alongside a summary of assigned users.
πŸ› Bug fixes
  • Booked journal entries in foreign currencies now display line amounts in the correct ledger currency instead of the document currency, eliminating duplicate amount displays.
  • Foreign-currency account balances now reflect the correct amounts those accounts actually held, matching bank and supplier statements.
  • Opening an account card from the trial balance now shows the correct opening balance, independent of filters like search, hide-settled, or VAT/customer selection.
  • Document upload errors now show the actual reason β€” invalid file type, file too large, or invalid filename β€” instead of a generic failure message.
  • E-conomic imports with large attachments no longer fail unexpectedly; the baseline budget is now 250MB, scaling up to a 2GB ceiling for multi-page documents.
  • Chart imports now require every transactional account to specify a debit or credit side, preventing incorrectly inverted account balances.
  • New invoices now receive unique payment codes, and customers without a VAT number β€” previously unable to pay β€” can now be paid correctly.
  • Documents covered by an "on arrival" approval workflow now automatically trigger an approval request as soon as they're read, instead of requiring a manual step.
  • Ledger entries now automatically pick up the correct currency from their account when it isn't explicitly set.
  • Ledger entries from opening balances, year-end closings, and Dinero imports now correctly carry the right currency.
  • Invoices with ledger accounts in a third currency now convert amounts correctly and post without balance errors.
  • Foreign exchange revaluation records now calculate correctly and reconcile precisely.
  • Manual webhook redeliveries from the admin page now reach tenant endpoints reliably.
  • The "Unallocated payments" and "Other outside age buckets" columns on ageing lists now stay pinned in view while scrolling horizontally.
  • Large Fenerum imports now complete successfully with persistent progress tracking, instead of timing out and triggering duplicate retries.
  • Customers now see a consistent, deliverable document inbox email address across the inbox badge and document request surfaces.
  • Companies with LeverandΓΈrservice test mode enabled can now control when it's active via a dedicated setting, so collections proceed normally and reliably.
  • Concurrent subscription changes now receive a clear conflict response with retry guidance instead of a server error.
  • Clearing accounts now reconcile correctly for card settlements that were previously missing their fee or currency adjustments.
  • Session refresh and login now complete reliably, without the app getting stuck on a loading screen.
πŸ”§ For developers & integrators
  • The auth login response now includes an
    inboxEmail
    field on the company object, reflecting the tenant's document-inbox email address.
🐝 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
.
🐝 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.
🐝 What's new in LedgerBee
Highlights
See what your usage costs, the moment it happens
Usage-based charges for things like payroll runs and bill payments are now recorded the instant they happen, instead of waiting for an overnight batch β€” so your running costs are always up to date. The Usage tab now shows clear, correctly labeled units (like "2 payslips" or "6 bank accounts") along with the exact price applied to each one, so there's no more guessing how a charge was calculated. The Bill Payments page is also now available to review as soon as you've purchased the feature, even before you've finished connecting your bank.
πŸ› Bug fixes
  • Batch-imported journal entries now correctly enforce balance validation per voucher, and each entry shows its correct source voucher number in the journal-entry list.
  • Resolved an issue that caused excessive load on the audit system's database infrastructure, restoring normal processing.
πŸ”§ For developers & integrators
No integration-facing changes in this release.
🐝 What's new in LedgerBee
Highlights
Bulk booking now runs in the background
Booking a large batch of draft journal entries no longer ties up your screen waiting for every entry to post. Kick off the batch, watch its progress update live, and feel free to reload the page β€” results for entries already processed are kept, so nothing gets lost along the way.
Try before you commit, with your own data
From the profile menu, you can now open "Go to demo account" to get a demo company pre-filled with your company's structure and sample data β€” a safe space to explore before making changes in your real books.
✨ Improvements
  • Balance overviews for customers and suppliers now show unallocated payments directly on the balance header, making it easy to see when matched and unmatched amounts differ; ageing report exports include the same figure.
  • Searching booked entries and documents is now dramatically faster, and document search now matches regardless of upper or lower case.
  • Members of a shared billing group can now have their billing details edited without breaking the group's shared billing cycle.
  • Settings pages now have their own direct links, making it easier to bookmark or share a specific settings page.
πŸ› Bug fixes
  • Recognition schedules now correctly show as completed rather than cancelled when their final entry posts.
  • Bulk operations no longer become permanently stuck in flight, and the active-operations list now loads faster with stale runs cleared out.
  • Tax receipt retrieval now uses the correct submission's transaction id.
  • Company logos are no longer accessible to members who have been removed from a company.
πŸ”§ For developers & integrators
No integration-facing changes in this release.
🐝 What's new in LedgerBee
✨ Improvements
  • Journal-entry lists now load faster, and booked-entries tab badges update without blanking out while you search.
  • Saved table layouts and column settings are no longer overwritten when the same view is edited in multiple browser tabs at once.
  • You can now set a custom prefix for each document type, with its own independent numbering sequence β€” switching back to a previous prefix resumes where it left off without renumbering existing documents. The invoicing numbering settings page shows a live preview of the next document number as you type.
πŸ› Bug fixes
  • Reconnecting a lost bank connection now properly repairs the original account and restores transaction synchronization.
  • Recognition schedules now stay in their correct final state, and audit records match what actually happened in the system.
πŸ”§ For developers & integrators
No integration-facing changes in this release.
🐝 What's new in LedgerBee
Highlights
Ask Hivey: get answers about how LedgerBee works, right in the app
You can now open "Ask Hivey" from the Help menu to ask how LedgerBee works, in English or Danish, and get answers grounded in official documentation such as bookkeeping rules, help center articles, and release notes. The assistant never reads or changes your company data, and if you ask a how-to question mid-conversation elsewhere in Hivey, it's automatically routed to a support specialist so you get the right kind of help.
πŸ› Bug fixes
  • Deferred revenue schedules for active subscriptions are no longer incorrectly affected when a sibling subscription on the same shared invoice churns.
πŸ”§ For developers & integrators
No integration-facing changes in this release.
Load More
β†’