Update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 (Application Build 28.5.54151, Platform Build 28.0.54016)

Applies To
Dynamics 365 Business Central (on-premises)

Overview

This update replaces previously released updates. You should always install the latest update.

After you install this hotfix, you might have to update your license to gain access to new objects that are included in this or a previous update. (This applies only to customer licenses.)

For a list of updates that were released for Microsoft Dynamics 365 Business Central 2026 Release Wave 1, see released updates for Microsoft Dynamics 365 Business Central 2026 Release Wave 1. Updates are intended for new and existing customers who are running Microsoft Dynamics Released Updates for Microsoft Dynamics 365 Business Central 2026 Release Wave 1. 

Important

We recommend that you contact your Microsoft Dynamics Partner before you install hotfixes or updates. It is important to verify that your environment is compatible with the hotfixes or updates that will be installed. A hotfix or update may cause interoperability issues with customizations and third-party products that work together with your Microsoft Dynamics 365 Business Central solution.

Problems that are resolved in this update

The following problems are resolved in this update.

Platform hotfixes

ID Title
641836 Fix extension synchronization failing to validate moved tables when a company's SQL table name casing differs.
644977 Fix company copy failures when cross-origin SIFT indexes exist on a table extension.
644930 Prevent IncludedPermissions referencing a missing PermissionSet from crashing the session.
641662 Fix the CDS "New Integration Mappings" wizard failing with AL0275 due to an ambiguous table reference when generating a runtime table extension for a table defined by two applications.
646409 Sanitize Word documents for layouts and mail merge with respect to INCLUDE content controls.
642913 Fix the host page header disappearing when expanding a single-control add-in FactBox.
647356 Add per-tenant cache telemetry and fix performance counter registration.
647335 Refactor MCP feature-gate checks to use an asynchronous, dependency-injection-based pattern with improved testability, and update the HTTP error response for disabled features.
647702 Prevent Copilot from reporting errors as "Intermittent errors" when it cannot handle them.

Application hotfixes

ID Title Functional Area
646613 Correct filter logic in the Remove Contacts report to prevent contacts with different contact numbers and company contact numbers from being silently excluded. Administration
645079 Add the missing parameter to an integration event to provide access to the calculated purchase line quantity. Extensibility Enhancement
645086 Add extensibility support by introducing an integration event in the OnPreReport trigger. Extensibility Enhancement
645093 Enhance extensibility by adding new integration events and updating existing event parameters in purchase price calculation logic. Extensibility Enhancement
645095 Add an integration event to enable extensibility in Production Order Routing Line table validation logic. Extensibility Enhancement
645096 Add an integration event to enable extensibility in the purchase posting process, allowing external code to intercept and handle job line preparation before invoice posting. Extensibility Enhancement
645174 Add extensibility support for custom archive job handling scenarios through a new integration event. Extensibility Enhancement
645175 Add an integration event to enable customization of the PrintOnlyIfSales skip logic in the Item Sales Statistics report. Extensibility Enhancement
646532 Add an integration event to enable extensibility in the item journal posting process for validation tracking. Extensibility Enhancement
646614 Add an integration event to enable external customization before an unsupported source error is raised in the purchase availability management process. Extensibility Enhancement
637412 Improve Expense Agent feature telemetry by consolidating telemetry events and adding batch-level metrics. Finance
639678 Improve performance when calculating the VAT advance return and VAT statement in the German environment. Finance
639904 Ensure contact history logs reference the issued reminder number instead of the pre-assigned reminder number when using reminder automation. Finance
640599 Prevent Preview Posting from creating gaps in Sustainability Ledger Entry numbers. Finance
640614 Fix VAT rounding issues during deferral posting with non-deductible VAT. Finance
641041 Correct the application of the "Greater Than" Withholding Tax Calculation Rule in Withholding Tax Posting Setup. Finance
641058 Enforce formula input field editability based on the active Calculation Foundation in Sustainability Journal lines. Finance
641062 Ensure purchase invoice deferrals correctly calculate and display "Amount LCY" for foreign currency transactions. Finance
641515 Fix a regression in prepayment invoice amount calculation for sales orders with invoice discounts, prices including VAT, and negative non-inventory lines. Finance
642073 Prevent payment discount tolerance from being doubled when posting vendor payments within the grace period. Finance
642146 Resolve unbalanced General Ledger entries when multiple withholding tax rates are applied to a single purchase invoice. Finance
642309 Optimize O(N²) contract-renewal detection in Sales-Post subscribers to reduce posting CPU overhead of approximately 28% per batch. Finance
642745 Ensure changing the contact on a Customer Subscription Contract updates the contract email address. Finance
643257 Correct rounding of source currency amounts in General Ledger Entries. Finance
643341 Address multiple Sustainability feature issues related to carbon tracking, item charge emissions, and setup validation. Finance
643383 Ensure payment references from Purchase Order prepayment invoices are correctly transferred to vendor ledger entries. Finance
643961 Correct the depreciation basis for the Declining-Balance method by excluding depreciation posted before the depreciation starting date. Finance
643991 Prevent duplicate Expense Agent creation and add translation support for agent identity strings. Finance
644097 Support the GST portal's new HSN reporting requirements for GSTR-1 by enabling separate B2B and B2C HSN summaries. Finance
644102 Resolve errors when posting receipts against subcontracting orders by improving item ledger entry filtering and application logic. Finance
644127 Correct rounding precision for withholding tax amounts on foreign currency documents. Finance
644160 Prevent modification errors when only extension fields are changed in reported or paid withholding tax entries. Finance
644731 Ensure proper dimension mapping between IC dimension values and their corresponding IC dimensions during copy operations. Finance
644749 Fix subscription item price updates for items with variants when the variants are not correctly recognized. Finance
644797 Automatically populate the "Intrastat Country/Region Code" when an Intrastat line is added manually after specifying the "Country/Region Code". Finance
644858 Prevent IRS 1099 information from being specified on vendor ledger entries for vendors not configured for 1099 reporting. Finance
644917 Suppress zero-value rows in the trial balance by period. Finance
645007 Ensure valid XRechnung XML generation when invoice discount percentages contain more than two decimal places. Finance
645071 Ensure standard-cost purchase receipts use standard cost instead of direct unit cost when cumulative expected-cost rounding is enabled. Finance
645089 Correct the running balance calculation in the Detail Trial Balance report when closing entries are excluded. Finance
645149 Prevent withholding tax entries from a previous posting preview from appearing on unrelated documents. Finance
645183 Fix rounding errors in prepayment amount deductions on sales and purchase orders with 100% prepayment. Finance
645198 Fix the Renewal Term field on the Create Contract Renewal Quote page to accept values such as 12M. Finance
645231 Resolve permission issues where Expense Agent event subscribers block Employee record updates for Microsoft Entra application users. Finance
646074 Ensure the Known Senders table is populated only when tasks originate from email sources. Finance
646143 Rename PBI embedded pages. Finance
646262 Add GTIN (Global Trade Item Number) with GS1 scheme 0160 to XRechnung and ZUGFeRD electronic document exports. Finance
646379 Fix the Close Income Statement report to consolidate blank-dimension closing entries when Additional Reporting Currency (ARC) is enabled. Finance
646496 Resolve permission issues related to E-Documents for France. Finance
646606 Support the International Standard Code "1A" as a valid mileage unit of measure for Austrian localization. Finance
646646 Ensure TDS amounts are calculated correctly when the initial TDS section is selected in Bank Payment Voucher and other journal pages. Finance
646754 Handle unknown persisted PEPPOL format values. Finance
646788 Correct page captions when viewing price lists from Customer and Vendor cards to display specific customer/vendor information instead of generic "All Customers/All Vendors" text. Finance
646803 Fix a regression introduced by the Apply-to-Oldest payment application optimization. Finance
646805 Fix payment and message handling in E-Documents. Finance
646882 Prevent write transactions from being started when checking whether a Payables Agent can be created during read-only operations. Finance
647035 Support deriving bank clearing numbers from domestic IBANs when the Clearing No. field is blank for Swiss SEPA credit transfer exports. Finance
647047 Prevent Catalog Price Sync (report 30116) from timing out after 12 hours for merchants with large numbers of B2B catalogs. Finance
647050 Ensure vendor Additional Currency (ACY) amounts are correctly calculated and posted to purchase invoice payable entries in APAC regions. Finance
647305 Fix Aged Accounts Receivable (Excel) and Aged Accounts Payable (Excel) reports ignoring selected parameters and producing incorrect output. Finance
647308 Add GLN (Global Location Number) information to XRechnung and ZUGFeRD electronic document exports for German e-invoicing. Finance
647403 Correct duplicate detection when moving expense report lines between reports. Finance
647410 Prevent the "User Confirmed" field from being incorrectly copied to the "Canceled" field when posting expense report lines. Finance
647621 Improve payment reconciliation journal performance. Finance
647631 Prevent Payment History export crashes caused by string length overflow when combining entries. Finance
647632 Improve performance. Finance
608151 Prevent incorrect supply suggestions in the Order Planning Worksheet for items already received but not invoiced on Purchase Orders after date changes. Jobs
626712 Prevent Job Planning Line inventory from becoming unavailable for reservation or picking due to existing reservations on another project. Jobs
636861 Prevent negative Purchase Order received and invoiced quantities when increasing corrective credit memo quantities for Service and Non-Inventory items. Inventory
639932 Fix the incorrect Requisition Worksheet batch displayed when approvers open records from different batches through "Requests to Approve". Inventory
641223 Ensure automatic reservation is triggered when an item with "Reserve = Always" is selected through the Description lookup on sales order lines. Inventory
641715 Fix the "Item - ABC Analysis" page failing in Swedish due to a format string placeholder error. Inventory
642758 Fix Purchase Return Order posting failures for manually reserved lot-tracked items when exact cost reversing is enabled. Inventory
645178 Resolve UI ambiguity by renaming and conditionally hiding duplicate "Export/Import Item Data" actions when manufacturing functionality is enabled. Inventory
646086 Improve the user experience when adding Option-type attributes to item categories by validating blank values immediately and preventing invalid mappings from being saved. Inventory
646367 Resolve failures when undoing drop shipment receipts for Service and Non-Inventory items. Inventory
646958 Fix the Quality Test page becoming unresponsive when deleting a new test with a blank description. Inventory
647067 Fix Bin Replenishment with Pick by FEFO to prevent incorrect inventory movements and ensure movement worksheet lines are processed in basic warehouse locations. Inventory
635573 Support URL-encoded company names in HTTP headers. Integration
642280 Prevent mileage expenses from incorrectly triggering the "Receipt No. Mandatory" validation rule. Integration
644625 Upgrade the API version from the retiring Computer Vision v1.0 Analyze API to v3.2 before the September 2026 retirement deadline. Integration
644822 Prevent CRM bidirectional sync from incorrectly resetting fully invoiced, prepayment-based Released Sales Orders to Open status. Integration
644823 Handle non-file attachments without the contentBytes property when retrieving emails through the Outlook REST API to prevent batch processing failures. Integration
645099 Add extensibility support to warehouse receipt line splitting logic through a new integration event. Integration
646533 Enable external extensibility by changing the integration event attribute from non-subscribable to subscribable. Integration
646534 Add an integration event to support extensibility in the Transfer Header table's TestTransferLine procedure. Integration
640354 Fix low-level code calculation in manufacturing planning for multi-level Bills of Materials (BOMs) with Stockkeeping Units (SKUs). Manufacturing
641028 Deprecate the "Subcontractor - Dispatch List" report in preparation for its replacement by a new page in the Subcontracting application. Manufacturing
641865 Display the calendar horizon on work center and machine center pages to prevent runtime scheduling errors. Manufacturing
642441 Resolve duplicate key errors when calculating low-level codes for items and stockkeeping units that share the same production BOM. Manufacturing
643358 Resolve Reservation Entry errors when creating Purchase Orders from Sales Orders with item tracking. Manufacturing
644102 Resolve errors when posting receipts against subcontracting orders by improving item ledger entry filtering and application logic. Manufacturing
646188 Re-enable AppSourceCop rules after Subcontracting object renumbering. Manufacturing
646700 Exclude the current production order from the Copy Document lookup, aligning behavior with Sales and Purchase copy document functionality. Manufacturing
646701 Fix Direct Transfer creation failures for subcontracting when locations require Pick/Shipment with Directed Put-away and Pick enabled. Manufacturing
647381 Resolve errors when attempting to undo a posted subcontracting purchase receipt in Business Central. Manufacturing
640619 Resolve posting errors for foreign currency transactions with partial non-deductible VAT when source currency consistency checking is enabled. Purchase
642056 Optimize performance by preventing unnecessary database lookups when posting credit memos with empty key fields. Purchase
642188 Fix BCApps validation failures by refining VAT entry filtering logic in purchase-related test scenarios. Purchase
639566 Fix Sales Order List filtering in the "Delayed" view to prevent out-of-scope orders from appearing when using bookmarked views. Sales
642160 Prevent negative shipped and invoiced quantities from appearing on Sales Order lines after using Copy Document from a Sales Credit Memo. Sales
645085 Fix a hidden breaking change and instability when inserting Sales Line and Purchase Line records. Sales
646711 Resolve contact mapping and email routing issues in the Sales Order Agent (SOA). Sales
646721 Prevent users from activating or reconfiguring the Sales Order Agent by entering page=4400 in the URL. Sales
646788 Correct page captions when viewing price lists from Customer and Vendor cards to display specific customer/vendor information instead of generic "All Customers/All Vendors" text. Sales
647057 Resolve missing read permissions on the "Agent Task Message" table that cause the Sales Order Agent to pause when opening Contacts. Sales
647336 Fix handling of default extended text that is automatically inserted as note lines on sales quotes. Sales
647412 Ensure the Sales Order Agent requests user assistance for price calculation errors regardless of the "Check Availability" setting. Sales
647417 Improve documentation by clarifying tooltips for sales document flow settings on the SOA setup page. Sales
647439 Enable users to change manually selected contacts and choose from duplicate contacts in incoming email scenarios for the Sales Order Agent. Sales
647497 Defer agent activation and email monitoring changes until after the user submits a task in the "Try it out" flow. Sales
640085 Stabilize a flaky test by adjusting test data parameters to ensure consistent and reliable test execution. Warehouse

Local application hotfixes

AT - Austria

ID Title Functional Area
642018 Set the Employee Posting Group for the Austrian (AT) localization when creating new employees from templates. Finance

AU - Australia

ID Title Functional Area
638969 Resolve an incorrect validation error when exporting BAS Calculation Worksheets for consolidated companies in the Australian localization. Finance
643225 Correct GST amount calculation on prepayment credit memos and sales order corrections in the New Zealand and Australian localizations. VAT/Sales Tax/Intrastat

BE - Belgium

ID Title Functional Area
644611 Correct PEPPOL BIS 3.0 XML export for Belgian sales invoices with payment discounts to ensure the XML matches the invoice printout and passes validation. Finance

CH - Switzerland

ID Title Functional Area
642513 Prevent LCY-originated entries from being incorrectly included in foreign currency totals when G/L currency revaluation is enabled in the Swiss localization. Finance

CZ - Czechia

ID Title Functional Area
640064 Add support for integration events for CZ Advance Payment and CZ Cash Desk functionality. Finance
644115 Correct the UI ordering to ensure fiscal year actions follow a logical sequence in the Accountant CZ Role Center. Finance
644247 Correct the reverse charge limit check to use the VAT base amount after discounts instead of the gross amount before discounts. Finance
646179 Update VIES Declaration Type option captions and refactor validation logic to support extensibility in the Slovak localization. Finance

DE - Germany

ID Title Functional Area
631259 Resolve errors when importing e-documents in ZUGFeRD and XRechnung formats in the German localization by preventing trigger execution during database insert and modify operations. Finance
639678 Improve performance when calculating the VAT advance return and VAT statement in the German environment. Finance
644839 Add the buyer order reference to ZUGFeRD electronic document exports. Finance
645198 Fix the Renewal Term field on the Create Contract Renewal Quote page to accept values such as 12M. Finance
646093 Ensure DateFormula fields in recurring journal lines export localized tokens (for example, German +1T/+1J) instead of invariant tokens (+1D/+1Y) when using "Open in Excel". Integration

ES - Spain

ID Title Functional Area
639679 Resolve foreign currency rounding mismatches in Expense Report posting that caused test failures in the Spanish localization. Finance
642045 Fix service credit memo posting failures in the Spanish localization caused by incorrect settlement validation that ignores "Applies-to Doc. No." and the customer application method. Finance
642375 Ensure Bill Customer Ledger Entries use the alternative Customer Posting Group specified on sales documents instead of the customer's default posting group in the Spanish localization. Finance
643368 Resolve unbalanced G/L entries when posting and applying a Sales Credit Memo against a redrawn or rejected bill in the Spanish localization. Finance

FR - France

ID Title Functional Area
639574 Ensure payment discount lines in the French Audit File (FEC) correctly populate the CompAuxNum and CompAuxLib columns with customer or vendor information. Finance
641872 Prevent the SIREN field from being cleared on customer records when modifying common fields on linked contacts in the French localization. Marketing
645028 Resolve text truncation issues that cause BC 28.3 to fail in French environments when processing blanket sales orders with allocation account line types. Sales

GB - United Kingdom

ID Title Functional Area
639906 Restore missing header and footer information in the Issued Reminders (Report 117) for the United Kingdom localization. Finance
642173 Restore missing header and footer information in issued reminders for the United Kingdom localization. Finance
645120 Allow users to reopen quality inspections and modify the assigned User ID. Inventory

MY - Malaysia

ID Title Functional Area
641670 Add Withholding Tax fields to journal pages and validate required account fields in the Withholding Tax feature. Purchase

NZ - New Zealand

ID Title Functional Area
642609 Correct depreciation calculation in the New Zealand localization to use the adjusted 80% asset base instead of the full asset value in BC 28.1. Finance

US - United States

ID Title Functional Area
623874 Prevent 1099 adjustment amounts from being incorrectly copied when creating a new IRS reporting period from an existing period setup. Finance
645165 Correct the amount due calculation in the Remittance Advice report when using Suggest Vendor Payments with the "Summarize Per Vendor" option. Finance
646172 Prevent global dimension filters from being cleared when users select the Recalculate action on the Financial Report page. Finance
646785 Fix the Deferral Summary - G/L report to correctly filter totals by global dimensions. Finance
641669 Resolve the Codeunit 11489 binding failure that occurs when the codeunit has already been bound. Integration

Resolution

Which hotfix package to download

This update has multiple hotfix packages. Select and download one of the following packages depending on the country/region version of your Microsoft Dynamics 365 Business Central 2026 database.

Country/Region Hotfix package
AT - Austria Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 AT package
AU - Australia Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 AU package
BE - Belgium Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 BE package
CA - Canada Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 CA package
CH - Switzerland Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 CH package
CZ - Czechia Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 CZ package
DE - Germany Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 DE package
DK - Denmark Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 DK package
ES - Spain Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 ES package
FI - Finland Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 FI package
FR - France Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 FR package
GB - United Kingdom Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 GB package
IN - India Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 IN package
IS - Iceland Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 IS package
IT - Italy Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 IT package
MX - Mexico Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 MX package
NL - Netherlands Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 NL package
NO - Norway Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 NO package
NZ - New Zealand Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 NZ package
RU - Russia Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 RU package
SE - Sweden Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 SE package
US - United States Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 US package
All other countries/regions Download update 28.5 for Microsoft Dynamics 365 Business Central 2026 Release Wave 1 W1 package

How to install a Microsoft Dynamics 365 Business Central on-premises 2026 Release Wave 1 update

See How to install a Microsoft Dynamics 365 Business Central 2026 Release Wave 1 update.

Prerequisites

You must have Microsoft Dynamics 365 Business Central 2026 Release Wave 1 installed to apply this hotfix.

More information

See more information about software update terminology and Microsoft Dynamics 365 Business Central 2026 Release Wave 1.

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.