# BC Observatory: Code changes > Merged pull requests of Microsoft's Business Central code (microsoft/BCApps) that touch AL source: what changed, in our words, > joined by exact file path to the AL object pages. Tier official, metadata only. Frontmatter: schemas/frontmatter.change.json. 1083 changes, newest first. - [#12198 [29.x]Source Currency Inconsistency for LCY Postings and cash posting on sales documents](bcapps/12198.md): Fixes inconsistent Source Currency values on G/L entries for LCY postings and for cash posting on sales documents. The fix changes Gen. Jnl.-Post Line in the W1 layer and several localized layers in the 29.x release. (releases/29.x, 2026-10-08, fix) - [#12306 Warn before releasing a purchase order that was already sent electronically](bcapps/12306.md): A warning now appears when releasing a purchase order that was already electronically sent, preventing silent re-export of the same e-document with the same identifier that would later cause conflicts. (main, 2026-10-07, feature) - [#2392 AL-Go Telemetry Enhancements: repository fork and hosting information](al-go/2392.md): AL-Go telemetry now captures whether a repository is a fork and its GitHub hosting type (GitHub.com, GHEC, or GHES), helping distinguish workflows across different environments without sending server details to telemetry. (main, 2026-10-07, feature) - [#12078 [29.x]Reduce allocations in the "Export to Execl" scenario (#11870)](bcapps/12078.md): The Export to Excel scenario now allocates significantly less memory by reusing a CellDecorator instance, eliminating redundant ExcelBuf record calculations, and reducing method call overhead during column processing. (releases/29.x, 2026-10-07, performance) - [#11629 Fix Norwegian SAF-T 1.30 export issues](bcapps/11629.md): Norwegian SAF-T 1.30 export now correctly reports header versions, handles credit amounts as non-negative, excludes unselected dimensions from the XML, and counts transaction groups consistently across split files. (main, 2026-10-07, fix) - [#12428 Add Copilot feature trial interface](bcapps/12428.md): Added a public Copilot feature trial interface to System Application, enabling applications to initiate trials, query remaining quota, and consume trial usage with corresponding implementation codeunits and tests. (main, 2026-10-07, feature) - [#10446 [Bug][Subscription Billing] "Subscription Lines - Overdue" cue counts lines of contracts that already ended](bcapps/10446.md): Fixed the Overdue Subscription Lines cue and page to exclude subscription lines that have been billed past their term end date, eliminating false positives in the overdue count and improving accuracy by checking billing progress rather than relying on a stale flag. (main, 2026-10-07, fix) - [#10212 Add SetReferenceType method to SignedXml and SignedXmlImpl (#10139)](bcapps/10212.md): A SetReferenceType method is added to the SignedXml codeunit to allow callers to set the Type property on XMLDSIG Reference elements, enabling creation of XML signatures with typed references such as references to XAdES SignedProperties. (main, 2026-10-07, feature) - [#12463 Fix Email upgrade writing during no-transaction upgrade test](bcapps/12463.md): Email Installer no longer re-registers email tables based on allowed-table row presence, only checking upgrade tags or forced refresh to prevent unwanted database writes during upgrade tests. (main, 2026-10-07, fix) - [#11560 [E-Documents Core] [Peppol] - Enabling EDI capabilities with E-Documents. Send path (Self-Billed Purchase Invoice/Credit Memo → E-Document)](bcapps/11560.md): Enables exporting self-billed purchase invoices and credit memos as Peppol BIS 3.0 e-documents, with automatic type assignment based on vendor self-billing agreements and new manual creation actions on posted purchase pages. (main, 2026-10-07, feature) - [#12207 [MCP] Prepare Data Query Tools for billing](bcapps/12207.md): Data Query Tools for MCP are now marked billable with a pricing acknowledgement requirement before activation. When imported, users are prompted to confirm pricing; headless imports default to disabled. (main, 2026-10-07, feature) - [#11959 [Master]-Production Order Fails to Finish Due to Quantity Rounding Difference Between Component Consumption and Item Tracking Quantity - Copy](bcapps/11959.md): Production orders now correctly handle quantity rounding differences between component consumption and item tracking quantities to prevent finish failures. (main, 2026-10-07, fix) - [#12064 Support SharePoint paths containing hash and percent characters](bcapps/12064.md): SharePoint connector now supports file paths containing hash and percent characters by adding separate decoded-path APIs backed by ResourcePath endpoints, with a new REST Base Folder Path Format setting to control URL decoding behavior. (main, 2026-10-07, feature) - [#12135 Fix Reverse Charge VAT upgrade migration](bcapps/12135.md): Corrected field mappings and filtering logic in the Reverse Charge VAT upgrade migration to properly transfer legacy values into new GB fields using type-correct filters. (main, 2026-10-06, fix) - [#12215 [Shopify] Link grouped invoice to all originating orders](bcapps/12215.md): Invoice document linking to Shopify orders now correctly associates a single invoice with all originating Shopify orders when multiple shipments are grouped, instead of retaining filters from earlier shipments. (main, 2026-10-06, fix) - [#12214 [Shopify] Store currency handling for auto-created orders](bcapps/12214.md): The Shopify connector now persists the currency handling mode used during order processing to the Shopify order record, ensuring the stored value reflects the actual mode applied to the created sales document even if the shop configuration changes during synchronization. (main, 2026-10-06, fix) - [#10772 [Bug Fix] #304: [SOA] Re-resolve new sender to created contact after 'I have added the contact'](bcapps/10772.md): Sales Order Agent now correctly re-resolves sender information to the newly created contact after a user adds a contact in the chat, allowing the agent to proceed instead of reporting the customer cannot be found. (main, 2026-10-06, fix) - [#12325 [Expense tests] Re-enable reviewed APIs and consolidate Expense fixes](bcapps/12325.md): Expense Agent API tests are re-enabled. Eleven Expense API and helper paths move to shared authentication, 51 Expense API exclusions are removed, and nine non-API exclusions stay. Clean test codeunit execution is turned on, and 193 temporary API exclusions are added to the existing APIV1 and APIV2 manifests. (main, 2026-10-06, fix) - [#12118 Fix Email Inbox retention policy failing on missing indirect Read permission](bcapps/12118.md): Email Inbox retention policy no longer fails due to missing indirect read permission and now registers the table for existing tenants through an upgrade tag. (main, 2026-10-06, fix) - [#12261 Stop repeated rescheduling of Dataverse synch jobs on bulk changes](bcapps/12261.md): The Dataverse synchronization job reschedule logic now checks both the scheduled task's next run time and the job queue entry's earliest start date to avoid repeated rescheduling during bulk changes, reducing unnecessary Service Bus costs. (main, 2026-10-06, fix) - [#12309 Fix infinite recursion in Config. Package Field XML name generation](bcapps/12309.md): Fixed infinite recursion in XML element name generation when configuration package fields produce duplicate XML names by replacing recursion with a bounded loop that appends counters and properly shortens base names. (main, 2026-10-06, fix) - [#12188 [Master]-Reserved quantities do not match the expected quantities after planning - regression due to correction](bcapps/12188.md): Fixes a regression, caused by an earlier correction, where reserved quantities did not match the expected quantities after planning. The change is in the Mfg. Invt. Profile Offsetting codeunit and comes with new tests. (main, 2026-10-06, fix) - [#9347 Fix IssueDate in E-Documents for Germany](bcapps/9347.md): Fixed the IssueDate field in German E-Document exports (XRechnung and ZUGFeRD formats) to ensure correct date handling. (main, 2026-10-06, fix) - [#2395 Prevent workflow telemetry failures from failing the workflow](al-go/2395.md): WorkflowPostProcess telemetry failures no longer cause the entire workflow to fail, allowing GitHub API errors during finalization to remain visible in logs without blocking successful builds. (main, 2026-10-06, fix) - [#12370 Guard removed Manufacturing Setup fields with CLEANSCHEMA30 preprocessor](bcapps/12370.md): Manufacturing Setup fields marked as removed in version 30.0 are wrapped with preprocessor guards to comply with ObsoleteTag rules and match existing conventions in the file. (main, 2026-10-06, fix) - [#12139 [Shopify] Disable Create Sales Documents for empty order views](bcapps/12139.md): The Create Sales Documents action on the Shopify Orders page is now disabled when the current filtered view contains no orders, preventing users from attempting to create documents with no data. (main, 2026-10-06, fix) - [#12320 Fix 409 conflict in APIV2 Company Info E2E description test](bcapps/12320.md): Fixed 409 conflict errors in APIV2 Company Info E2E tests by disabling test isolation to allow commits to take effect, and changed Environment Information reads to no longer write the singleton record. (main, 2026-10-06, fix) - [#214 UI knowledge: notification recall needs a known Id; open mixed-type documents through Page Management](bcquality/214.md): Two new UI design guidance articles added to help developers properly manage notifications by using known IDs for recall and handle multi-document routing through Page Management instead of hard-coded mappings. (main, 2026-10-06, feature) - [#208 2 AL/BC patterns: TableRelation field length and RecordRef.Open Temp parameter](bcquality/208.md): Two new knowledge articles identify silent runtime mismatches in table relations and record reference calls that compile without diagnostic warnings. The articles explain the exact rules for field length matching and the pitfalls of using RecordRef.Open with the temporary parameter flag. (main, 2026-10-06, feature) - [#12304 [Master]-Page cannot open because of FlowField 'Last Run By User'](bcapps/12304.md): Fixes a problem where a financial reports page could not open because of the FlowField 'Last Run By User'. The change touches the Financial Report and Financial Report Audit Log tables and the Financial Reports and Acc. Schedule Overview pages. (main, 2026-10-06, fix) - [#12260 [Shopify] Fix shop card transaction navigation](bcapps/12260.md): The Shopify Shop Card payment transaction navigation now opens the correct transaction list and filters by the Shop field instead of the obsolete Shop Code FlowField. (main, 2026-10-06, fix) - [#11848 [main] Report 11564, Foreign Currency Layout: foreign currency opening balance is not included](bcapps/11848.md): Report 11564 now correctly includes foreign currency opening balances for G/L accounts with multiple registered source currencies, fixing previously understated running FCY balances. (main, 2026-10-06, fix) - [#12290 Remove CLEAN27 from Service Management](bcapps/12290.md): Removes code that had been kept behind the CLEAN27 symbol in Service Management across W1 and many localization layers. This deletes obsolete ES and IT pages and codeunits for updating posted service invoices and shipments and strips the related code from service tables, pages, page extensions, reports and codeunits. (main, 2026-10-06, refactor) - [#12143 Bug 649440: [Subcontracting] [IT] Disable Legacy Subcontracting leaves Component Supply Method empty after conversion](bcapps/12143.md): The Italian subcontracting legacy migration now correctly maps the vendor's procurement setting to the component supply method for both production BOM lines and existing production-order components during conversion. (main, 2026-10-06, fix) - [#12145 [Main]-Item charge assignment update Error on sales order when there is no Price. "Sorry, we just updated this page. Reopen it and try again." when running in SaaS](bcapps/12145.md): Fixed an error on sales orders when assigning item charges by amount when some item lines have no price. The assignment record set is now refreshed after bulk updates to prevent stale data issues. (main, 2026-10-06, fix) - [#12307 Make UpgradeDefaultDimensions ParentId backfill set-based (via DataTransfer)](bcapps/12307.md): The UpgradeDefaultDimensions procedure now uses set-based DataTransfer operations instead of row-by-row processing to backfill ParentId fields in Default Dimension records, significantly reducing upgrade runtime on large tables. (main, 2026-10-05, performance) - [#12055 [E-Documents Core] Show error for unmatched inbound Order Response](bcapps/12055.md): Unmatched inbound PEPPOL Order Responses now produce a descriptive error and remain visible in the E-Document list instead of being silently deleted. (main, 2026-10-05, fix) - [#11604 fix: capture Shopify fulfillment deliveredAt timestamp](bcapps/11604.md): The Shopify connector now captures and displays the fulfillment delivery timestamp from Shopify, enabling users to see when shipments were actually delivered. A new field stores the deliveredAt value, the GraphQL query requests it, and the import logic parses it across both order fetches and shipment exports. (main, 2026-10-05, feature) - [#12059 [Master]-Reverse Production Entry fails when production output is posted using a non-base Unit of Measure.](bcapps/12059.md): Reversing a production entry no longer fails when the production output was posted using a non-base unit of measure. The fix is in the Undo Prod. Posting Mgmt. codeunit. (main, 2026-10-05, fix) - [#12062 [Master]-[Quality Management] Workflow events are not localized](bcapps/12062.md): Workflow event labels in the Quality Management app are now properly localized for international users. (main, 2026-10-05, fix) - [#11637 [Master]- Create Documents on Recurring Billing ignores the Partner filter and fails when a vendor billing proposal exists](bcapps/11637.md): Create Documents in Recurring Billing now respects the Partner filter and no longer fails when a vendor billing proposal exists. The fix is a small change in the Create Billing Documents codeunit, with new tests. (main, 2026-10-05, fix) - [#11994 [Master]- [Planning Worksheet] Production Copy to Req. Wksh fails because destination fields are missing](bcapps/11994.md): Copying production planning lines to a requisition worksheet through the Carry Out Action Msg. - Plan. report no longer fails because of missing destination fields. The report now fills in the needed fields, and a new test covers the scenario. (main, 2026-10-05, fix) - [#12256 [Payables Agent] Exclude agent accounts from eligible users](bcapps/12256.md): Automatic user selection in Payables Agent Setup now skips users with the Agent license type. Before this, saving the setup or activating the agent could fail when an agent account had created a posted purchase invoice in the last 30 days, because the platform rejects an agent configuring another agent. (main, 2026-10-05, fix) - [#12141 [Master]-Incorrect project ledger costs when non-deductible VAT is posted to a foreign-currency project](bcapps/12141.md): Fixed incorrect project ledger costs when posting non-deductible VAT to a foreign-currency project by correcting currency conversions in the non-deductible VAT implementation. (main, 2026-10-05, fix) - [#9953 Rename AppSource UI text to Marketplace](bcapps/9953.md): User-facing text that references AppSource has been updated to use Marketplace terminology throughout the application and system components. (main, 2026-10-05, other) - [#12255 Fix overwrite import of exported system permission sets](bcapps/12255.md): System permission set imports with overwrite option now correctly delete permissions and relations that differ from the imported file, instead of merging silently. The fix handles both system and tenant format files, with tenant format now using exact role ID matching. (main, 2026-10-05, fix) - [#10182 [Bug]: [Subscription Billing] Payment discount on contract invoices comes from the customer, not from the contract's payment terms](bcapps/10182.md): Payment discount percentages on subscription billing invoices now correctly use the contract's payment terms instead of the customer or vendor's payment terms. (main, 2026-10-05, fix) - [#177 Add retention policy knowledge to the privacy domain](bcquality/177.md): Added guidance to the privacy domain in BCQuality about registering extension-owned tables for retention policies and shipping default retention policy setups, addressing common mistakes in how extensions handle log table cleanup. (main, 2026-10-05, feature) - [#12097 [29.X]-[Quality Management] Workflow events are not localized](bcapps/12097.md): Workflow event labels in the Quality Management module are now properly localized instead of showing hardcoded English text. (releases/29.x, 2026-10-05, fix) - [#218 Harden findings-report producer constraints](bcquality/218.md): Findings reports now enforce stricter validation rules for finding IDs, confidence levels, and severity values to prevent contract failures. Finding IDs must not contain citation fragments, uncited findings are restricted to medium/low confidence and minor/info severity, and a checklist clarifies proper handling of citation paths and line numbering. (main, 2026-10-05, fix) - [#213 knowledge(events): database trigger setup flags may only be set to true](bcquality/213.md): Adds a knowledge article and review check: subscribers to GetDatabaseTableTriggerSetup (Global Triggers) or OnAfterGetDatabaseTableTriggerSetup (codeunit 49) should only set the shared trigger flags to true. Assigning false or a lookup result can clear flags that other features or apps rely on. (main, 2026-10-05, feature) - [#215 knowledge(performance): grouped query (Count + ColumnFilter = HAVING) for distinct values and duplicates](bcquality/215.md): A new performance knowledge article teaches developers how to use query objects with grouped methods and column filters to detect duplicate values in a single SQL statement instead of looping with multiple queries. (main, 2026-10-05, feature) - [#209 3 AL/BC patterns: Insert/Delete trigger defaults on master data and declined Confirm in OnValidate](bcquality/209.md): Three new articles guide developers to use triggers when writing or deleting master data and to properly abort validations when user confirmation is declined. (main, 2026-10-05, feature) - [#216 knowledge(style): a new procedure that changes the page's current record should take it as var Record](bcquality/216.md): New style guidance document for AL developers on when procedures that modify a record should take the record as a var parameter, with good and bad code samples and exclusions. (main, 2026-10-05, feature) - [#12124 Fix default bin assignment when creating purchase orders for drop shipments](bcapps/12124.md): Fixed default bin assignment for drop shipments when creating purchase orders from sales orders. The requisition line no longer incorrectly receives a default bin during item validation when the drop-shipment flag is set. (main, 2026-10-05, fix) - [#11259 Postcode Configuration Page: display the stored provider selection on open](bcapps/11259.md): The Postcode Configuration Page now displays the currently stored provider selection when opened, preventing the configured value from being cleared when closing the page with OK. (main, 2026-10-05, fix) - [#11129 [Quality Management] Refactor permission management](bcapps/11129.md): Quality Management now uses standard permission errors instead of custom table permission checks, simplifying permission management while maintaining administrator-only access controls. (main, 2026-10-05, refactor) - [#9180 Copy record links to posted Phys. Invt. Order and Recording headers](bcapps/9180.md): Record links attached to physical inventory order and recording headers are now copied to their posted documents, matching the behavior of sales, purchase, and warehouse posting flows. (main, 2026-10-05, fix) - [#10799 Remove OnPrem scope from Table 1226 "Payment Export Data".SetSwissExport](bcapps/10799.md): The SetSwissExport procedure on the Payment Export Data table is now callable from Cloud extensions by removing its OnPrem scope restriction, making it consistent with other setters and the SwissExport field itself. (main, 2026-10-05, fix) - [#12242 29.x: Removing the restriction of deploying Power BI reports only to evaluation companies](bcapps/12242.md): Power BI report deployment is no longer limited to evaluation companies; deploying to My workspace still is. The setup wizard now lets you pick a workspace, and the workspace name is recorded at deployment time and shown in the deployments list. (releases/29.x, 2026-10-05, feature) - [#12152 [MCP] Clear environment description after environment copy](bcapps/12152.md): Environment descriptions are now cleared when an environment is copied, preventing the destination from retaining information about the source environment. (main, 2026-10-05, feature) - [#12213 [Financial Reports] Add row and column definition preview](bcapps/12213.md): Financial report row and column definitions now include preview capability. Users can set a counterpart definition on each report definition and quickly preview how the row or column layout renders. (main, 2026-10-05, feature) - [#12293 Remove CLEAN27 from Warehouse](bcapps/12293.md): Removes code guarded by CLEAN27 from warehouse codeunits, tables and a report in the Base Application. Elements obsoleted earlier are now deleted, so extensions still using them must be updated. (main, 2026-10-05, obsoletion) - [#12127 [AT] VAT Statement report doesn't print the 4.9% VAT rate columns on the U30 Form](bcapps/12127.md): The VAT Statement report for Austria now correctly includes 4.9% VAT rate columns on the U30 PDF form, fixing a gap in the original implementation. (main, 2026-10-05, fix) - [#11748 [Master] - Slice 626292: [Excise Tax][VENDOR] Bonded Locations for Excise Calculations](bcapps/11748.md): Excise tax calculation now handles bonded-location scenarios for suspended-duty transfers, with logic that determines when transfers from bonded to non-bonded locations are subject to excise tax. (main, 2026-10-05, feature) - [#10347 [Bug][Subscription Billing] Wrong number of days on vendor contract deferrals when the billing period lies within a single calendar month](bcapps/10347.md): Vendor subscription contract deferrals now calculate the correct number of days when a billing period falls entirely within a single calendar month, fixing day counts that previously extended to the month's end. (main, 2026-10-03, fix) - [#10210 [Bug][Subscription Billing] "Delete Invoiced Sales Orders" leaves orphaned Sales Subscription Lines behind](bcapps/10210.md): Fixed orphaned Sales Subscription Lines left behind by "Delete Invoiced Sales Orders" and "Delete Invd Blnkt Sales Orders" reports by adding event subscribers and batch deletion procedures on the Sales Header table extension. (main, 2026-10-02, fix) - [#8429 E-Document DE: map Payment Method to PEPPOL payment means codes, add SEPA Direct Debit export support](bcapps/8429.md): Payment methods can now be mapped to standard PEPPOL payment means codes, enabling SEPA Direct Debit support in German E-Document formats with automatic fallback to SEPA credit transfer for compatibility. (main, 2026-10-02, feature) - [#12196 [Master Data Management] Disable cross-env setup action OnPrem and fix field visibility issues](bcapps/12196.md): Master Data Management cross-environment setup action is now disabled for on-premises installations and field visibility is corrected to display cross-environment details properly on the setup page. (main, 2026-10-02, fix) - [#9438 SL - Add support for migrating historical project transactions](bcapps/9438.md): A new migration setting enables historical project transactions to be migrated alongside other historical data during SL migration, making project history a first-class migration option. (main, 2026-10-02, feature) - [#12074 Expense Agent: travel request expense location, per-traveler reports, activity log and submitter comment](bcapps/12074.md): The Expense Agent travel request feature now supports expense location selection using per diem rules, creates per-traveler expense reports on approval, logs the full request lifecycle, enables rejection with automatic reopen, and allows submitter comments for resubmissions. (main, 2026-10-02, feature) - [#12189 Removing the restriction of deploying Power BI reports only to evaluation companies](bcapps/12189.md): Power BI report deployment now works with regular companies, not just evaluation companies. Workspace selection is integrated into the deployment wizard, and the workspace name is tracked and displayed in deployment history. (main, 2026-10-02, feature) - [#12066 Bugs/remove asm inv mfg clean27 tags for wave2 2026](bcapps/12066.md): Removes the obsolete code that was kept under CLEAN27 conditional compilation in assembly, inventory, manufacturing and planning objects of the Base Application, its localization layers, and the Subcontracting, Sustainability and CZ Advanced Localization Pack apps. (main, 2026-10-02, obsoletion) - [#12167 Track QuickBooks migration usage consistently](bcapps/12167.md): QuickBooks migration now consistently tracks usage by adding an uptake telemetry event and backfilling historical migrations with completed status during upgrade. (main, 2026-10-02, feature) - [#205 Preserve business filters when recommending Record.Get](bcquality/205.md): The performance guidance for replacing FindFirst with Record.Get now clarifies that additional business filters must be preserved, either by keeping the filtered FindFirst or by enforcing equivalent conditions after Get. (main, 2026-10-02, fix) - [#12194 Harden web request helpers: opt-in default credentials](bcapps/12194.md): Http Web Request Mgt. and SOAP Web Service Request Mgt. now disable default credentials by default and require callers to opt in with SetUseDefaultCredentials(true) for on-premises installations, preventing unintended transmission of Business Central service account credentials to external hosts. (main, 2026-10-02, breaking) - [#12117 [Job Queue] Clearer message and attempt number for runs interrupted by the platform](bcapps/12117.md): When the platform interrupts a job queue run, the log entry message now says the run was interrupted by a service restart or update, shows the attempt number, and says a retry is scheduled. The existing 0000PCR telemetry signal gets a JobQueueInterruptedAttempt dimension. (main, 2026-10-02, feature) - [#10755 Migrate Http Web Request Mgt. callers to native HttpClient](bcapps/10755.md): Six callers, including currency exchange rate updates, external accountant invitations, JSON structure retrieval, OData metadata download and the Microsoft 365 E-Document GraphClient, now use native AL HTTP types instead of the legacy Http Web Request Mgt. codeunit. A new CreateMetadataRequest procedure is added while the old CreateMetadataWebRequest stays for compatibility. (main, 2026-10-02, refactor) - [#210 knowledge(upgrade): upgrade code must not use ChangeCompany](bcquality/210.md): New quality rule and knowledge article prevent upgrade code from using ChangeCompany, which can cause data races, duplicate upgrades, and trigger misexecution in the calling company context. (main, 2026-10-02, feature) - [#204 Validate composed reviews against the expected leaf worklist](bcquality/204.md): The findings-report validator gets an optional expected-composition manifest. It checks that selected leaves, versions, result order and legitimate skips match what the host chose. Duplicate producers are now rejected, and a composition with missing leaves must be reported as partial or failed instead of completed. (main, 2026-10-02, feature) - [#207 2 AL/BC UI patterns: client-expression in-list (AL0573) and Role Center AccessByPermission](bcquality/207.md): Two new UI knowledge articles were added. One covers in-list set-membership tests in client expressions such as Visible or Enabled on actions, groups and parts, which only raise warning AL0573. The other covers using AccessByPermission for permission gating on Role Centers, where triggers and procedures are not allowed. (main, 2026-10-02, feature) - [#203 knowledge(data-modeling): Prices Including VAT decides the basis of sales/purchase/service line amounts](bcquality/203.md): A knowledge article clarifies how the Prices Including VAT header flag affects the basis of line amount fields in sales, purchase, and service documents, distinguishing fields that follow the flag from those with fixed net or gross basis. (main, 2026-10-02, feature) - [#12206 Track C5 migration usage consistently](bcapps/12206.md): C5 2012 migration now emits standard cloud migration telemetry events for feature uptake, completion, and abort tracking, plus a one-time upgrade backfill for historical usage. (main, 2026-10-01, feature) - [#11628 Expense Agent: capture submission policy evaluation history](bcapps/11628.md): Expense Agent now captures policy evaluation history at the report level, storing outcomes and flagged categories in the activity log during submission and resubmission with deduplication per submission round. (main, 2026-10-01, feature) - [#12140 [Email - SMTP Connector] Fix OAuth Base64URL token parsing](bcapps/12140.md): OAuth2 SMTP authentication now correctly decodes Base64URL tokens by normalizing them to standard Base64 before parsing, fixing intermittent authentication failures when JWT payloads contain URL-safe characters. (main, 2026-10-01, fix) - [#11899 [Shopify] Tax matching fixes for country, Canadian HST, and zero-rate lines](bcapps/11899.md): The Shopify Tax Matching Agent now runs only for US and Canadian orders. It scopes Canadian HST/TVH jurisdictions by province, matches zero-rate tax lines, and holds orders as Tax Match Incomplete when a tax line is left without a jurisdiction. The matching prompt rules were also made consistent. (main, 2026-10-01, fix) - [#11854 [Shopify] Make refund currency codes read-only](bcapps/11854.md): Currency Code and Presentment Currency Code fields on the Shopify Refund Header table are now read-only to prevent accidental modification of imported Shopify data. (main, 2026-10-01, fix) - [#11866 [Shopify] Disable Sync Shipments To Shopify when no Shopify orders exist](bcapps/11866.md): The Sync Shipments To Shopify action on the Shopify Orders page is now disabled when no applicable Shopify orders exist. The check honors the Shop Code filter from the Shop Card and ignores other page filters, so a visually empty page does not wrongly disable the action. (main, 2026-10-01, fix) - [#11654 Repair and re-enable Expense Agent permission and posted-history tests](bcapps/11654.md): Expense Agent tests were repaired and re-enabled. The fixes cover permission checks, posted-history fixtures and foreign-currency fixtures, and 14 exclusions were removed from the disabled-test manifest. The Travel Requests API page was also adjusted, and HTTP API test exclusions stay in place. (main, 2026-10-01, fix) - [#12157 Mark GetAddress.io objects as obsolete](bcapps/12157.md): GetAddress.io UK postcode app objects are marked obsolete. Its page extensions and the test app were removed, and the remaining tables, pages, codeunits and permission set extensions now carry obsolete markings. The app is already uninstalled from tenants as of 28.3. (main, 2026-10-01, obsoletion) - [#11941 Bug 651577 CompAuxNum and CompAuxLib columns should be informed for Payment Discount lines on Unapplied Entries in the French Audit File.](bcapps/11941.md): The FEC audit file export now populates CompAuxNum and CompAuxLib columns for payment discount lines on unapplied entries by using G/L entry source type and number as a fallback when customer/vendor ledger entries are unavailable. (main, 2026-10-01, fix) - [#12061 [Master] - Bug 651754: Expense Management - Captions and ToolTips update](bcapps/12061.md): Expense Management pages now display improved captions and tooltips to provide users with clearer and more accurate field descriptions. (main, 2026-10-01, fix) - [#11889 [Master] - Bug 651129: Expense Agent - Distance UOM in Configuration](bcapps/11889.md): Expense Agent setup now includes distance unit of measure configuration, enabling users to specify the unit of measure for mileage expense calculations. (main, 2026-10-01, feature) - [#11314 [Project Arches] Microsoft Fabric Export Setup](bcapps/11314.md): New Microsoft Fabric Export functionality allows Business Central to export data to Microsoft Fabric with setup pages, configuration packages, and platform management capabilities. (main, 2026-10-01, feature) - [#12051 [Peppol] Fix Remittance Advice XML line count, Note order and invoice reference](bcapps/12051.md): The Peppol remittance advice XML export now correctly reports the actual line count, orders note elements according to XSD requirements, and uses the vendor invoice number for invoice references. (main, 2026-10-01, fix) - [#12134 [main] bug 652313 - Add Approvals Management integration to compensation, payment order and cash document processing](bcapps/12134.md): Approvals Management integration was added to compensation, payment order, and cash document processing in Czech localizations so approval entries are properly moved to Posted Approval Entry when documents are posted, preserving the audit trail. (main, 2026-10-01, fix) - [#12119 Fixing an APAC-specific issue with applying a posted sales credit memo when using unrealized VAT (GST)](bcapps/12119.md): An infinite loop when applying a posted sales credit memo with unrealized VAT (GST) in APAC regions is fixed by correcting logic in the VAT Entry table. (main, 2026-10-01, fix) - [#11609 [Main]-Reduce redundant record restriction checks in item journal line](bcapps/11609.md): Record restriction checks in item journal operations are optimized to eliminate redundant calls that were affecting performance. (main, 2026-10-01, performance) - [#12133 Block file scheme in Web Request Helper](bcapps/12133.md): Web Request Helper now rejects file:// URLs before creating HTTP requests to prevent unauthorized local file access through crafted URLs. (main, 2026-09-30, fix) - [#11960 [BC14] Classify historical entry pages as Archive in Tell Me](bcapps/11960.md): Five historical data pages from BC14 are now classified as Archive rather than Lists in Tell Me, moving them from the general Lists category to Reports and Analysis. (main, 2026-09-30, fix) - [#12070 Fix inconsistent CLEAN27/CLEAN28 tags in E-Document apps](bcapps/12070.md): E-Document apps now use consistent CLEAN27 and CLEAN28 tags so each cleanup step can be removed independently, fixing compilation failures when only CLEAN27 was applied. (main, 2026-09-30, fix) - [#2367 Enhance NuGet feed selection to support pre-release packages](al-go/2367.md): AL-Go now supports pre-release NuGet packages by adding an `-allowPrerelease` suffix to the nuGetFeedSelectMode setting, enabling developers to include pre-release versions in dependency resolution. (main, 2026-09-30, feature) - [#2382 Fix dependency artifact pattern for branch names with glob-special characters](al-go/2382.md): Fixed a bug where dependency artifact downloads failed silently when branch names contained special characters that minimatch interprets, such as commas, braces, or parentheses. (main, 2026-09-30, fix) - [#11822 Added missing indexes for GP historical snapshot](bcapps/11822.md): Added missing indexes to three GP historical snapshot staging tables to improve query performance during data migration. (main, 2026-09-30, performance) - [#11741 [MCP] Add company and environment descriptions](bcapps/11741.md): Company and environment descriptions are now stored and exposed via APIs to provide richer context for MCP and other consumers. Company descriptions are stored as BLOBs in Company Information, environment descriptions once per database in System Application, and both are made available as read-only fields in API v2.0. (main, 2026-09-30, feature) - [#11968 Bug 648782: omit the buyer PartyTaxScheme when the company has no VAT registration](bcapps/11968.md): Purchase order PEPPOL export now omits the PartyTaxScheme block when the company has no VAT registration number, preventing invalid XML validation failures. (main, 2026-09-30, fix) - [#2379 Avoid CI/CD runs for template SHA-only system updates](al-go/2379.md): The system no longer commits template SHA changes when only an empty commit occurs in the template repository, preventing unnecessary CI/CD triggers with no actual file modifications. (main, 2026-09-30, fix) - [#12080 Bug 649448: [Subcontracting] [IT] Fully received WIP purchase orders block Disable Legacy Subcontracting](bcapps/12080.md): Fully received work-in-progress purchase order lines no longer prevent disabling the Legacy Subcontracting feature. (main, 2026-09-30, fix) - [#12053 Remove-Sustainability-CLEAN27-tags-for-Wave2-2026](bcapps/12053.md): Removes code marked for cleanup in version 27 (CLEAN27) from the Sustainability, Power BI Reports, Subscription Billing and E-Document apps. The obsolete Sustainability Power BI embedded pages in Power BI Reports are deleted, and the code and test values that depended on them are removed. (main, 2026-09-30, obsoletion) - [#11989 [Bug 500351] Allow Effective Permissions for delegated admins and helpdesk](bcapps/11989.md): The Effective Permissions page now works for delegated admins and helpdesk users in SaaS instead of blocking them, since the underlying platform crash that prompted the original guard has been fixed. (main, 2026-09-30, fix) - [#175 9 AL/BC patterns: document distribution, price calculation & barcode extensibility](bcquality/175.md): Nine new AL/BC patterns document best practices for document distribution, report selections, price calculation extensibility, barcode usage, and posting-cascade field mirroring, with verified examples from Business Central source. (main, 2026-09-30, feature) - [#12008 [29.x]-TDS Amount incorrectly calculated under Tax Information Factbox if you use Applies-to ID in the Indian version.](bcapps/12008.md): Fixed TDS amount calculation in the Indian version when applying payments via Applies-to ID, which was incorrectly deducting the gross payment amount instead of the TDS base amount. (releases/29.x, 2026-09-30, fix) - [#12068 Bug 651757: [Repair Item] [Manufacturing] Warehouse Pick is not generated for Make-to-Order subassembly after registered put-away](bcapps/12068.md): The Completely Picked calculation for production orders now includes components supplied by other production-order lines, ensuring warehouse picks are generated for make-to-order subassemblies after put-away registration. (main, 2026-09-30, fix) - [#12082 Bug 650429: [Repair Item] [Subcontracting] Show Document opens the wrong transfer order from Transfer Lines (Page 5749)](bcapps/12082.md): In the Italian version, Show Document on the Transfer Lines page (5749) no longer opens the wrong transfer order for legacy subcontracting. The page now calculates the subcontracting-order FlowField before choosing which transfer order page to open. (main, 2026-09-30, fix) - [#9692 Fix effective permission filtering](bcapps/9692.md): The Effective Permissions page now displays specific object permissions correctly instead of showing wildcard permissions when filtering by object, ensuring the UI accurately reflects the configured authorization. (main, 2026-09-30, fix) - [#11945 Bug 648959: [Subcontracting] Fix serial splitting for non-last subcontracting put-away lines](bcapps/11945.md): Subcontracting inventory put-away lines with serial tracking are no longer incorrectly split into quantity-1 lines when not marked as last operation. (main, 2026-09-30, fix) - [#12007 [Main]-TDS Amount incorrectly calculated under Tax Information Factbox if you use Applies-to ID in the Indian version.](bcapps/12007.md): Fixed incorrect TDS amount calculation when applying payments to purchase invoices via Applies-to ID in the Indian version. The system was deducting the gross payment amount instead of the TDS base, resulting in over-deducted TDS. (main, 2026-09-30, fix) - [#11094 [FS] Prevent duplicate Field Service customer assets during item synchronization](bcapps/11094.md): Field Service Integration now prevents duplicate Customer Assets by setting Products synchronized from Business Central Items to not convert to Customer Assets, keeping BC as the source of truth for Customer Asset creation. (main, 2026-09-29, fix) - [#9642 [Bug]: E-Documents for Germany - FindEDocumentService always selects last matching service, ignoring which service triggered the export](bcapps/9642.md): E-Document exports for Germany now use the service that triggered the export instead of always selecting the last matching service, ensuring correct settings like PDF embedding are applied. (main, 2026-09-29, fix) - [#11813 Bug 633676: Expense Agent - Setup wizard - Cannot clear default approver once saved from assist edit](bcapps/11813.md): The Expense Agent Setup Wizard now allows users to clear the default approver field after it has been saved, fixing a previous restriction that prevented modification. (main, 2026-09-29, fix) - [#11774 Use lower case file extensions for document attachment file names](bcapps/11774.md): GetAttachmentFileName on Electronic Document Format now lower cases the file extension, so documents saved to disk or zipped through document sending profiles get .pdf, .xml or .zip instead of upper case extensions. The procedure signature and events are unchanged. (main, 2026-09-29, fix) - [#11967 Block Edit in Excel for pages based on the User table](bcapps/11967.md): Edit in Excel now blocks page-based editing for tables that are the User table to prevent authentication corruption when users are edited via Excel and published back. A new check in the Edit in Excel implementation logs telemetry and raises an error before workbook generation. (main, 2026-09-29, fix) - [#11901 Fix expense policy category mode](bcapps/11901.md): The Expense Policies page now locks the expense category field when opened for a specific category, automatically applies that category to new policies, and reads page-link filters from supported filter groups. (main, 2026-09-29, fix) - [#11722 [Shopify] Rename tax matching and add configurable processing limit](bcapps/11722.md): Customer-facing references to Shopify Tax Matching Agent now read Shopify Tax Matching, and AL object names stay unchanged. A new fail-closed, per-company rolling order limit is configured through the ShopifyTaxMatchingProcessingLimit Azure Key Vault value, and new telemetry covers configuration problems and limit exhaustion. (main, 2026-09-29, feature) - [#2378 Retry CI/CD baseline discovery when no eligible run is found](al-go/2378.md): AL-Go now retries CI/CD baseline discovery up to three times when the GitHub workflow-runs API returns incomplete results, with backoff pauses between attempts and pagination resets to avoid missing eligible baselines. (main, 2026-09-29, fix) - [#2380 Fix device login initialization with a shared authentication action](al-go/2380.md): A shared authentication action now handles device login initialization for AL-Go workflows, ensuring credentials are validated and helpers are available before sign-in instructions are displayed. (main, 2026-09-29, fix) - [#202 Restore deterministic review fixture coverage](bcquality/202.md): Quality review fixtures now register 23 knowledge articles with deterministic coverage, including retrieval keywords to ensure clean and positive controls remain discoverable within the bounded candidate set. (main, 2026-09-29, other) - [#198 Add BC performance knowledge from OptimAL learnings](bcquality/198.md): Adds six performance knowledge articles with paired good and bad AL examples on workload-based and overlapping indexes, buffered inserts, aggregate-before-write, scoped reuse and repeated validation. Refines existing guidance on partial loads, temporary buffers, bulk updates, existence checks, primary-key caching and FlowField versus stored totals. (main, 2026-09-29, feature) - [#161 AL methods limited during write transactions (RunModal, Codeunit.Run)](bcquality/161.md): New performance guidance documents platform restrictions on calling RunModal and Codeunit.Run methods during write transactions, explaining when each method is blocked and how to structure code to avoid triggering the runtime error. (main, 2026-09-29, feature) - [#159 3 AL/BC testing patterns from an external BC testing expert's blog (Luc van Vugt, fluxxus.nl)](bcquality/159.md): Adds three AL testing knowledge articles drawn from Luc van Vugt's blog: excluding known invalid relations in Table Relation Test through the OnAfterRemoveTableRelation event, committing shared fixture data inside a lazy Initialize(), and using Assert.IsFalse rather than asserterror around Assert.IsTrue. (main, 2026-09-29, feature) - [#157 18 more AL/BC patterns: data-modeling, testing, style, security, error-handling, ui, upgrade, web-services, appsource](bcquality/157.md): BCQuality adds 18 new knowledge articles covering data modeling, testing, style, security, error handling, UI, upgrade, web services, and AppSource patterns with code examples and best practices. (main, 2026-09-29, feature) - [#11961 Cache security group resolution in Effective Permissions](bcapps/11961.md): Effective Permissions Mgt. now caches the security-group access control filter per user, and page 9853 reuses the page's global instance, so Entra group membership is resolved once per user instead of on every row. This targets slow exports of effective permissions to Excel. (main, 2026-09-29, performance) - [#11992 Fix IRS Forms statement filters for box codes containing parentheses](bcapps/11992.md): IRS Forms statement filters now handle box codes with parentheses correctly by treating form-box identifiers as literal values instead of filter syntax. (main, 2026-09-29, fix) - [#11852 [main] Allocation Accounts with Invoice Discount produces wrong posted entries in Sales and Purchases documents in the Spanish version.](bcapps/11852.md): Fixed incorrect posted entries when allocation accounts are used with invoice discounts in Spanish Sales and Purchase documents. The allocation logic now correctly uses the pre-discount line amount instead of the already-discounted amount. (main, 2026-09-29, fix) - [#11993 Enable HTTP requests before Expense Agent setup](bcapps/11993.md): The Expense Agent extension now enables HTTP client requests when the setup wizard opens, allowing service communication before full setup completion. (main, 2026-09-29, fix) - [#11996 Restrict expense configuration maintenance to admins](bcapps/11996.md): Restrict configuration maintenance for expense management to administrators by removing write permissions from the Expense Mgmt. Edit permission set and granting them only through Expense Mgmt. Admin. (main, 2026-09-29, fix) - [#11970 Allow Azure OpenAI privacy notice in evaluation](bcapps/11970.md): Azure OpenAI privacy notice is now treated as approved during evaluation mode unless explicitly declined, while the Expense Agent privacy notice continues to require explicit approval. (main, 2026-09-29, fix) - [#11995 OfficeMgt.IsAvailable check added to fix flaky tests](bcapps/11995.md): The Outlook Mail Engine now checks if Office Management is available before reinitializing the configured Office host, preventing test failures when the Library Office Host Provider is overwritten with unsupported client host types. (main, 2026-09-29, fix) - [#11522 [main] [Order Planning] Production copy allows Req. worksheet templates that cannot create production orders](bcapps/11522.md): Production order copying in Order Planning now restricts the destination to nonrecurring Planning-type worksheets only, preventing invalid selections that would silently lose production demand when carrying out actions. (main, 2026-09-29, fix) - [#11484 [E-Documents Core] - Supported type direction configuration](bcapps/11484.md): E-Document services now support per-document-type direction configuration (Incoming, Outgoing, or Both), allowing administrators to control which document types each service can process and preventing implicit document exchanges. (main, 2026-09-29, feature) - [#11342 [29.x][ALL-E] Document Type is Quote in Document Attachment table (1173) after posting a Sales Invoice with attachmentsIntial Commit](bcapps/11342.md): Document attachments transferred after posting a sales invoice or credit memo now correctly retain the posted document type instead of being incorrectly set to Quote. (releases/29.x, 2026-09-29, fix) - [#196 Strengthen review contracts and add AL reliability guidance](bcquality/196.md): Adds seven AL reliability rules with good and bad samples: two on outbound HttpClient failure and status handling, and five on base quantities, SetFilter placeholders, test isolation, JSON null checks and format 9. The review framework also gets deterministic layered skill precedence and a findings-report validator. (main, 2026-09-29, feature) - [#199 Fix indirect permission letters: `ri` is indirect read plus insert](bcquality/199.md): A security best practice article now correctly explains that permission letters r, i, m, d each represent one permission (read, insert, modify, delete), and corrects its examples to avoid over-granting indirect permissions. (main, 2026-09-29, fix) - [#158 3 AL/BC patterns from CURABIS's internal automated-testing training material](bcquality/158.md): Four new AL/BC best practice patterns were added covering item ledger entry document numbers after combined posting and three testing approaches for verifying field UI state and generating unique test values. (main, 2026-09-29, feature) - [#156 18 AL/BC patterns: style, data-modeling, web-services, appsource, breaking-changes, performance, testing](bcquality/156.md): Adds 17 AL/BC knowledge articles with good and bad samples across style, data modeling, web services, AppSource, breaking changes, performance and testing, and updates the matching review skills. The description lists a FlowFields web-services article that is not among the changed files. (main, 2026-09-29, feature) - [#11947 [29x]-Create Movement from Movement Worksheet doesn't respect Quantity nor Qty. to Handle if we Get Bin Content](bcapps/11947.md): The Create Movement from Movement Worksheet process now correctly applies the specified quantity and quantity to handle values when retrieving bin content, instead of ignoring these limits during bin lookups. (releases/29.x, 2026-09-29, fix) - [#11321 Update default Pricing implementation (v.30)](bcapps/11321.md): The default pricing implementation in codeunit 7001 Price Calculation Mgt. was updated for v30 by removing 4 lines. The PR is linked as a fix for work item AB#651521; the description does not explain the exact effect. (main, 2026-09-28, fix) - [#10447 [Bug][Subscription Billing] Price Update Template filters on Subscription Lines are overwritten by the proposal's own default filters](bcapps/10447.md): Price Update Template filters on Subscription Lines are now correctly preserved instead of being overwritten by default filters. Two defects in the filter application logic were fixed: mandatory filters now use a separate filter group to intersect with template filters, and the Subscription Line record parameter is passed by reference to carry filters correctly. (main, 2026-09-28, fix) - [#10156 [Bug][SubscriptionBilling] Assign Subscription Lines dialog does not identify the sales line it was opened for](bcapps/10156.md): The Assign Subscription Lines dialog caption now shows the sales line No. and Description, and a new event lets extensions supply their own caption. During Explode BOM, package assignment now runs only once per component line, so the dialog no longer opens twice per component. (main, 2026-09-28, fix) - [#11770 [Master] - Bug 650783: [Expense Agent][Demo Data] Posted demo expenses remain Submitted with a dangling Expense Report No.](bcapps/11770.md): An issue where posted demo expenses remained in Submitted status with a dangling Expense Report number was fixed in the Expenses API. (main, 2026-09-28, fix) - [#11950 Adding an in-product email storage cleanup (backport to releases/29.x)](bcapps/11950.md): Backport to BC29 of an email storage cleanup tool for the Payables Agent. It is reachable only through a URL parameter, helps find duplicate inbox emails and proactively sends admins steps for remediation. (releases/29.x, 2026-09-28, feature) - [#11824 [29.x][Subscription Billing] Sales-Explode BOM fails for foreign-currency customers](bcapps/11824.md): Sales Subscription Line creation now correctly handles cached Sales Line data during BOM explosion for foreign-currency customers, preventing 'does not exist' errors. (releases/29.x, 2026-09-28, fix) - [#11870 Reduce allocations in the "Export to Execl" scenario](bcapps/11870.md): The Export to Excel scenario now allocates less memory by reusing objects instead of creating new ones for each cell, reducing garbage collection pressure in production. (main, 2026-09-28, performance) - [#11890 Adding an in-product email storage cleanup](bcapps/11890.md): The Payables Agent app adds an email storage cleanup page, reachable only via a URL parameter, that helps admins find duplicate email records and clean up email storage. A scheduler proactively sends admins steps for remediation. (main, 2026-09-28, feature) - [#11895 Make Reject Order reachable on inbound sales order drafts and confirm…](bcapps/11895.md): The Reject Order action for inbound sales orders is now accessible directly from the Sales Document Draft page where sellers review incoming documents. The action also requires confirmation and displays a confirmation message to prevent accidental rejection. (main, 2026-09-28, feature) - [#11896 [Master Data Management] Cross-env over-cap blob clears the subsidiary blob](bcapps/11896.md): In cross-environment Master Data Management sync, a source blob over 512 KB is no longer sent inline, and now a skip marker keeps the existing destination blob instead of clearing it. The inline media cache now uses last-write-wins per record and field, so the newest media state is applied. (main, 2026-09-28, fix) - [#11939 Bug 650391: [Subcontracting] Show subcontracting transfer quantities](bcapps/11939.md): The Prod. Order Comp. Line List page extension now displays transfer quantity fields (Qty. on Transfer Order, Qty. transf. to Subcontractor, and Qty. in Transit) for subcontracting components. (main, 2026-09-28, fix) - [#11938 Bug 650344: [Subcontracting] Prevent cancellation of vendor-supplied component lines](bcapps/11938.md): Subcontracting planning no longer proposes cancellation actions for vendor-supplied component purchase lines, preventing unintended line removals during regenerative planning. (main, 2026-09-28, fix) - [#11644 [Subcontracting] Bug 648937: Transfer WIP Item is lost when production orders are created from Planning Worksheet](bcapps/11644.md): The Transfer WIP Item setting and transfer descriptions from routing lines are now kept on Planning Routing Lines and carried through Planning Worksheet carry-out to production order routing lines. Previously they were lost when production orders were created from the Planning Worksheet. (main, 2026-09-28, fix) - [#11667 Fix quantity fields on Sales Return Order Archive](bcapps/11667.md): Sales Return Order Archive pages now display return-receipt quantities instead of shipment quantities. Return quantity fields are added and bound to archive records, while shipment fields are hidden by default but remain for extensibility. (main, 2026-09-28, fix) - [#11920 Add title to field monitoring feature pages](bcapps/11920.md): Field Monitoring Setup, Monitored Field Log Entries and Monitored Fields Worksheet pages now have a title. (main, 2026-09-28, feature) - [#11368 [29.X]-[Subcontracting] Purchase Return Order cannot be posted for subcontracting, while Corrective Credit Memo works well](bcapps/11368.md): Fixed an issue where purchase return orders could not be posted for subcontracting operations, while corrective credit memos worked correctly. (releases/29.x, 2026-09-28, fix) - [#11632 [29.X]-Source Currency Amount calculation causes discrepancies with Foreign Currency G/L Entries whit Reversal Charge VAT.](bcapps/11632.md): Fixed how Gen. Jnl.-Post Line calculates source currency amounts, so G/L entries in a foreign currency with reverse charge VAT no longer show discrepancies. (releases/29.x, 2026-09-28, fix) - [#11639 [Master] - Slice 640938: [Expense Agent][VENDOR] Adding approval limits (November '26)](bcapps/11639.md): The Expense Agent gains approval limits. New fields on User Setup and Expense User hold the limits, and the approval management codeunit now takes them into account when approving expense reports. Upgrade code and new interim approval tests are included. (main, 2026-09-28, feature) - [#11907 [29.x]-Incident 51000001968459: Issue while creating any import purchase invoice](bcapps/11907.md): Fixed inventory cost-loading for import purchase invoices with Nil-Rated GST and Non-Availment by ensuring Custom Duty is included in calculations even when GST amounts are zero. (releases/29.x, 2026-09-28, fix) - [#11906 [Main]-Incident 51000001968459: Issue while creating any import purchase invoice](bcapps/11906.md): Fixed cost-loading logic for import purchase invoices with Nil-Rated GST and Non-Availment setting to properly include Custom Duty in inventory and direct cost entries. (main, 2026-09-26, fix) - [#11823 [Main]-Create Movement from Movement Worksheet doesn't respect Quantity nor Qty. to Handle if we Get Bin Content](bcapps/11823.md): Fixed the Create Movement function to properly respect the Quantity and Quantity to Handle fields when retrieving bin content during movement worksheet operations. (main, 2026-09-26, fix) - [#9217 [Extensibility][SubscriptionBilling]: Make IsLineAttachedToBillingLine accessible from external apps in Sales Line and Purchase Line](bcapps/9217.md): The IsLineAttachedToBillingLine procedure in Sales Line and Purchase Line table extensions changed from internal to public visibility, allowing external applications to access this method. (main, 2026-09-25, feature) - [#11847 Use matching key for workflow event step instance lookup](bcapps/11847.md): A workflow step instance lookup key is redefined to match the actual filter and sort order, improving query performance from table scans to index seeks on large datasets. (main, 2026-09-25, performance) - [#11745 Bug 648781: check the party identifier that the PEPPOL export will use](bcapps/11745.md): PEPPOL validation now uses the same party identifier provider as export to ensure EndpointID is never empty, fixing cases where validation passed but export created invalid documents. (main, 2026-09-25, fix) - [#9293 [Bug][SubscriptionBilling] Process Usage Data Billing uses lines marked Processing Status = Error (currency mismatch)](bcapps/9293.md): Process Usage Data Billing now excludes lines marked with Processing Status Error, preventing recalculation of erroneous data and consolidating filtering logic into a single helper method. Processing Status is now properly maintained throughout the billing workflow and users can manually close or reopen usage data imports. (main, 2026-09-25, fix) - [#11730 Bug 649042: [Expense Agent] It would be nice if default data setup included number series for users, reports, etc.](bcapps/11730.md): The Contoso Coffee demo dataset now includes a number series for spend requests, making it available for users during default data setup. (main, 2026-09-25, feature) - [#11727 Bug 650737: Description for new currencies should be aligned with existing full descriptions](bcapps/11727.md): Currency labels in demo data now include country names to make their descriptions more complete and consistent across the application. (main, 2026-09-25, fix) - [#11798 [main] Bug 650733 External Doc No. now mandatory on Service Invoice](bcapps/11798.md): Fixes a bug where posting a service invoice wrongly required an External Document No. The check in Serv-Posting Journals Mgt. is adjusted in the W1, NA and ES layers, and the service invoice posting tests are extended. (main, 2026-09-25, fix) - [#11669 Fix reserved-lot re-picking after warehouse reclassification](bcapps/11669.md): A sales line can now re-pick its reserved lot after the original pick was registered, the unposted shipment was deleted and the stock was moved back to a pick bin by warehouse reclassification. CalcLineReservedQtyOnInvt now applies the existing shipment-bin guard to registered quantity, which avoids the Nothing to handle error. (main, 2026-09-25, fix) - [#11846 Fix View file on outgoing E-Documents to open the exported file](bcapps/11846.md): Opening the View file action on outgoing E-Documents now retrieves and downloads the exported file from the document log instead of failing, with appropriate user messages for XML files that cannot be previewed and cases where no exported file exists. (main, 2026-09-25, fix) - [#10717 Enable amount formatting with currency symbols](bcapps/10717.md): Amount formatting now supports displaying currency symbols or ISO codes before or after values using AL format-string tokens, with a new Default position option that defers to General Ledger Setup settings. (main, 2026-09-25, feature) - [#10213 Bug 8845 Old Prices Calculated in Req. Worksheet](bcapps/10213.md): When other fields on a Requisition Line are validated, Order Date is no longer set to a date before the work date, so prices are calculated correctly. Starting Date is now only updated through validation, so validating Order Date from code no longer sets it directly. (main, 2026-09-24, fix) - [#11815 Improvements to E-Documents PO matching (E2E findings)](bcapps/11815.md): E-Documents PO matching now correctly handles draft page warnings based on receipt status, prevents match state cleanup issues when resetting drafts, and shows finalized matches in the draft view for better visibility. (main, 2026-09-24, fix) - [#11832 [Master] - Bug 651133: [Expense Agent][BugBash] Mileage setup](bcapps/11832.md): Fixes a bug-bash issue with mileage setup in the Expense Agent Setup Wizard page. The change is a small 4-line addition; the PR gives no further detail. (main, 2026-09-24, fix) - [#11021 Expense Agent: align legacy submit cleanup with 29.0](bcapps/11021.md): The Expense Agent's legacy submit action cleanup lifecycle on main is aligned with the 29.0 release by updating the preprocessor guard and obsolete tag from version 30 to 29. (main, 2026-09-24, other) - [#11563 [E-Documents Core] [Peppol] - Add PEPPOL Requested Delivery Period support (header + line)](bcapps/11563.md): Added support for PEPPOL Requested Delivery Period at both header and line level in purchase order export, and fixed import to properly copy line-level requested delivery dates instead of silently dropping them. (main, 2026-09-24, feature) - [#11483 [E-Documents Core] - Linkage & Traceability](bcapps/11483.md): The E-Documents module now provides linkage and traceability by adding lookup functions to navigate from posted and ledger documents back to their associated E-Documents, with status and message FactBoxes displayed across all relevant sales, purchase, and service document pages. (main, 2026-09-24, feature) - [#11747 [master][Subscription Billing] Sales-Explode BOM fails for foreign-currency customers](bcapps/11747.md): Fixed a 'Sales Line does not exist' error when exploding an Assembly BOM on a sales order for a foreign-currency customer. GetDate() in the Sales Subscription Line table now reuses the cached in-memory Sales Line via GetSalesLine before falling back to a database lookup. (main, 2026-09-24, fix) - [#11736 [29.x][VIES Integration] Per-environment daily request rate-limit](bcapps/11736.md): A per-environment daily request rate-limit was added to VAT Registration Number lookups against the EU VIES service to prevent single tenants from flooding the shared outbound IP and causing service unavailability for co-located tenants in Business Central online. (releases/29.x, 2026-09-24, feature) - [#11734 [VIES Integration] Per-environment daily request rate-limit](bcapps/11734.md): A per-tenant daily rate-limit of 2000 VIES lookups prevents a single tenant from flooding the shared outbound IP used by Business Central online, which could deny-list the IP for all co-located tenants. (main, 2026-09-24, feature) - [#11507 [Master] Fix Unix timestamp timezone conversion](bcapps/11507.md): Unix timestamp conversion in TypeHelper now delegates to System.DateTime's Unix Timestamp codeunit to avoid incorrectly shifting UTC instants by the user's timezone offset, especially during daylight saving time. (main, 2026-09-23, fix) - [#11595 [Master] Bug 650348: [Expense Agent] Closed travel requests are editable and are missing approver info.](bcapps/11595.md): Travel request cards now prevent editing closed requests, record approver information for auto-approved requests, and display the requested-for user name. (main, 2026-09-23, fix) - [#11712 [Master] - Bug 624708: [Expense Management] Users sync - There should be a configuration wizard to ask if the Employees should be created behind if no match is found](bcapps/11712.md): Expense user synchronization gets new logic in the Expense User table and a small change to the Expense Users page. Per the title, it addresses asking whether employees should be created when sync finds no matching employee. Tests were added. (main, 2026-09-23, fix) - [#11705 [Master] - Bug 650785: [Expense Agent] Deleting an itemized Expense Category shows misleading missing-subcategories confirmation](bcapps/11705.md): Fixed a misleading confirmation message when deleting an itemized Expense Category that incorrectly references missing subcategories. (main, 2026-09-23, fix) - [#11593 [29.x] - Bug 650481[Expense Agent] Closed travel requests are editable and are missing approver info.](bcapps/11593.md): Travel requests can no longer be edited once closed, automatic approvals now record the approver details, and the requested-for user name is displayed on the travel request card. (releases/29.x, 2026-09-23, fix) - [#11375 Obsolete GPT-5.5 chat and add GPT-5.6 Ceres deployments](bcapps/11375.md): GPT-5.5 chat deployment getters in AOAI Deployments are marked obsolete because those deployments retire on 11 September 2026. New GPT-5.6 Ceres latest and preview getters are added, and Sales Order Agent attachment extraction and item search now use them. (main, 2026-09-23, obsoletion) - [#11561 [Permissions] Fix read-only error in obsolete permission cleanup](bcapps/11561.md): The Remove Obsolete Permissions action now deletes only from the Tenant Permission table instead of the read-only system Permission table, ensuring cleanup works correctly on SaaS infrastructure. (main, 2026-09-23, fix) - [#11262 Fix retention policy deletion-limit stop propagation](bcapps/11262.md): The retention policy deletion limit now stops further policy processing correctly by propagating the stop flag through the temporary setup record after each policy runs, preventing additional limit events after the batch should have ended. (main, 2026-09-23, fix) - [#11664 Add OnBefore event for approval insertion checks](bcapps/11664.md): An integration event is added to the Approvals Mgmt. codeunit that allows extensions to skip journal insertion approval checks by handling the event. (main, 2026-09-23, feature) - [#11257 Fix duplicate retention continuations for Waiting jobs](bcapps/11257.md): Retention policy continuation scheduling now detects Waiting jobs to prevent duplicate continuations when the dispatcher moves a job to Waiting status, checking for existing Waiting work before creating or restarting continuations. (main, 2026-09-23, fix) - [#11171 [Security][Hardening] Validate integration URLs stored in setup tables](bcapps/11171.md): Integration endpoint URLs stored in setup tables are now validated against their expected host and scheme before use to prevent credential redirection to malicious endpoints. The validation applies to Pagero, SignUp, Logiq, Shopify, Document Exchange, and Dataverse connectors, falling back to hardcoded values on mismatch. (main, 2026-09-22, fix) - [#11611 [Shopify] Add GraphQL type to request telemetry](bcapps/11611.md): Shopify request telemetry now includes a GraphQL Type custom dimension that captures the query type name for typed requests while preserving privacy by not exposing query contents or variables. (main, 2026-09-22, feature) - [#11682 [Expense Agent] Remove migration TODO and analyzer suppressions](bcapps/11682.md): Expense Agent setup code removes stale TODOs and obsolete analyzer suppressions, replacing broad suppression rules with compliant variable naming patterns. (main, 2026-09-22, refactor) - [#11701 [MCP] Hide codeunit APIs from Available APIs dropdown (AB#650771)](bcapps/11701.md): Codeunit API options are hidden from the MCP Configuration Available APIs dropdown until platform compiler support is ready, while all underlying validation and helper code remains intact for future re-enablement. (releases/29.x, 2026-09-22, fix) - [#11626 [Master Data Management] Fixing synchronization of contacts, media, date, datetime, source watermarking, permission issue and minor UX issues](bcapps/11626.md): Master Data Management synchronization is fixed to handle contacts, media caching, date/datetime values, privacy consent errors, and permission issues affecting non-SUPER users. (main, 2026-09-22, fix) - [#11658 [Shopify] Limit webhook subscription payload fields](bcapps/11658.md): Shopify webhook subscriptions now request only the required fields (id for orders, admin_graphql_api_id and type for bulk operations) instead of receiving full webhook resources, reducing payload size and network overhead. (main, 2026-09-22, performance) - [#11603 [Shopify] Show configured product status in Add to Shopify confirmation](bcapps/11603.md): The Shopify connector now displays the configured product status (Active, Draft, or Unlisted) in the Add to Shopify confirmation dialog, with SetIsActive obsoleted in favor of SetProductStatus. (main, 2026-09-22, fix) - [#11574 [main] Bugs 650415 Financial Report Open in Excel fails with duplicate Excel Buffer cell when LCY Code is empty](bcapps/11574.md): Export Account Schedule to Excel report fixed to prevent duplicate Excel Buffer cell errors when the local currency code is empty. (main, 2026-09-22, fix) - [#11649 [29.x]: When receiving a payment from an SEZ (Special Economic Zone) customer under the "Without Payment of Duty" scenario, GST is being calculated incorrectly in the Bank Receipt Voucher in the Indian version.](bcapps/11649.md): Fixed GST calculation for SEZ customers using the Without Payment of Duty scenario in the Indian Bank Receipt Voucher by triggering tax engine recalculation and correcting the use case configuration to properly zero out IGST and generate required ledger entries. (releases/29.x, 2026-09-22, fix) - [#10495 MSlenejennum/647454/sales internal new body layouts and obsolete current](bcapps/10495.md): Three sales reports receive new internal Word body layouts while their existing Word layouts are marked obsolete, with no change to default behavior since Excel remains the default rendering format. (main, 2026-09-22, feature) - [#11673 #[MAIN]-Not enough inventory available at vendor location for this order](bcapps/11673.md): India Localization subcontracting receipt now prevents duplicate component consumption that occurred when both standard manufacturing posting and the Delivery Challan process posted consumption simultaneously. (main, 2026-09-22, fix) - [#11710 [29.x]-Not enough inventory available at vendor location for this order](bcapps/11710.md): Subcontracting receipt posting no longer duplicates component consumption by suppressing automatic flushing for India Localization output lines that already have consumption posted via Delivery Challan. (releases/29.x, 2026-09-22, fix) - [#11679 [29.x][Subscription Billing] 1M 'Align to End of Month' line with end date produces a 1-day prorated stub](bcapps/11679.md): Fixed a billing period calculation issue in Subscription Billing where monthly billing with 'Align to End of Month' would create an unintended one-day prorated stub when the subscription line ended within the period. (releases/29.x, 2026-09-22, fix) - [#11292 Bug 648535: Reprice subcontracting lines after scheduling](bcapps/11292.md): Fixes repricing of subcontracting purchase lines in four cases: no matching price on carry-out, manually entered worksheet costs being overwritten, date edits on released orders failing, and lead-time-only rescheduling skipping repricing. (main, 2026-09-22, fix) - [#10247 [SOA] Show Cc recipients on email messages](bcapps/10247.md): Sales Order Agent email cards now display Cc recipients in a read-only field, matching Business Central's Email Viewer formatting, with special handling for mapped-contact replies and calculation failures. (main, 2026-09-22, feature) - [#11648 [MAIN]: When receiving a payment from an SEZ (Special Economic Zone) customer under the "Without Payment of Duty" scenario, GST is being calculated incorrectly in the Bank Receipt Voucher in the Indian version.](bcapps/11648.md): Fixed GST calculation for Special Economic Zone customers in Bank Receipt Voucher when receiving payments without duty payment in the Indian version. The tax engine now recalculates properly and generates required GST ledger entries. (main, 2026-09-22, fix) - [#11571 MSlenejennum/647477/convert demo data logo to transparent](bcapps/11571.md): The Cronus demo company logo is now loaded from a transparent PNG instead of a JPEG with an opaque background, improving appearance across different UI themes. (main, 2026-09-22, fix) - [#9646 [Bug]: [DE] XRechnung/ZUGFeRD — no posting-time error when SELLER CONTACT (BG-6) source data is incomplete, producing non-compliant e-invoices](bcapps/9646.md): E-Document posting now validates that seller contact information (from salesperson or company data) is complete before generating XRechnung/ZUGFeRD e-invoices, preventing non-compliant XML that would fail validation. (main, 2026-09-22, fix) - [#10064 Add support for “External Document No.” in Subscription Contracts Fixes #8818](bcapps/10064.md): Subscription Contracts now support an External Document No. field that is automatically transferred to generated sales documents and posted invoices, improving support for EAN invoicing scenarios. (main, 2026-09-22, feature) - [#11657 Fix VIES integrity check: tolerate country-code prefix on echoed VAT number (uptake fix)](bcapps/11657.md): The VIES integrity check for VAT numbers now tolerates country-code prefixes in echoed responses, normalizing both sides before comparison to prevent false rejection of valid VAT numbers during registration. (main, 2026-09-21, fix) - [#11493 [29.X]-VAT Settlement G/L Entries Do Not Populate Source Currency Amount and Source VAT Currency Amount After Running Calculate and Post VAT Settlement](bcapps/11493.md): The Calc. and Post VAT Settlement report now fills in Source Currency Amount and Source VAT Currency Amount on the VAT settlement G/L entries it posts. This is a 29.x release fix. (releases/29.x, 2026-09-21, fix) - [#2376 fix: modified files with umlauts](al-go/2376.md): Incremental build detection now finds project and app paths that contain umlauts or other special characters such as ß. It does this by turning off git path escaping and switching to UTF-8 output encoding while git diff runs. (main, 2026-09-21, fix) - [#11434 [main] Incorrect Additional Currency Base and Additional Currency Amount calculation in VAT/GST Entries when Line Discount is applied on Sales Invoice in the Australian version.](bcapps/11434.md): Fixed incorrect additional currency base and amount calculations in VAT entries for sales invoices with line discounts in the Australian version. (main, 2026-09-21, fix) - [#11635 Bugs/Bug 647818 Source Currency Amount FCY GL Entries Reversal Charged](bcapps/11635.md): Fixes how the source currency amount is handled when general ledger entries in a foreign currency are reversed. The fix is a one-line change in the Gen. Jnl.-Post Line codeunit, repeated in 11 localization layers. (main, 2026-09-21, fix) - [#11562 [Main] [ALL-E] Sales Line Discount % accepts 5 decimal places through Configuration Package import but rejects manual entry beyond 2 decimal places.Initial Commit](bcapps/11562.md): Sales Line Discount % field now consistently accepts the same number of decimal places whether entered manually or imported via Configuration Package. (main, 2026-09-21, fix) - [#11612 Multiple runs of email retrieval on the same emails don't persist again](bcapps/11612.md): Email retrieval no longer creates duplicate entries when the same emails are retrieved multiple times. A new centralized FindRetrievedEmail method helps connectors check if an email was already stored, and attachments are added only when needed. (main, 2026-09-21, fix) - [#11517 [29.x]-export/import of a report definition fails if the statuses in the originating company do not exist in the destination company](bcapps/11517.md): Importing a financial report row definition (Acc. Schedule Name) into another company no longer fails when its Status code does not exist there. Before the package is applied, status codes missing in the destination company are blanked, so the definition imports with an empty status that the user can set later. (releases/29.x, 2026-09-21, fix) - [#11336 [master] Report 400 (Remittance Advice) Does Not Include Applied Vendor Refund Entries Resulting in Incorrect Total Calculation](bcapps/11336.md): Report 400 now includes applied vendor refund entries that share a payment's document number, ensuring the report lines match the total amount instead of showing a discrepancy. (main, 2026-09-21, fix) - [#57 Add source-verified Finance knowledge and review domain](bcquality/57.md): Adds a Microsoft-owned Finance knowledge domain with nine articles, each paired with bad and good AL samples, plus a new al-finance-review skill. The articles cover posting ledger entries, dimension sets, applying entries, due dates, reversals, journal balance and Normal VAT amounts. (main, 2026-09-21, feature) - [#192 Add SCM functional knowledge domain](bcquality/192.md): SCM (supply chain management) functional knowledge domain added with nine scoped rules and self-contained AL code samples covering item posting, reservations, warehouse adjustments, and requisition workflows. (main, 2026-09-21, feature) - [#193 Clarify locale-safe DateFormula Evaluate inputs](bcquality/193.md): Adds a Microsoft Style article clarifying that DateFormula Evaluate calls require language-independent literals to work correctly in non-English localizations, addressing a localization gap where such calls could fail despite correct downstream CalcDate typing. (main, 2026-09-21, feature) - [#195 Add foundational AL developer knowledge](bcquality/195.md): Adds seven foundational AL knowledge articles covering document default initialization, directed rounding, guarded interface casts, dropdown visibility, page-part refresh, and install/upgrade ordering and version context. Related review skills get targeted retrieval cues. (main, 2026-09-21, feature) - [#11567 [29.x]Report 400 (Remittance Advice) Does Not Include Applied Vendor Refund Entries Resulting in Incorrect Total Calculation](bcapps/11567.md): Report 400 (Remittance Advice) now includes applied vendor refund entries that share the payment's vendor number and document number, ensuring the printed line items match the calculated total. (releases/29.x, 2026-09-21, fix) - [#9982 [Main] Item tracking validation when lot numbers are assigned concerns the warehouse pick level rather than at the sales order levelInitial Commit](bcapps/9982.md): Fixes a bug where item tracking validation for assigned lot numbers was evaluated at the warehouse pick level instead of at the sales order level. Logic was added to the Item Tracking Data Collection codeunit, with new tests in the W1 and RU SCM item tracking test codeunits. (main, 2026-09-21, fix) - [#11435 Validate unauthenticated public API responses before use](bcapps/11435.md): Unauthenticated external API responses are now validated for size, schema, and integrity before being used in tax and financial processing. The hardening covers VIES VAT validation, currency exchange rates, Nemhandel company status, and MTD fraud prevention endpoints. (main, 2026-09-18, fix) - [#11319 [MCP] Allow setting default configuration from card](bcapps/11319.md): The MCP configuration card now provides actions to set and clear default configurations directly from the card interface, with new regression tests added. (main, 2026-09-18, feature) - [#11155 Fix missing default item journal batch in Contoso Inventory setup](bcapps/11155.md): Inventory's default item journal batch is now created with its template during Contoso setup, removing the dependency on Manufacturing, Service, or Jobs modules for this creation. (main, 2026-09-18, fix) - [#11399 [master][Subscription Billing] 1M 'Align to End of Month' line with end date produces a 1-day prorated stub](bcapps/11399.md): Fixed a bug in Subscription Billing where monthly billing with Align to End of Month created an unwanted one-day prorated line when the subscription ended. The period end date calculation now properly includes the subscription line end date. (main, 2026-09-18, fix) - [#11001 Bug 648577: [IT] Subcontracting migration does not precheck bin-mandatory locations](bcapps/11001.md): The IT subcontracting migration now prechecks legacy vendor and purchase-header locations for unsupported warehouse settings, such as bin mandatory. If any are found it stops with a single error listing every incompatible location and its enabled settings, and leaves migration data untouched. (main, 2026-09-18, fix) - [#10513 [Extensibility Request] issue 30270: expose JobPostLine before calculating totals](bcapps/10513.md): Sales invoice posting exposes a new event that provides access to the Job Post-Line instance before calculating totals, enabling extensions to interact with job data during the posting process. (main, 2026-09-18, feature) - [#11294 [Master]-Source Currency Amount calculation causes discrepancies with Foreign Currency G/L Entries whit Reversal Charge VAT.](bcapps/11294.md): Source currency amount calculations in general journal posting were corrected to prevent discrepancies when using foreign currency entries with reversal charge VAT. (main, 2026-09-18, fix) - [#9525 [Shopify] Automatic Transaction Posting](bcapps/9525.md): Shopify payment transactions can now be automatically posted as general journal lines when related invoices or credit memos are posted in Business Central, with configurable journal templates and safety checks to prevent unintended posting. (main, 2026-09-18, feature) - [#11400 [Shopify] Handle missing variant mapping in product action](bcapps/11400.md): The Show product in Shopify action on the Item Card and Item List is now enabled only when the item has a Shopify Variant linked through an enabled shop. If the variant mapping disappears before the action runs, users get clear guidance instead of a raw database filter error. (main, 2026-09-18, fix) - [#11373 [Shopify] Improve shop navigation and background sync guidance](bcapps/11373.md): The Shopify integration adds shop-filtered payment actions to the Shop Card's Related menu and improves background synchronization guidance by directing users to Job Queue entries with clearer job descriptions. (main, 2026-09-18, feature) - [#11407 [Shopify] Keep exchange shipments eligible for synchronization](bcapps/11407.md): Exchange-refund Shopify orders now sync their shipments correctly. A bug where the refund ID was incorrectly copied to the fulfillment ID field during shipment posting has been fixed. (main, 2026-09-18, fix) - [#11290 [Bug 640454] Scope Expense Agent Entra permissions by company](bcapps/11290.md): The Expense Agent now manages Microsoft Entra permissions scoped to individual companies, adding company-specific grants on activation and removing them on deactivation while preserving other permissions and disabling the shared application only when no active companies remain. (main, 2026-09-18, fix) - [#11207 [Master]-Bug 648672: [Expense Agent][Translation] Agent name is not localized across setup wizard, avatar, and Agent Card](bcapps/11207.md): The Expense Agent name is now localized across the setup wizard, avatar, and Agent Card by removing the locked caption restriction in the Agent Metadata Provider. (main, 2026-09-18, fix) - [#10900 [Extensibility Request] issue 30431: expose report sender and globals](bcapps/10900.md): Report 952's time sheet processing events now expose the report sender and global variables to subscribers, enabling report customization through event handlers. (main, 2026-09-18, feature) - [#2355 Move CreateRelease update check to separate job](al-go/2355.md): The AL-Go CreateRelease workflow now runs update checks in a separate, parallel job instead of blocking release creation, allowing faster releases while keeping the check non-blocking. (main, 2026-09-18, refactor) - [#2328 Use cacheImageName for local development environments](al-go/2328.md): Local development environments now use the configured cacheImageName setting to enable reuse of cached Business Central images, reducing container creation time by avoiding repeated Business Central installations. (main, 2026-09-18, feature) - [#10676 Fix decimal tax rates for Polish region](bcapps/10676.md): Fixed decimal tax rate validation in Polish region by replacing locale-sensitive parsing with invariant XML decimal handling. (main, 2026-09-18, fix) - [#11541 Clarify Expense Agent and expense management setup](bcapps/11541.md): Page 6996 is now shown as Expense Management Setup, hiding redundant agent controls marked pending removal under CLEAN30. Wizard 6991 gains reminder frequency details, the Only Shortest Route setting and staged stale-account repair. Missing setup no longer defaults HTTP requests to production. (main, 2026-09-17, feature) - [#9225 [Extensibility][SubscriptionBilling]: Make usage data billing filtering extensible in SetUsageDataBillingFilters](bcapps/9225.md): Usage data billing filtering in Subscription Line now uses an open-ended filter instead of a bounded range, allowing custom enum values to be included, and adds an integration event to let partners adjust the filters. (main, 2026-09-17, feature) - [#10545 [Master] - Bug 647253: [WHT] Inconsistency with the Payments](bcapps/10545.md): Fixes bug 647253 about withholding tax inconsistency with payments by changing the Withholding Tax Mgmt. codeunit. A test checks that posting a payment without a Purchases journal template fails with the expected missing template error. (main, 2026-09-17, fix) - [#11333 Align travel request APIs with employee travelers and expense report lifecycle](bcapps/11333.md): Expense Agent APIs now align travel request and expense report workflows by adding employee filtering, creating expense reports during travel request approval, and supporting owner-scoped report recreation after draft deletion. (main, 2026-09-17, feature) - [#11147 Bug 648962: Create transfer order shows generic error when existing transfers cover subcontracting demand](bcapps/11147.md): The Create Transfer Order report now distinguishes between demand that is fully covered by existing transfers and truly ineligible demand, providing users with an actionable error message and navigation option to view related open transfer orders instead of a generic error. (main, 2026-09-17, fix) - [#10869 [29.x]-[WHT] Inconsistency with the Payments](bcapps/10869.md): Backport to 29.x of a fix for withholding tax inconsistency with payments, changing the Withholding Tax Mgmt. codeunit. A test checks that posting a payment without a Purchases journal template fails with the expected missing template error. (releases/29.x, 2026-09-17, fix) - [#11367 [29.X][Repair Item][SaaS][Drop shipment reversal] Undo Shipment fails with blank Bin Code at bin-mandatory location](bcapps/11367.md): Fixed an issue where undoing a shipment would fail when a bin code was blank at locations requiring bins during drop shipment reversals. (releases/29.x, 2026-09-17, fix) - [#10898 [Extensibility Request] issue 30434: add purchase prepayment amount event](bcapps/10898.md): An extensibility event allows purchase prepayment amount calculations to be overridden by extensions, matching the existing sales prepayment extensibility. (main, 2026-09-17, feature) - [#2340 Add opt-in unpublishOldVersions setting to unpublish stale PTE app versions after deploy](al-go/2340.md): AL-Go now supports an opt-in setting to automatically unpublish old, uninstalled versions of Per Tenant Extensions after deployment, keeping the Extension Management list clean and reducing clutter. (main, 2026-09-17, feature) - [#11419 [main] Bug 650139 The Non-Deductible VAT Amount is currently not taken into account in the VAT return Austria](bcapps/11419.md): The Austrian VAT return report (11110) now includes non-deductible VAT amounts and full base amounts in its calculations, fixing a reporting omission for Austrian users. (main, 2026-09-17, fix) - [#11324 [main] Bug 649837 Export to Excel All exported rows if Show Currency is enabled in General Ledger Setup.](bcapps/11324.md): Fixed an issue where exporting to Excel applied a selected currency to all exported rows when Show Currency was enabled in General Ledger Setup by hiding the unreleased currency feature. (main, 2026-09-17, fix) - [#11304 [Master]-Validation of the "No." field on the sales order additionally re-validates the Unit of Measure Code](bcapps/11304.md): Validation of the item number field on sales lines now prevents duplicate production order status checks when the unit of measure code is re-validated, fixing repeated modal dialogs and write-transaction errors. (main, 2026-09-17, fix) - [#11511 [29.x]Bug 647991 Assembly-to-Order Item Incorrectly Blocks Shipment of Unrelated Sales Order Line](bcapps/11511.md): Fixed an issue where posting an inventory pick for a non-ATO sales line could fail when an unrelated ATO line on the same order had outstanding warehouse activity. The fix prevents unnecessary updates to the assembly order when warehouse activity is still pending. (releases/29.x, 2026-09-17, fix) - [#10541 [Master] - Slice 641375: [Sustainability] Collect Amount from G/L Entries: track collected entries to prevent double counting](bcapps/10541.md): Sustainability Journal's collect amount function now tracks which G/L entries have been collected to prevent double-counting emissions when running collection over overlapping or adjacent periods. (main, 2026-09-16, feature) - [#11441 Fixes AB#640874: Clarify Expense Agent scheduling permission error](bcapps/11441.md): The Expense Agent scheduler authorization error message is now clearer, providing specific guidance to users about missing permissions and directing them to request 'Can Configure Agent' access from an administrator. (main, 2026-09-16, fix) - [#11114 [Master][ALL-E] Document Type is Quote in Document Attachment table (1173) after posting a Sales Invoice with attachments.](bcapps/11114.md): Document Type is now correctly set to Invoice or Credit Memo when attachments are transferred to posted sales documents, fixing an issue where the type was incorrectly defaulting to Quote. (main, 2026-09-16, fix) - [#11280 [Subcontracting] Bug 648949: Allow subcontracting direct transfers from warehouse locations](bcapps/11280.md): Subcontracting now allows direct transfers from warehouse-enabled source locations by removing an obsolete outbound warehouse guard in the transfer order creation report. (main, 2026-09-16, fix) - [#11436 [29.X]-Purchase invoice lines of type G/L Account where enabling 'Prices Including VAT' and changing the VAT Prod. Posting Group causes recalculation of the Direct Unit Cost Incl. VAT and Line Amount - Related to Bug 632380](bcapps/11436.md): Adjusts Purchase Line handling for G/L Account purchase invoice lines with Prices Including VAT enabled, where changing the VAT Prod. Posting Group caused Direct Unit Cost Incl. VAT and Line Amount to be recalculated. Related tests were updated. (releases/29.x, 2026-09-16, fix) - [#11260 Ruleset hardening: promote four legacy warning rules to Error](bcapps/11260.md): The repository ruleset now treats AS0103, PTE0004, AS0011 and AA0136 as errors instead of warnings. Legacy tables and identifiers are scoped as exceptions, 34 production tables are added to their owning permission sets, and unreachable code is removed without deleting any public API. (main, 2026-09-16, refactor) - [#11476 [29.X]-Item Availability by BOM Level Produces Inconsistent Able-to-Make Results When G-TOP-BOM-02 Replenishment Changes from Assembly to Purchase - 2606050050002529- #11411](bcapps/11476.md): Fixed inconsistent able-to-make results in Item Availability by BOM Level when an item's replenishment system changes from Assembly to Purchase. The Calculate BOM Tree codeunit is adjusted and a test is added. (releases/29.x, 2026-09-16, fix) - [#187 Code reviewer skill for recognizing and validating unauthenticated responses](bcquality/187.md): A new code reviewer skill was added to detect unauthenticated URL usage and validate the required response checks that must be enforced in those scenarios. (main, 2026-09-16, feature) - [#10969 [MAIN][All-e]Source Currency Inconsistency for LCY Postings and cash posting on sales documents](bcapps/10969.md): Source currency is now consistently applied to local currency postings and cash posting on sales documents, fixing an inconsistency in how currency is handled during general ledger postings across the system. (main, 2026-09-16, fix) - [#10934 [29.x][REPAIR] [ALL-E] Item tracking validation when lot numbers are assigned concerns the warehouse pick level rather than at the sales order level](bcapps/10934.md): Changes how Item Tracking Data Collection validates assigned lot numbers, addressing an issue where the validation concerned the warehouse pick level rather than the sales order level. Tests are added in the W1 and RU layers. (releases/29.x, 2026-09-16, fix) - [#11217 [Master] - Slice 641591: EUDR Certificate Capture for Items](bcapps/11217.md): EUDR certificate information can now be captured and tracked across items, lot information, and purchasing and sales documents, with the certificate propagated through purchase and sales transactions and displayed in the EUDR sales invoice report. (main, 2026-09-15, feature) - [#11481 [Master] - Bug 648681: [Expense Agent] Fix Expense Agent KPI report-line drill-down filter](bcapps/11481.md): The Expense Agent KPI drill-down filter now correctly shows only expense report lines for the selected report instead of displaying unrelated lines. (main, 2026-09-15, fix) - [#10828 Avoid remote attachment checks during FactBox refresh](bcapps/10828.md): Attachment FactBox navigation performance improved by deferring external file existence checks until explicitly requested via export or preview, preventing repeated synchronous SharePoint calls during list browsing. (main, 2026-09-15, performance) - [#11489 Clear Early Access Preview feature list](bcapps/11489.md): The Early Access Preview feature list is cleared to an empty array, and the loader is guarded to handle cases where no preview features are found. (main, 2026-09-15, fix) - [#11186 [Master]-]VAT Settlement G/L Entries Do Not Populate Source Currency Amount and Source VAT Currency Amount After Running Calculate and Post VAT Settlement](bcapps/11186.md): The Calculate and Post VAT Settlement report now correctly populates source currency amount and source VAT currency amount fields in VAT settlement G/L entries, fixing missing values that appeared after the settlement process ran. (main, 2026-09-15, fix) - [#11431 [Master] - [Expense Management] Move missing Employee Posting Group validation to rule violation](bcapps/11431.md): The Expense Agent now validates Employee Posting Group through rule violations instead of hard errors, allowing users to review and resolve missing posting groups gracefully without getting stuck during submission. (main, 2026-09-15, fix) - [#11359 [Master] - Bug 648886: [Sustainability][Value Chain] Transfer Order uses average emissions instead of Specific carbon tracking (lot/serial)](bcapps/11359.md): Sustainability posting now correctly tracks specific emissions for lots and serial numbers across transfer orders, preventing the use of average emissions on later sales. (main, 2026-09-15, fix) - [#11002 [Master] - Slice 626305: [Excise Tax][VENDOR] Improving Excise Duty Calculation](bcapps/11002.md): Excise duty calculation now supports specific-per-unit, ad valorem and hybrid rates through a new Excise Tax Rate table, list page and Excise Calculation Type enum. For item ledger entries, the final rate and calculation type are now applied before the taxable amount is calculated. Existing item/fixed-asset rates are migrated to the new table. (main, 2026-09-15, feature) - [#10825 [Master]-Bug 645041: Expense Agent - Rename Enable approval workflow caption and tooltip](bcapps/10825.md): The Expense Agent Setup page renamed the approval workflow toggle to clarify it switches to traditional approval instead of the Expense Agent experience, and adjusted field prominence. (main, 2026-09-15, fix) - [#11383 [SOA] Fix "The Order Promising Setup does not exist." crash when setting quote quantity](bcapps/11383.md): The Sales Order Agent now handles missing Order Promising Setup gracefully by skipping capable-to-promise calculations and preventing misconfiguration through a setup confirmation dialog on the SOA Setup page. (main, 2026-09-15, fix) - [#186 Add Query filter semantics guidance](bcquality/186.md): Documentation added explaining how DataItemTableFilter and ColumnFilter behave with runtime filters in queries, with examples and validation through the Query review skill. (main, 2026-09-15, feature) - [#152 knowledge(events): ChangeCompany leaves triggers and trigger-event subscribers running in the calling company](bcquality/152.md): A knowledge article documents that ChangeCompany does not move trigger execution context to the target company; triggers and trigger-event subscribers still run in the calling company. StartSession is recommended for cross-company operations that require proper trigger handling. (main, 2026-09-15, feature) - [#10437 [FR E-Reporting] Add payment and invoice lifecycle messages](bcapps/10437.md): E-Document message lifecycle infrastructure and French electronic invoicing support added to enable payment and invoice lifecycle communication with message queuing, response handling, VAT allocation, and buyer acceptance or refusal workflows. (main, 2026-09-15, feature) - [#9644 [Master] [Repair Item] Team Member unable to copy sales quotation when lines are associated to assembly](bcapps/9644.md): Fixed an issue where a Team Member user could not copy a sales quotation when its lines were associated with assembly. Copy Document Mgt. was adjusted in W1 and several localization layers, with a new test added. (main, 2026-09-15, fix) - [#11366 Filter top customer and top vendor Excel reports on the posting group](bcapps/11366.md): The Top Customer and Top Vendor Excel reports now correctly filter on posting group by joining detailed ledger entries to their parent ledger entries, since posting group fields in detailed entries are often unfilled on existing tenants. (main, 2026-09-15, fix) - [#183 Add reporting review guidance and evaluation fixtures](bcquality/183.md): Nine reporting rules and guidance articles have been added to the BCQuality knowledge base covering report variable clearing, CurrReport control flow, report extensions, table view narrowing, and request page cancellation. (main, 2026-09-15, feature) - [#182 Add machine-readable review orchestration contract](bcquality/182.md): BCQuality now generates a deterministic, machine-readable skill index from review frontmatter and validates review composition through schemas and CI checks. (main, 2026-09-15, feature) - [#11238 [29.X]- The Available to Take logic is incorrect or inaccurate in the Pick Worksheet as it includes Ship and Receive bin inventory](bcapps/11238.md): The Available to Take logic in the Pick Worksheet incorrectly included inventory from Ship and Receive bins. The calculation was corrected to exclude these bin types from availability calculations. (releases/29.x, 2026-09-15, fix) - [#11137 Composite Report Parts: seed via a report extension instead of install/upgrade code](bcapps/11137.md): The 14 shipped header/footer designs and report themes are now registered through a declarative Composite Layout report extension on Tenant Report Defaults instead of install/upgrade seeding code. The seeding codeunits, upgrade tag and SeedPart tests were removed, which also removes the elevated write path. (main, 2026-09-15, refactor) - [#184 Fix Job Queue knowledge sample links](bcquality/184.md): Job Queue knowledge articles were corrected to use relative Markdown links for code samples instead of inline code references, restoring the proper format required by the knowledge retrieval system. (main, 2026-09-15, fix) - [#11425 Bug 650137: [29.x] Expense Locations and Per-diem rules in configuration - Backport](bcapps/11425.md): Backport to 29.x that adds more expense locations and per-diem rules to the Expense Agent's default and demo data. Three new setup codeunits create the default expense locations, rule headers and rule conditions. (releases/29.x, 2026-09-15, feature) - [#11411 [Master]-Item Availability by BOM Level Produces Inconsistent Able-to-Make Results When G-TOP-BOM-02 Replenishment Changes from Assembly to Purchase - 2606050050002529](bcapps/11411.md): Fixed inconsistent able-to-make calculations in BOM analysis when a component's replenishment method changes between assembly and purchase types. (main, 2026-09-15, fix) - [#10875 [Master] Partial Warehouse Shipment with Lot-Tracked Item Fails on Second Shipment Due to Auto-Populated Bin Code and Item Tracking Quantity Validation Error ("You cannot select more than 0 units")Initial commit](bcapps/10875.md): Fixed a bug where partial warehouse shipments of lot-tracked items failed on subsequent shipments because the item tracking incorrectly inherited the sales line's bin code, restricting availability to that bin instead of allowing selection from the correct warehouse bin. (main, 2026-09-15, fix) - [#11420 [Master] - [Expense Management] Hide Enable Agent on Expense Agent Setup Page](bcapps/11420.md): The Enable Agent control on the Expense Agent Setup page is now hidden since it should be managed only through the setup wizard. (main, 2026-09-14, fix) - [#11208 [Master]-Purchase invoice lines of type G/L Account where enabling 'Prices Including VAT' and changing the VAT Prod. Posting Group causes recalculation of the Direct Unit Cost Incl. VAT and Line Amount - Related to Bug 632380](bcapps/11208.md): Fixed an issue where changing the VAT product posting group on G/L account lines in purchase invoices with prices including VAT incorrectly recalculated the direct unit cost and line amount. (main, 2026-09-14, fix) - [#11309 [29.X]-Post Inventory Cost to G/L fails when concatenated dimension text exceeds 250 characters](bcapps/11309.md): The 'Post Inventory Cost to G/L' report now handles dimension text longer than 250 characters without failing. (releases/29.x, 2026-09-14, fix) - [#11274 [Master]-[Drop shipment reversal] Undo Shipment fails with blank Bin Code at bin-mandatory location](bcapps/11274.md): Fixed an issue where undoing shipments failed with blank Bin Code errors at bin-mandatory warehouse locations, particularly for drop shipment reversals. (main, 2026-09-14, fix) - [#11339 Prevent order matching for invoice lines created by Get Receipt Lines](bcapps/11339.md): Matched order line functionality now rejects invoice lines created through Get Receipt Lines, preventing inconsistent matching information when working with similar purchase orders. (main, 2026-09-14, fix) - [#11381 Slice 641293: [Expense Agent] Expense Locations and Per-diem rules in configuration - added check for existing country](bcapps/11381.md): Expense Agent setup now skips creating expense locations, rule conditions and rule headers for country and currency codes that do not exist. This avoids failures in customer databases that hold less data than the demo data. (main, 2026-09-14, fix) - [#10840 Bugs/625412 Wrong posted G/L Entries and VAT Entries using Cash Basis Unrealized VAT from a partial Credit Memo if we mix VAT types and use only part of the amount in the Mexican version.](bcapps/10840.md): Cash-basis VAT calculations for partial credit memo applications now correctly determine settled amounts per VAT posting group, preventing incorrect G/L entries between realized and unrealized VAT accounts. (main, 2026-09-14, fix) - [#11320 [Master]-[Subcontracting] Purchase Return Order cannot be posted for subcontracting, while Corrective Credit Memo works well](bcapps/11320.md): Purchase Return Orders for subcontracting can now be posted correctly, matching the behavior of Corrective Credit Memos. (main, 2026-09-14, fix) - [#10798 [29x]-Mismatch between Purchase Invoice Total in Lines and Statistics after VAT adjustment](bcapps/10798.md): Fixed a mismatch between purchase invoice totals displayed on the lines subform and the statistics page when VAT amounts are manually adjusted with mixed VAT groups. The fix recalculates grouped VAT and synchronizes the subform totals. (releases/29.x, 2026-09-14, fix) - [#11157 [main] Bug 647991 Assembly-to-Order Item Incorrectly Blocks Shipment of Unrelated Sales Order Line](bcapps/11157.md): A fix prevents Assemble-to-Order sales lines from incorrectly blocking the shipment of unrelated non-ATO lines on the same order when warehouse activities are pending. (main, 2026-09-14, fix) - [#148 Add Job Queue reliability and scheduling guidance](bcquality/148.md): Six new performance guidance articles document reliability and scheduling practices for Job Queue and Task Scheduler workloads, including idempotency requirements, UI independence, failure propagation, category-based serialization, on-hold behavior, and duplicate task prevention. (main, 2026-09-14, feature) - [#142 Add AL-focused AppSource validation guidance](bcquality/142.md): Six community AppSource knowledge articles with paired good and bad AL samples now cover profile objects, invariant date literals, page extension action placement, UI calls in web-service paths, UsageCategory on searchable entry points, and time-zone offsets. The AppSource review skill routes AL signals to them. (main, 2026-09-14, feature) - [#11242 [main] bug 640925 - Enhance draft and proforma invoice report layouts and upgrade tag definitions](bcapps/11242.md): Czech localization Draft and Pro Forma Invoice layouts are updated, and an upgrade sets the CZ RDL layouts as default unless a custom layout is selected. Pro Forma Invoice VAT is now calculated from temporary sales lines via SalesPost.GetSalesLines, with non-Item lines filtered out, for correct VAT amounts. (main, 2026-09-14, fix) - [#11378 [29.x][InterCompany][SII] Setup and telemetry enhancements](bcapps/11378.md): Backport to 29.x of setup and telemetry enhancements for the Cross Intercompany connector and its setup pages and for the Spanish SII Setup table, taken from #11016. Automated intercompany tests were added. (releases/29.x, 2026-09-14, feature) - [#11144 [Master]-Post Inventory Cost to G/L fails when concatenated dimension text exceeds 250 characters](bcapps/11144.md): The Post Inventory Cost to G/L report now handles cases where concatenated dimension text exceeds 250 characters without failing. (main, 2026-09-12, fix) - [#11386 Fix E-Doc. Item Charge Mapping codeunit ID](bcapps/11386.md): The E-Doc. Item Charge Mapping codeunit ID was corrected from 6532 to the properly assigned ID 6246. (main, 2026-09-12, fix) - [#10970 [Master] -SubBilling BillingLine doesn't consider entries for usage date ranges crossing periods](bcapps/10970.md): Fixed subscription billing to correctly include usage data entries whose charge periods span across billing rhythm periods, preventing lost billing and reconciliation errors. (main, 2026-09-11, fix) - [#11163 [29.x]Adjustment Amount is not accurate in the Exch. Rate Adjmt. Ledger Entries page if an Unrealized Gain gest registered and a second adjustment turns into a Loss.](bcapps/11163.md): The Exchange Rate Adjustment process now correctly calculates individual adjustment amounts in ledger entries when unrealized gains reverse into losses, instead of incorrectly using cumulative amounts. (releases/29.x, 2026-09-11, fix) - [#9363 GP - Updates 202607](bcapps/9363.md): The GP migration now spreads item transactions across multiple batches instead of one and supports more custom G/L account expense categories. Validation is corrected for payment terms, POs split over multiple lines, and Code/Text type mismatches, and the account beginning balance validation is removed for now. (main, 2026-09-11, fix) - [#180 Normalize recoverable leaf finding ranges](bcquality/180.md): Review findings whose primary line lies inside location.range but differs from start-line are no longer rejected. A deep-copied candidate drops the optional range, keeps the raw output unchanged, and must pass the existing strict acceptance gate. All other invalid or ambiguous leaves still fail. (main, 2026-09-11, fix) - [#11206 [CH] When posting with FCY, VAT G/L Entry stores VAT base amount in Source Currency Amount instead of VAT amount](bcapps/11206.md): In the Swiss (CH) localization, VAT G/L entries posted in a foreign currency now store the VAT amount in Source Currency Amount instead of the VAT base amount. Gen. Jnl.-Post Line no longer recalculates source currency amounts when it initializes a system-generated G/L entry. (main, 2026-09-11, fix) - [#179 Add bounded knowledge retrieval](bcquality/179.md): Adds bounded, lossless knowledge retrieval for BCQuality review skills. Catalog pages are capped at 16,000 UTF-8 bytes and return every applicable row with no ranking. Article and sample bodies are fetched exactly in chunks of up to eight paths. Each review leaf gets private GUID-scoped scratch and report paths, and its return is validated deterministically before rollup. (main, 2026-09-11, feature) - [#11141 [main] bug 649305 - Add Report Address Source functionality to Company Information](bcapps/11141.md): Company Information in the CZ localization now includes a configurable Report Address Source setting that lets users choose whether printed sales and purchase documents show the address from Company Information or a Responsibility Center. (main, 2026-09-11, feature) - [#11318 [main] Bug 649189: Update E-Document vendor invoice caption](bcapps/11318.md): The E-Document purchase header field caption and page labels were updated to use applies-to terminology instead of vendor invoice number terminology, clarifying that the field refers to the external invoice number being referenced. (main, 2026-09-11, fix) - [#178 Separate deterministic analyzer rules from BCQuality](bcquality/178.md): Deterministic analyzer rules and their documentation are removed from BCQuality, leaving only knowledge that adds BC-specific context beyond what the compiler already enforces. (main, 2026-09-11, refactor) - [#176 Complete partner contribution and knowledge consumption guides](bcquality/176.md): Documentation expanded to guide partners on reading quality knowledge, contributing articles, and consuming skills in custom agents, with clarifications on metadata, integration, and SetLoadFields guidance. (main, 2026-09-11, other) - [#10670 Add Agent Task Log JSON export](bcapps/10670.md): Agent Task Log now supports JSON export of selected rows with detailed context including task information, messages, actions, and page snapshots, with access control based on agent-management permissions. (main, 2026-09-11, feature) - [#11016 [AI Business Solutions] Enforce allow-listed Redirect URIs, token audiences and authorities for OAuth2 integrations](bcapps/11016.md): Hardens OAuth2 integrations: Intercompany now builds the authority from the tenant GUID over HTTPS and validates the destination host more strictly. The Outlook REST API customer app requires an exact redirect URI match. SII Setup emits audit and telemetry signals for invalid URLs, and the SharePoint connector guidance now recommends Sites.Selected. (main, 2026-09-10, fix) - [#10155 Slice 641293: [Expense Agent] Expense Locations and Per-diem rules in configurationAdded more locations](bcapps/10155.md): Expense Agent now includes comprehensive expense locations for all country/regions with corresponding expense rule headers and conditions to support more detailed per-diem and rule configuration. (main, 2026-09-10, feature) - [#11211 [Bug 649379] Composite layout stress-test fixes, part resolution source and status action captions](bcapps/11211.md): Fixes composite report layout defects: a new layout can no longer overwrite one with the same name, default layouts must stay Approved, and empty uploads are rejected. Blank header/footer parts can be created. Show layout parts now resolves the effective layout correctly, and status actions read Set as .... (main, 2026-09-10, fix) - [#11023 BE's PEPPOL "escompte" compensation](bcapps/11023.md): Belgian PEPPOL invoices and credit memos keep the payment discount AllowanceCharge so VAT uses the discounted base. They add a compensating AllowanceCharge, an extra TaxSubtotal and ChargeTotalAmount so totals show the full amount as BE practice requires. Analogous changes were made in BaseApp and a test app was added. (main, 2026-09-10, fix) - [#10348 Adding a Power BI workspace to Company Information to be used when deploying reports](bcapps/10348.md): Company Information now supports configuring a Power BI Workspace to serve as the target destination for deploying Power BI reports from Business Central. (main, 2026-09-10, feature) - [#11121 Fix generation rule source table validation](bcapps/11121.md): Fixed source table validation for quality inspection generation rules to prevent clearing the source table through programmatic modifications while allowing legacy rules without a source table to remain editable. (main, 2026-09-10, fix) - [#11096 PEPPOL FR improvements](bcapps/11096.md): French PEPPOL exports now correctly handle billing profiles, identifiers, regulatory comments, and delivery information to meet partner feedback and French e-invoicing requirements. (main, 2026-09-10, feature) - [#10990 Add-Expense-VAT-settings-to-Contoso-demo-tool](bcapps/10990.md): The Expense Agent Contoso demo data now includes expense VAT settings. G/L account demo data was added and registered in the Expense Agent Contoso module and country data, and the Create Expense VAT Rates codeunit was substantially reworked. (main, 2026-09-10, feature) - [#11218 [master] - Subscription Contract Price Update applies the lowest sales price across all Unit of Measure codes instead of respecting Unit-Specific Price List entries in Subscription Billing.](bcapps/11218.md): Subscription Contract Price Update now correctly respects unit-specific price list entries when calculating prices instead of applying the lowest price across all units of measure. (main, 2026-09-10, fix) - [#10753 Cross-environment Master Data synchronization (same tenant)](bcapps/10753.md): Cross-environment Master Data Management now allows subsidiary environments to synchronize master data from a source environment within the same tenant via an authenticated ODataV4 API, with capability negotiation, resumable streaming, inline media support, and OAuth2 transport. (main, 2026-09-10, feature) - [#11214 [29.x][All-e][SaaS] Last name of the employee relative is not editable when customized using “Profile (Role)”](bcapps/11214.md): The Last Name field for employee relatives is now visible and editable on the Employee Relatives page after being missing from the page layout. (releases/29.x, 2026-09-10, fix) - [#10880 [29.X]-Inconsistent Validation of Non-Deductible VAT % for Purchase Lines Sharing the Same VAT Identifier](bcapps/10880.md): Non-deductible VAT % validation in the Non-Ded. VAT Impl. codeunit is now applied the same way to every purchase line that shares a VAT identifier. Two lines were removed from the implementation, and tests were updated in several country layers. (releases/29.x, 2026-09-10, fix) - [#11209 [29.x]-"The record in table Reminder Line already exists." error appears if you Create Reminders for a Customer with all the Open Entries On Hold and no Reminder Free applied on the Reminder Terms used.](bcapps/11209.md): Fixed an error that occurred when creating reminders for customers with all open entries on hold and no reminder free applied on the reminder terms. (releases/29.x, 2026-09-10, fix) - [#10874 [29.x]User is unable to filter the Deferral Summary-GL Report Not Filtering Totals by Global Dimensions.](bcapps/10874.md): The Deferral Summary-GL Report now properly supports filtering by global dimensions, allowing users to filter report totals as expected. (releases/29.x, 2026-09-10, fix) - [#11095 [main] Bug 649204 Validation missing for Deferral Code field on Released Purchase documents.](bcapps/11095.md): Deferral Code field on released purchase line documents now validates that the purchase header status is open, preventing modification of deferrals on non-open purchase records. (main, 2026-09-10, fix) - [#11113 [Master][All-e][FTE][SaaS] Last name of the employee relative is not editable when customized using “Profile (Role)”.](bcapps/11113.md): The Last Name field is now visible and editable on the Employee Relatives page, allowing users to view and modify employee relative information. (main, 2026-09-10, fix) - [#11213 Fix sample invoice email when the agent setup is not saved yet](bcapps/11213.md): The payables agent demo guide now receives the setup configuration from the setup page buffer instead of fetching it from the database, allowing sample invoice emails to be sent even before saving the setup. (main, 2026-09-09, fix) - [#11150 Deliverable 638799: Requisitions in Base App: Missed dataclassification on user field](bcapps/11150.md): A missing data classification attribute was restored on a user field in the Spend Request table. (main, 2026-09-09, fix) - [#11055 Allow bank rec. duplicated transactions surfaced in UI](bcapps/11055.md): Bank reconciliation now exposes UI controls to allow users to process duplicate transactions when importing bank statements, addressing scenarios with SEPA CAMT files containing duplicate transaction IDs. (main, 2026-09-09, feature) - [#174 Make BCQuality documentation easier for partners to get started](bcquality/174.md): BCQuality documentation is reorganized to guide partners through practical first-use paths, leading with CLI prerequisites and plugin installation rather than internal architecture. Sample references across knowledge articles become clickable links, and the Community Agents review gains folder-path support. (main, 2026-09-09, other) - [#173 Frame app review as one standalone plugin example](bcquality/173.md): BCQuality documentation now presents the project as a general skill plugin model with app review as one example, removing code-review-specific framing and external orchestrator references. (main, 2026-09-09, other) - [#172 Support standalone runners and complete app-folder reviews](bcquality/172.md): AL review skills now support standalone runners and folder-based app reviews by decoupling scheduling concerns and enabling parallel execution of independent review domains while maintaining deterministic result ordering. (main, 2026-09-09, feature) - [#10890 [Master] Bug 645040: Expense Agent: BC Approval Workflow - Improve error message when Approval User Setup is missing](bcapps/10890.md): Expense approval workflow now shows a clear, actionable error message when the current user lacks a User Setup record, with a link to open the configuration page. (main, 2026-09-09, fix) - [#11056 29.x: Allow bank rec. duplicated transactions surfaced in UI](bcapps/11056.md): Bank Acc. Reconciliation and Payment Reconciliation Journal pages now expose an existing option to allow duplicated transactions when importing bank statements, such as SEPA CAMT files whose transaction IDs can repeat. Related captions were also made more precise. (releases/29.x, 2026-09-09, feature) - [#11204 Chat v2 privacy notice behavior changed to not auto agree for Eval companies](bcapps/11204.md): Copilot chat privacy notice now requires explicit agreement for evaluation companies instead of being automatically skipped, aligning their behavior with non-evaluation companies. (main, 2026-09-09, fix) - [#11168 Restore E-Document vendor invoice field compatibility](bcapps/11168.md): E-Document vendor invoice field name restored from 'Applies-to Ext. Invoice No.' to 'Vendor Invoice No.' across handlers, tests, and documentation to maintain upgrade and extension compatibility. (main, 2026-09-09, fix) - [#11007 Add Travel Request API lifecycle to Expense Agent](bcapps/11007.md): Travel Request API lifecycle management is integrated into the Expense Agent, enabling creation, approval, and rejection of travel requests through scoped OData endpoints with proper authorization and linked expense report generation. (main, 2026-09-09, feature) - [#9277 Add PRODUCED item template to Contoso Coffee manufacturing demo data](bcapps/9277.md): Manufacturing demo data now includes a PRODUCED item template with manufacturing-specific settings like replenishment system, manufacturing policy, and flushing method pre-configured for created items. (main, 2026-09-09, feature) - [#11160 Ruleset hardening: promote three mechanical rules to Error](bcapps/11160.md): The BCApps base ruleset now treats AL0606, AA0161 and AA0448 as errors instead of warnings. Code across apps and layers was updated to remove deprecated with statements, narrowly scope intentional AssertError uses, and show localized captions instead of technical field and table names in messages. (main, 2026-09-09, refactor) - [#11027 [Master]-Bug 648538: Add mileage setup to Expense Agent wizard](bcapps/11027.md): The Expense Agent setup wizard now includes mileage configuration and alerts users when closing the Mileage Rate Setup page without configuring any rates. (main, 2026-09-08, feature) - [#10988 [Event Request] Codeunit 730 "Copy Item": Add price-specific before event](bcapps/10988.md): A new before event OnBeforeCopyItemPriceListLines2 is added to the Copy Item codeunit to allow subscribers to intercept price list line copying operations with access to price and amount type parameters. (main, 2026-09-08, feature) - [#10927 [Change Log] Preserve SystemId for unloaded record modifications](bcapps/10927.md): Change Log Management now preserves the SystemId from persisted records when modifications are recorded without the record being loaded first, fixing incorrect null SystemId values in change entries. (main, 2026-09-08, fix) - [#11154 Fix AL0254 compile error in Stock Register for Job Work report](bcapps/11154.md): Stock Register for Job Work report in GST Subcontracting (IN) now compiles by suppressing AL0254 warnings on sort fields from a table extension that lack a covering key. (main, 2026-09-08, fix) - [#11134 [Main][All-E][Repair Item] Posted Purchase Invoice Order No. is blank when invoice rounding creates a generated line](bcapps/11134.md): Posted purchase invoice now correctly shows the Order No. from the source purchase order even when invoice rounding creates a system-generated line. (main, 2026-09-08, fix) - [#11059 Hardening subscription billing + drop shipment scenarios](bcapps/11059.md): Subscription Billing now creates subscriptions at sales order release from the existing quantity per serial number, using Qty. to Ship only as a fallback, so a blank Default Quantity to Ship works. It also fake-invoices sales orders released through drop shipment purchase receipts. (main, 2026-09-08, fix) - [#11184 [29.x][All-e][FTE][SaaS] Cannot Rename User Due to Financial Report Audit Log Permissions](bcapps/11184.md): User Management now updates Financial Report Audit Log entries when a user is renamed, and the required permissions have been added to allow the renaming operation to succeed. (releases/29.x, 2026-09-08, fix) - [#11135 Fix dimensions not populated by "Get Order Lines" on Purchase Invoices](bcapps/11135.md): The 'Get Order Lines' function on purchase invoices now copies dimension sets from order lines, fixing a bug where dimensions were reset to defaults during line validation. (main, 2026-09-08, fix) - [#11153 Bug 649312: [29.x] Backport expense request report layout and dataclassification on userid field](bcapps/11153.md): Backports to 29.x the Spend Request Document report layout and data classification on a user ID field. The spend request table, card, list and report objects change, along with Expense Agent subscribers and tests. The description notes that the report is still affected by a platform issue. (releases/29.x, 2026-09-08, fix) - [#11149 [BE][Purchase Ledger Report] Wrong VAT Amounts on the report](bcapps/11149.md): The Belgium-specific Purchase Ledger report now displays correct VAT amounts for all line items and fixes the alignment of two report cells. (main, 2026-09-08, fix) - [#11158 [Master]-"The record in table Reminder Line already exists." error appears if you Create Reminders for a Customer with all the Open Entries On Hold and no Reminder Free applied on the Reminder Terms used](bcapps/11158.md): Fixed a duplicate record error in Reminder Communication when creating reminders for customers with all open entries on hold and no reminder free amount on the reminder terms. (main, 2026-09-08, fix) - [#10991 [Main]Cannot Rename User Due to Financial Report Audit Log Permissions - Copy](bcapps/10991.md): User Management now correctly updates Financial Report Audit Log entries when a user is renamed, ensuring audit records reflect the new user name instead of keeping obsolete references. (main, 2026-09-08, fix) - [#11161 [29.x][BE][Purchase Ledger Report] Wrong VAT Amounts on the report](bcapps/11161.md): The Belgium-specific Purchase Ledger report now displays correct VAT amounts on document lines by updating the data source logic and fixing RDLC cell alignment. (releases/29.x, 2026-09-08, fix) - [#10982 [Main]-Test disabled after BCApps uptake: Reminder Automation Tests.TestReminderAutomationLogsInteractionWithIssuedReminderNumber fails (CZ)](bcapps/10982.md): A one-line fix in the Czech Reminder CZL report resolves the failure of the reminder automation test that logs interactions with the issued reminder number in CZ, so the disabled test can be enabled again. (main, 2026-09-08, fix) - [#11115 [29.x ]Trial Balance (Excel) report shows incorrect figures and formatting differences compared to Trial Balance (Obsolete) report in Business Central v28.2](bcapps/11115.md): Trial Balance Excel reports now correctly apply global dimension filters (Department) when generating data, fixing incorrect figures that were appearing when dimension filters were combined with date filters. (releases/29.x, 2026-09-08, fix) - [#11152 [29.x]Mark as Accepted in posted documents for Spanish SII](bcapps/11152.md): A new Mark As Accepted action was added to posted sales, purchase, and service invoice and credit memo pages in Spanish SII. Users can now correct stuck documents with Incorrect or Pending SII status directly from the posted page instead of only through the SII History page. (releases/29.x, 2026-09-08, feature) - [#10944 [main] bug 643971 - Enhance vendor and customer checks in advance letters and update blocked status validation](bcapps/10944.md): Advance letter creation now validates blocked customer and vendor status before proceeding, and customer blocked status check is narrowed to exclude Ship-only blocks which are irrelevant for invoicing. (main, 2026-09-08, fix) - [#11138 [29.x][Bug Fix] Fix recurring journal background posting for IRS 1099 invoice lines (US)](bcapps/11138.md): IRS 1099 subscribers no longer call Modify(true) on journal lines during validation, allowing background recurring posting to succeed without re-entering OnModify and triggering posting failure checks. (releases/29.x, 2026-09-07, fix) - [#10945 [Master]- Slice 641299: [Sustainability][Value Chain] ESG layouts: request-page option to print emissions by Item Tracking for Specific Carbon Tracking Method](bcapps/10945.md): ESG sales invoice reports now offer a request-page option to print emissions by item tracking details instead of average values, enabling granular emission reporting for items using the Specific Carbon Tracking Method. (main, 2026-09-07, feature) - [#11125 [29.x]-[Sustainability][Value Chain] ESG layouts: request-page option to print emissions by Item Tracking for Specific Carbon Tracking Method](bcapps/11125.md): ESG report layouts now support printing emissions by item tracking details as an alternative to the average calculation method, enabling granular emission reporting for items using specific carbon tracking. (releases/29.x, 2026-09-07, feature) - [#10877 [MAIN]-Bug 648518 Source Currency VAT Amount is zero on G/L Entry when posting sales invoice with Line Discount Deferral Code and Discount Posting is No Discounts](bcapps/10877.md): Fixed Source Currency VAT Amount being posted as zero on G/L entries for sales invoices that combine a line discount, a deferral code and Discount Posting set to No Discounts. In that case the amount is now the calculated VAT, and source currency amounts balance across the G/L entries. (main, 2026-09-07, fix) - [#11065 Open installation status after AppSource install failure](bcapps/11065.md): When an AppSource installation fails synchronously, users now see a prompt offering to open the Extension Installation Status page instead of the operation closing silently. (main, 2026-09-07, feature) - [#10884 [Bug Fix] Fix recurring journal background posting for IRS 1099 invoice lines (US)](bcapps/10884.md): Background posting of recurring journals no longer fails with a 'scheduled for posting' error on IRS 1099 invoice lines. The IRS 1099 subscriber now only derives the IRS fields onto the journal line and leaves saving it to the caller. (main, 2026-09-07, fix) - [#11013 Remove 43 unused DotNet alias declarations](bcapps/11013.md): Removed 43 unused DotNet alias declarations from the DotNet Aliases app that had no consumers anywhere in the repository, reducing total declarations from 517 to 474. (main, 2026-09-07, refactor) - [#10979 [Master] Promote Excise Taxes action on Item card](bcapps/10979.md): The Excise Taxes action on the Item Card has been promoted to make it more visible in the Item page's promoted actions, improving discoverability for users. (main, 2026-09-07, fix) - [#11036 Ruleset hardening: promote four compatibility rules to Error](bcapps/11036.md): Four AL compatibility rules (AA0052, PTE0018, AS0099, AW0009) are promoted from warnings to errors in the ruleset by removing overrides and adding targeted pragmas to existing code that preserves compatibility-sensitive patterns. (main, 2026-09-07, other) - [#10924 [main] Bug 648630 Movement Worksheet Creates Incorrect Warehouse Movement for FEFO Lot-Tracked Items](bcapps/10924.md): Fixed availability calculation in Create Pick codeunit to exclude outbound quantities when calculating available inventory for warehouse movements of FEFO lot-tracked items, preventing the worksheet from selecting already-committed lots. (main, 2026-09-07, fix) - [#10808 [master] Adjustment Amount is not accurate in the Exch. Rate Adjmt. Ledger Entries page if an Unrealized Gain gest registered and a second adjustment turns into a Loss.](bcapps/10808.md): Codeunit 699 now correctly calculates adjustment amounts in exchange rate adjustment ledger entries by using each row's linked detailed entry amount instead of the accumulated total. (main, 2026-09-07, fix) - [#160 Clarify page field caption and tooltip inheritance](bcquality/160.md): Knowledge articles now state that bound page fields inherit Caption and, from BC24 runtime 13.0, ToolTip from their source table fields. Agents should inspect source fields before flagging missing properties, which avoids redundant page-level captions and tooltips. (main, 2026-09-07, fix) - [#10917 Bug 648535: Reprice subcontracting lines after scheduling](bcapps/10917.md): Subcontracting purchase lines are now repriced after backward scheduling finalizes the order date and manufacturing fields are transferred from requisition lines, ensuring prices reflect the correct effective date. (main, 2026-09-07, fix) - [#11040 [Agent Archiving] Payables and Expense agent implementation for IAgentArchiving](bcapps/11040.md): Payables and Expense agents now implement the IAgentArchiving interface to opt out of archiving, with the System Application enforcing archiving restrictions on the Agent List and Agent Card pages. (main, 2026-09-07, feature) - [#10423 Bug 620761: Move subconracting tests from base app to subcontracting app](bcapps/10423.md): Subcontracting-specific SCM and manufacturing tests moved from the base app to the subcontracting app for better maintainability, and production-order requisition line descriptions are restored after vendor validation using routing line data or work center names. (main, 2026-09-07, fix) - [#10335 Unblock bc login due to pp failures](bcapps/10335.md): Business Central sign-in no longer blocks when Power Platform environment lookup fails. The change handles lookup failures gracefully by logging telemetry for diagnosis while allowing sign-in to proceed. (main, 2026-09-07, fix) - [#10489 MSlenejennum/647452/new header and footer layouts and report themes](bcapps/10489.md): New composite report parts management codeunit seeds 11 header/footer designs and 3 themes into the shared Tenant Report Defaults pool on install and upgrade, overwriting tenant edits to shipped content. (main, 2026-09-07, feature) - [#11063 Prevent Sales Order Agent from skipping emails moved into monitored folders](bcapps/11063.md): The Sales Order Agent no longer advances the email sync timestamp after polling, allowing emails moved to monitored folders to be retrieved if they fall within the configured start date instead of being permanently skipped. (main, 2026-09-06, fix) - [#9860 [Bug]: [DE] XRechnung/ZUGFeRD - Item Charge lines exported without a valid unit of measure code (BR-CL-23 / BR-23 on BT-130)](bcapps/9860.md): Item charge lines are now correctly exported as allowances or charges in XRechnung and ZUGFeRD documents instead of fabricated invoice lines, with configurable mapping strategies to comply with EN 16931 validation rules. (main, 2026-09-05, fix) - [#11068 SOA: Clear previous search filter](bcapps/11068.md): The item search function now clears stale filters before processing a new search, preventing previous results from affecting subsequent searches. (main, 2026-09-04, fix) - [#10965 Fix Expense Agent VAT tests](bcapps/10965.md): Fixes the Expense Agent VAT tests. The Expense VAT Spec. API page was changed, and the API and posting VAT test codeunits were updated. (main, 2026-09-04, fix) - [#10960 [main] bug 648733 - Add integration event for updating original document VAT date in General Ledger Setup CZL](bcapps/10960.md): An integration event was added to the UpdateOriginalDocumentVATDateCZL procedure in General Ledger Setup CZL to allow extensions to customize the behavior when the original document VAT date is updated. (main, 2026-09-04, feature) - [#10951 [main] bug 648707 - Fix typo in Compensation CZC report paragraph label](bcapps/10951.md): A typo in the Compensation CZC report paragraph label was corrected in the Czech localization. (main, 2026-09-04, fix) - [#9905 [Bug][SubscriptionBilling] Contract lines of type G/L Account never post to the selected G/L account](bcapps/9905.md): Contract lines of type G/L Account now post to the G/L account specified on the line instead of the default account from General Posting Setup, both for immediate posting and deferral release scenarios. (main, 2026-09-04, fix) - [#10986 [29x] Fix Expense Agent VAT tests](bcapps/10986.md): The Expense Agent VAT specification API page was corrected to fix failing VAT tests related to expense posting. (releases/29.x, 2026-09-04, fix) - [#11004 Fix Expense Report Reimbursement Currency Code](bcapps/11004.md): Fixes how the reimbursement currency code is set on expense reports created by the Create Expense Report codeunit in the Expense Agent app. A test covers the corrected behavior. (main, 2026-09-04, fix) - [#10956 [ExpenseAgent] Refactor agent setup for policies](bcapps/10956.md): Expense Agent administrators can now disallow users from running policy checks, adding a configuration option to the Expense Agent setup wizard and pages. (main, 2026-09-04, feature) - [#10878 Ruleset hardening: promote five low-risk rules to Error](bcapps/10878.md): Removes the Warning overrides for AL0254, AL0523, AA0242, AA0224 and AW0007 from the base ruleset so they apply as errors. The findings are fixed in code across many localization layers, with narrow suppressions kept for accepted existing behavior. (main, 2026-09-03, refactor) - [#10829 [29.x][Expense Agent] Backport approval conversation from #10570](bcapps/10829.md): The Expense Agent now supports approval conversations, allowing submitters to add comments when resubmitting reports and exposing the latest approver and submitter comments through the API and report page. (releases/29.x, 2026-09-03, feature) - [#132 Refine self-improvement review guidance](bcquality/132.md): BCQuality guidance refined to reduce false positives in event handling, UI testing, performance analysis, and label scope rules by narrowing criteria to match documented platform behavior and actual code semantics. (main, 2026-09-03, other) - [#10404 Deliverable 638799: Requisitions in Base App - add layout to report + minor fixes](bcapps/10404.md): A Word layout was added to the Spend Request Document report, and several fixes were applied to the Spend Request feature based on manual testing feedback. (main, 2026-09-03, feature) - [#153 Promote knowledge for Microsoft-owned review skills](bcquality/153.md): Moves 29 knowledge articles and 56 companion samples used by Microsoft-endorsed review skills from the Community layer to the Microsoft layer, so they stay available when consumers disable the Community layer. File contents are unchanged, and the Agents corpus stays in Community. (main, 2026-09-03, refactor) - [#10381 [Main] Inconsistent Non-Deductible VAT calculations on Purchase & Sales Invoices containing lines with Full VAT calculation type](bcapps/10381.md): Fixes inconsistent Non-Deductible VAT calculations on purchase and sales invoices that contain lines with the Full VAT calculation type. Small additions are made to the Purchase Line and VAT Amount Line tables across the W1 and localized base apps, with new tests. (main, 2026-09-03, fix) - [#10486 [Quality Management] Use Bin code selection for transfer disposition in workflow response](bcapps/10486.md): The Quality Management transfer disposition now uses the bin code selected in the workflow response when creating a transfer order. The workflow response options page extension and tests were updated to match. (main, 2026-09-03, feature) - [#10897 BC IQ - Update data sensitivities for policy history](bcapps/10897.md): Data sensitivities are updated to reflect recent changes to Business Skill policy history, including new fields for archived-by user and text version, and removal of obsolete change log field mappings. (main, 2026-09-03, fix) - [#150 Simplify standalone AL code review skill](bcquality/150.md): The standalone AL code review skill is renamed from bcquality-al-review to al-code-review, with its SKILL.md simplified to a thin adapter that delegates to internal Entry and coordinator components. Plugin manifests and version are updated accordingly. (main, 2026-09-03, refactor) - [#10867 [29.x][ALL-E]Issues with Service Contract Invoicing and Retrospective Billing--when the second unposted Service Invoice is deleted the values on the Service Contract are no longer reset--The "Invoiced to Date" field does not resetInitial commit- #10345Initial commit](bcapps/10867.md): Fixed Service Contract invoicing to properly reset the "Invoiced to Date" field when unposted Service Invoices are deleted, even when multiple invoices have been processed. (releases/29.x, 2026-09-03, fix) - [#10795 [master] Discrepancy in inventory picks when the quantity exceeds the available inventory.](bcapps/10795.md): Fixed a calculation error in inventory pick creation that was incorrectly dropping shortage lines when availability exceeded demand with the 'Always Create Pick Line' setting enabled. (main, 2026-09-03, fix) - [#10873 [Master]-The Available to Take logic is incorrect or inaccurate in the Pick Worksheet as it includes Ship and Receive bin inventory](bcapps/10873.md): The warehouse availability management now correctly excludes inventory in ship and receive bins when calculating available quantities in the pick worksheet. (main, 2026-09-03, fix) - [#10345 [Main][ALL-E]Issues with Service Contract Invoicing and Retrospective Billing--when the second unposted Service Invoice is deleted the values on the Service Contract are no longer reset--The "Invoiced to Date" field does not resetInitial commit](bcapps/10345.md): Fixed an issue where the Invoiced to Date field on service contracts failed to reset when a second unposted service invoice was deleted, by improving the logic to count only non-reversed ledger entries. (main, 2026-09-03, fix) - [#10281 [Extensibility Request] issue 30416: add purchase budget navigation events](bcapps/10281.md): The purchase budget overview matrix page now exposes before and after integration events around record navigation calls, allowing extensions to adjust Item Budget Name filters during navigation without replacing standard behavior. (main, 2026-09-02, feature) - [#10570 Expense Agent: add approval conversation to expense reports](bcapps/10570.md): The Expense Agent now supports approval conversations by storing submitter comments, exposing them through the API, adding a pending-approval action with optional comments, and recording comments in activity events. (main, 2026-09-02, feature) - [#10876 [29.x]When Intrastat line is added manually the "Intrastat Country/Region Code" is not automatically populated after adding the "Country/Region Code"](bcapps/10876.md): When users manually add an Intrastat report line and enter a Country/Region Code, the Intrastat Country/Region Code field is now automatically populated through an added validation trigger. (releases/29.x, 2026-09-02, fix) - [#10914 [Expense Agent] Fix setup API language permission](bcapps/10914.md): The Expense Agent permission set now grants indirect read access to the Agent table, allowing the setup API to work correctly with the assigned role. (main, 2026-09-02, fix) - [#149 knowledge(web-services): under schema 2.0 an API enum field is a contract by member name, under 1.0 by caption](bcquality/149.md): A knowledge article clarifies how API enum fields are published: under schema 2.0 by member name with captions in entityDefinitions, under schema 1.0 by en-US caption as Edm.String. Good and bad code samples demonstrate the contract implications. (main, 2026-09-02, feature) - [#10638 [Master] [Expense Agent] Bug 639921 Confirm before closing Expense User Card without Employee No.](bcapps/10638.md): The Expense User card now prompts for confirmation when closing without selecting an employee, preventing accidental creation of unlinked expense user records. (main, 2026-09-02, fix) - [#144 Avoid Public Event publisher](bcquality/144.md): A new community knowledge article with samples advises declaring event publishers local or internal instead of public, because the access modifier controls who may raise an event, not who may subscribe. Sample files of four existing Microsoft-layer articles drop their incidental public modifier. (main, 2026-09-02, feature) - [#137 Add community guidance and review support for Business Central agents](bcquality/137.md): Business Central agent developers gain 20 community-authored guidance rules covering agent registration, permissions, profiles, instructions, session handling, and lifecycle management, with good and bad code examples for each rule. (main, 2026-09-02, feature) - [#10899 [Extensibility Request] issue 30433: expose consolidated calendar entry before insert](bcapps/10899.md): A new integration event exposes consolidated work center calendar entries and their source data before insertion, allowing extensions to preserve metadata and adjust records. (main, 2026-09-02, feature) - [#10901 [Extensibility Request] issue 30428: add sales order line update event](bcapps/10901.md): A new event OnBeforeUpdateSalesOrderLineIfExist allows extensions to intercept and override the default sales order line update logic during sales return order posting, enabling custom handling of prepayment amounts. (main, 2026-09-02, feature) - [#10903 [Extensibility Request] issue 30442: allow filtering item units during weight updates](bcapps/10903.md): Extensions can now filter item units of measure during weight recalculation by subscribing to a new integration event that fires before the calculation begins. (main, 2026-09-02, feature) - [#10902 [Extensibility Request] issue 30424: add prepayment update event](bcapps/10902.md): A handled integration event was added to allow extensions to control prepayment amount updates when correcting posted sales invoices. (main, 2026-09-02, feature) - [#147 ShowMandatory + OnQueryClosePage Check](bcquality/147.md): Two new UI community knowledge articles with code examples demonstrate best practices for marking required fields and validating request page input to prevent common defects like fields appearing optional or losing user input on validation errors. (main, 2026-09-02, feature) - [#145 Process Context via manual event subscriber pattern](bcquality/145.md): Adds community knowledge article documenting how to expose process context to extensions using manual event subscriber bindings tied to variable scope instead of singleton flags that persist across failed transactions. (main, 2026-09-02, feature) - [#136 Add community knowledge: AL boolean operators do not short-circuit](bcquality/136.md): Two community knowledge articles explain AL's lack of short-circuit evaluation for boolean operators and recommend using case statements as alternatives for complex condition chains. (main, 2026-09-02, feature) - [#130 knowledge(performance): align SetLoadFields placement with AL Guidelines](bcquality/130.md): BCQuality aligned SetLoadFields code examples with AL Guidelines by placing filters before SetLoadFields, clarifying that this order is a readability convention rather than a performance requirement. (main, 2026-09-02, other) - [#10807 [29.x][Expense Agent] Confirm before closing Expense User Card without Employee No.](bcapps/10807.md): The Expense User card now prompts for confirmation before closing when the mandatory Employee No. field is left blank, preventing unintentional creation of unlinked expense users. (releases/29.x, 2026-09-02, fix) - [#10716 [Main] [ALL-E] "Item tracking is defined for item 1000 in the Requisition Line. You must delete the existing item tracking before modifying or deleting the Requisition line" err when creating a Purchase Order from a Sales Order including DROP Shipment Bug 643358](bcapps/10716.md): Fixes an error that occurred when creating a purchase order from a sales order with drop shipment, where item tracking validation was preventing requisition line operations. (main, 2026-09-02, fix) - [#10879 [Main]Reopening and re-finishing production order reposts backward-flushed routing capacityInitial commit](bcapps/10879.md): Production order reopening and re-finishing now correctly handles backward-flushed routing capacity postings to avoid duplicate or incorrect entries. (main, 2026-09-02, fix) - [#10775 [Shopify] Optimize unmapped cue counts](bcapps/10775.md): The Shopify Activities cues for unmapped customers, products and companies now count records with an empty stored Customer or Item SystemId, so SQL can run a direct COUNT instead of checking each row through lookup FlowFields. A new key led by Item SystemId supports the product count. Mappings that point to deleted records are no longer counted. (main, 2026-09-02, performance) - [#146 knowledge: three false-positive guards from BCApps PR 10277, 10278 and 10346](bcquality/146.md): Three BCQuality knowledge articles were added or updated to stop false positives: insert-only transfers that rely on the caller to clean up first, member affixes in apps that do not configure an AppSourceCop mandatory affix, and permission tests that lower the context through a composed role. Genuine defects remain reportable. (main, 2026-09-02, fix) - [#128 knowledge: improve review precision from BCApps PR 10080 feedback](bcquality/128.md): BCQuality knowledge articles improve precision based on feedback from BCApps code review runs, refining guidance on object affixes and error handling patterns. (main, 2026-09-02, fix) - [#10893 Bug 648568: [29.x] Incorrect currency conversion rates for new currencies](bcapps/10893.md): Currency exchange rates in the demo dataset have been corrected to resolve inaccurate conversion values for new currencies. (releases/29.x, 2026-09-02, fix) - [#139 knowledge(breaking-changes): adding a parameter to an event publisher is not a signature break](bcquality/139.md): The breaking-changes knowledge article now clarifies that adding a parameter to an event publisher is not a breaking change, since event subscribers bind by parameter name, not position. This aligns the article with the existing events knowledge and removes a false positive report. (main, 2026-09-02, fix) - [#10538 [Master]-Slice 425446: Payment Journal Batch Total](bcapps/10538.md): Payment Journal now displays a batch total showing the cumulative amount selected for payment without requiring posting first. (main, 2026-09-02, feature) - [#9778 [Extensibility Request] issue 30362: add OnPostDocumentLinesOnBeforeInsertPostedHeaders event to Service-Post](bcapps/9778.md): A new integration event OnPostDocumentLinesOnBeforeInsertPostedHeaders enables extensions to control which posted service document is created during service posting, matching the extensibility available in Sales-Post. (main, 2026-09-01, feature) - [#10084 Let the agent update invoice due dates on user instructions](bcapps/10084.md): The Payables Agent can now update due dates on purchase invoices when requested by users during draft review by making the Due Date field visible in the agent's page customization. (main, 2026-09-01, fix) - [#10409 Shopify Copilot Tax Matching Agent: human-in-the-loop review + tests (stack 3/3)](bcapps/10409.md): The Shopify Copilot Tax Matching Agent adds a human-in-the-loop review experience with pages and notification components, including comprehensive tests for the review flow and architecture documentation. (main, 2026-09-01, feature) - [#10483 [Subcontracting] Bug 647210 & 647791: Enable IT migration in production and keep Legacy Subcontracting on when app install is declined](bcapps/10483.md): The Legacy Subcontracting to Subcontracting app migration now works in production environments, and declining the app installation prompt no longer incorrectly disables the legacy feature. (main, 2026-09-01, fix) - [#10332 [Main]]No Employee posting group for AT when new employee is created](bcapps/10332.md): An Austrian localization issue where new employees created from templates lacked an employee posting group assignment has been fixed by applying the EMPLEXP posting group to employee templates. (main, 2026-09-01, fix) - [#10866 [29.x]No Employee posting group for AT when new employee is created](bcapps/10866.md): Austrian localization now assigns the EMPLEXP employee posting group when creating new employee templates and demo employees, fixing a bug where the posting group field was incorrectly cleared. (releases/29.x, 2026-09-01, fix) - [#10842 [SOA] Clarify Email 2 contact mapping action](bcapps/10842.md): The Email 2 contact mapping action in the Sales Order Agent now explicitly clarifies that the sender's email is stored in the selected contact's Email 2 field instead of using the vague term "alternate email". (main, 2026-09-01, fix) - [#10635 [Subcontracting] (Bug: 638998) Add extensibility to Subcontracting app for IT partner migration](bcapps/10635.md): The Subcontracting app gains integration events for report objects to support partner migration from legacy Italian subcontracting features, and a redundant customization restriction is removed from the Subcontractor Price table. (main, 2026-09-01, feature) - [#10613 [Master] - Slice 640775: [Sustainability] Reverse Sustainability part when reverse in GL Entries](bcapps/10613.md): Reversing a G/L transaction now also reverses the sustainability ledger entries linked to it by transaction number, skipping entries already reversed. The reversing FA ledger entry gets a negated Total CO2e, so the fixed asset's Acquisition Total CO2e nets to zero. (main, 2026-09-01, feature) - [#10600 [Master] - Slice 641282: [Sustainability][Value Chain] FA Reclassification Journal: add CO2e reclassification % field to split emissions like Acq. Cost %](bcapps/10600.md): A new Reclassify CO2e % field was added to the FA Reclassification Journal to allow CO2e emissions to be reclassified independently from acquisition cost percentages. (main, 2026-09-01, feature) - [#10573 BC IQ - Adding data categorization](bcapps/10573.md): Adds data categorization for BC IQ to codeunit 1751 Data Classification Eval. Data in the Base Application. The pull request gives no further details on which data is categorized. (main, 2026-09-01, feature) - [#10624 [MAIN]-Bug 647352 Issue with lot no assignment after posting a transfer order](bcapps/10624.md): Transfer shipments for tracked items now correctly consume the matching lot or serial number instead of incorrectly reducing other lot quantities, by rejecting mismatched reservations and applying proper tracking filters. (main, 2026-09-01, fix) - [#10700 29.x: PO matching API, E-Documents integration and receipt-on-invoice line tracking](bcapps/10700.md): Backport to 29.x that adds a purchase order matching API to the Base Application, with receipt-on-invoice line tracking and a Receipt on Invoice Policy enum. E-Documents PO matching now uses this API. Purchase, vendor and upgrade objects were updated across localization layers. (releases/29.x, 2026-09-01, feature) - [#10826 [Master] - Bug 648138: [master][NAV] Track failed BCApps validation](bcapps/10826.md): Expense Agent demo data no longer posts expense reports. A temporary SkipPostingExpenseReport() function always returns true, because untranslated Expense GL Account Names made Expense Report-Post fail. Reports are still created, and the skip is meant to be removed once translations exist. (main, 2026-09-01, fix) - [#10609 [Master]-Inconsistent Validation of Non-Deductible VAT % for Purchase Lines Sharing the Same VAT Identifier- #10607](bcapps/10609.md): Fixes inconsistent validation of Non-Deductible VAT % on purchase lines that share the same VAT identifier. Two lines were removed from the Non-Ded. VAT Impl. codeunit, and tests were updated and added across the W1, AU, CZ, IT and RU layers. (main, 2026-09-01, fix) - [#10819 [Pmt. Recon. Journal] Re-fire OnAfterGetLedgEntryInfo on proposal fast path](bcapps/10819.md): The OnAfterGetLedgEntryInfo event is re-fired during payment proposal creation on the fast path after a prior performance refactor accidentally stopped raising it. (main, 2026-08-31, fix) - [#10614 Expense Agent: Improve expense activity history captions](bcapps/10614.md): Expense report activity logs now display user-friendly captions (Activity, Date and Time, Performed By, Details) instead of technical field names, and the FactBox is renamed from Activity Log to History. (main, 2026-08-31, other) - [#10528 Track receipt on invoice per purchase order line](bcapps/10528.md): Receipt on invoice can now be set per purchase order line, not just per purchase order. Lines inherit the value from the header, which in turn inherits from a new vendor-level setting. (main, 2026-08-31, feature) - [#10459 Bug 647298: Incorrect currency conversion rates for new currencies](bcapps/10459.md): Currency exchange rates in the Contoso demo dataset were corrected from reciprocal values and updated to current rates to ensure accurate currency conversions. (main, 2026-08-31, fix) - [#10368 Bug 614967: Skip mismatched TransferFields in posting](bcapps/10368.md): Sales and Purchase posting now skip fields with mismatched types when transferring from source to posted records, allowing posting to continue even when extension fields reuse the same field numbers with different data types. (main, 2026-08-31, fix) - [#10514 Ruleset hardening: promote AS0022, AA0087, AW0003, AA0203, AL0717 to Error](bcapps/10514.md): Five analyzer rules (AS0022, AA0087, AW0003, AA0203, AL0717) are promoted from Warning to Error by removing their overrides from the shared ruleset, with targeted pragmas added to suppress specific violations. (main, 2026-08-31, other) - [#10564 Bug 641415: [Expense Agent] Incorrect Payment Method Assignment for Card-Based Expenses](bcapps/10564.md): Payment method descriptions in the Expense Agent setup are now more descriptive to clarify the distinction between company credit card expenses and employee-paid expenses. (main, 2026-08-31, fix) - [#10736 [Main]- Mismatch between Purchase Invoice Total in Lines and Statistics after VAT adjustment](bcapps/10736.md): Purchase invoice line totals now correctly reflect manual VAT adjustments from the statistics page when using mixed VAT groups, fixing a mismatch issue by recalculating grouped VAT amounts. (main, 2026-08-31, fix) - [#10566 [main] Trial Balance (Excel) report shows incorrect figures and formatting differences compared to Trial Balance (Obsolete) report in Business Central v28.2](bcapps/10566.md): Trial Balance Excel reports now correctly apply Global Dimension filters when generating figures, fixing an issue where department filters were ignored and aggregated data included excluded dimensions. (main, 2026-08-31, fix) - [#10504 [Reminders] Complete the communication texts model uptake](bcapps/10504.md): Reminder attachment and email communication model is now the permanent behavior across runtime code, UI, tests, and demo data, removing feature-gated branches and legacy model assumptions. (main, 2026-08-31, feature) - [#10604 [Main]-export/import of a report definition fails if the statuses in the originating company do not exist in the destination company](bcapps/10604.md): Financial report and row definitions now import successfully between companies even when the status codes do not exist in the destination company. The import process clears missing status references before applying the package, allowing the definitions to be imported with empty status fields. (main, 2026-08-31, fix) - [#10663 [Main]-Stock card report shows incorrect received quantity](bcapps/10663.md): Stock Card report now correctly shows received quantities and costs when purchase receipts are split into multiple partial invoices, fixing understated balances that cascaded through the report. (main, 2026-08-31, fix) - [#10778 [Backport 29.x] Harden Contact Sync delta URL and ownership checks (#9966)](bcapps/10778.md): Contact Sync now validates delta URLs against an approved Microsoft Graph prefix and enforces record ownership to prevent malicious URL manipulation and cross-user record tampering. (releases/29.x, 2026-08-31, fix) - [#10312 Update expense VAT specification source](bcapps/10312.md): Expense Agent now sets the Source of VAT specification records to Agent when created through the API and Manual when created in the UI, blocks changes and deletions of agent-created records, and gives more specific errors when posting expense reports with pending VAT reclaim status. (main, 2026-08-31, feature) - [#10361 [main] Line Discount Amount Rounding Discrepancy When Transferring Project Planning Lines to Sales Invoice](bcapps/10361.md): Line Discount Amount is now correctly preserved when transferring project planning lines to a sales invoice, eliminating rounding discrepancies caused by recalculation from the rounded percentage. (main, 2026-08-31, fix) - [#10252 Adjust audit log tables](bcapps/10252.md): Four lines referring to audit log tables were removed from codeunit 8390 Financial Report Auditing, per work item AB#646814. (main, 2026-08-30, fix) - [#10567 SOA : Create Task from TaskPane respects review configuration for known senders](bcapps/10567.md): Tasks created manually in the SOA Create Task pane now respect the review configuration for known senders, and typing a sender email automatically resolves the matching contact or customer. (main, 2026-08-30, fix) - [#10546 [Main] Reopening and re-finishing production order reposts backward-flushed routing capacityupdate](bcapps/10546.md): Fixed an issue where reopening and re-finishing a production order would incorrectly repost backward-flushed routing capacity entries. (main, 2026-08-30, fix) - [#10235 [Bug][SubscriptionBilling] Enforce Subscription Line Start Date change rules on all edit paths](bcapps/10235.md): Subscription Line start date changes are now blocked when billing has occurred, preventing periods from being invoiced multiple times or skipped. The validation runs on all edit paths instead of just two subpages. (main, 2026-08-29, fix) - [#10093 [Bug][SubscriptionBilling]: "Prices Including VAT" handling is incomplete — contract billing invoice treats VAT‑exclusive Subscription Line amounts as VAT‑inclusive](bcapps/10093.md): The Subscription Billing contract billing feature now correctly grosses up net prices to VAT-inclusive amounts when a customer or vendor uses prices including VAT, ensuring VAT calculations reconcile with the original order. (main, 2026-08-28, fix) - [#10680 Maintenance update](bcapps/10680.md): Maintenance update (merged into main on 2026-08-28). (main, 2026-08-28, fix) - [#10526 Use BaseApp's new PO Matching module in E-Documents](bcapps/10526.md): E-Documents now leverages BaseApp's new PO Matching module to support one-to-many matching and receiving at invoice for two-way matches, with additional warnings for amount mismatches and expanded matching fields. (main, 2026-08-28, feature) - [#10285 [Extensibility Request] issue 29642: add Inventory Valuation events](bcapps/10285.md): Inventory Valuation report 10139 now exposes two integration events to let extensions skip items and adjust Value Entry filters, matching the W1 report's extensibility. (main, 2026-08-28, feature) - [#10630 Extend OnBeforeCheckBankAcc to skip specific bank reversal checks](bcapps/10630.md): The OnBeforeCheckBankAcc event in the Reversal Entry table gains two Boolean parameters that let extensions skip the Open and Statement No. validations independently when reversing bank account ledger entries. (main, 2026-08-28, feature) - [#10735 [Slice-631381] Add Mark as Accepted in posted documents for Spanish SII](bcapps/10735.md): Spanish SII posted documents now include a Mark as Accepted action to resolve stuck Incorrect or Pending statuses directly from the document page, matching the behavior available on the SII History page. (main, 2026-08-28, feature) - [#10637 [Master] - Bug 639548 [Expense Agent] Consolidate country demo data into single W1 app](bcapps/10637.md): Expense Agent demo data is consolidated from separate country packages into a single W1 implementation, with country-specific demo data centralized while localization apps retain only integration hooks. (main, 2026-08-28, refactor) - [#10432 [MCP] Change System Tool factbox caption to 'Active System Tools'](bcapps/10432.md): The caption of the MCP System Tool List factbox page has been updated from 'System Tools' to 'Active System Tools' to better reflect that only tools from active server features are displayed. (main, 2026-08-28, fix) - [#10579 [Bug 638696] Add teaching tip to Effective Permissions page 9852](bcapps/10579.md): A teaching tip was added to the Effective Permissions page to explain what effective permissions are and how users can work with them, matching the teaching tips on related permission pages. (main, 2026-08-28, feature) - [#10748 [SOA] Resolve the current agent's setup instead of an arbitrary one](bcapps/10748.md): The Sales Order Agent now resolves its setup configuration through the current session identity instead of reading arbitrary setup records, ensuring each agent instance uses its own settings for item search and availability filtering. (main, 2026-08-28, fix) - [#10279 [Extensibility Request] issue 30414: add sales budget navigation events](bcapps/10279.md): Integration events are added to the Sales Budget Overview Matrix page so extensions can adjust Item Budget Name filters during record navigation operations. (main, 2026-08-28, feature) - [#10741 [Shopify] Fix exchange refund order links, totals, and refund page layout](bcapps/10741.md): Fixed Shopify return-with-exchange processing by ensuring exchange credit memos retain order identifiers, creating proper document links for moved invoices, excluding exchange items from order totals in the factbox, and repositioning the tax section on the refund page. (main, 2026-08-28, fix) - [#10498 [Pmt. Recon. Journal] Optimize opening of the Payment Application screen](bcapps/10498.md): Payment application screen opening is optimized by adding a date filter setting to reduce candidate records, avoiding duplicate database reads, and preventing excessive SetAutoCalcfields calls. A critical issue in DK FIK payment matching that performed unfiltered full table scans is also fixed. (main, 2026-08-28, performance) - [#10578 [Extensibility Request] issue 30429: add events to disambiguate CRM integration table mappings](bcapps/10578.md): Four integration events are added to allow extensions to select the correct CRM integration table mapping when multiple mappings share the same table ID, enabling proper disambiguation in order-status updates, coupling, uncoupling, and match-based coupling scenarios. (main, 2026-08-28, feature) - [#10619 [Shopify] Index Has Order State Error to fix slow Shopify Activities cue](bcapps/10619.md): A database index is added to the Shopify Order Header table on the "Has Order State Error" field to improve the performance of the Activities cue, which was consuming significant server resources during slow counts. (main, 2026-08-28, performance) - [#10408 Shopify Copilot Tax Matching Agent: matching engine and data model (stack 2/3)](bcapps/10408.md): Shopify Copilot Tax Matching Agent adds a headless matching engine that uses AI to match Shopify tax lines to Business Central tax jurisdictions, creates tax areas, and includes comprehensive unit tests. (main, 2026-08-28, feature) - [#10524 Add a purchase order matching API](bcapps/10524.md): New public codeunits in the Base Application let other apps, starting with E-Documents, create Matched Order Line records through a validated match group. A helper suggests receipts that could cover the remaining amount to invoice on an order. (main, 2026-08-28, feature) - [#138 knowledge(style): event subscribers bind by parameter name, so a shorter list is not a mismatch](bcquality/138.md): The style guide for event subscribers is clarified to document the actual behavior that AL binds subscribers by parameter name rather than position, allowing subscribers to omit parameters and reorder them without it being a mismatch. (main, 2026-08-28, fix) - [#10422 [Extensibility Request] issue 30423: expose previous service header](bcapps/10422.md): Service Header event subscribers now receive the previous record state through the OnValidateShipToCodeOnBeforeDeleteLines event to track custom field changes during line deletion. (main, 2026-08-28, feature) - [#9602 User experience for adding attribute in item categories is wrong](bcapps/9602.md): The user experience for adding attributes to item categories was corrected by modifying the item category attributes page and related test coverage. (main, 2026-08-28, fix) - [#10172 [Extensibility Request] issue 30111: add purchase prepayment update events](bcapps/10172.md): Three integration events are added to the purchase prepayment line update procedure, allowing extensions to adjust line selection, handle missing-lines errors, and modify custom fields before each line update. (main, 2026-08-27, feature) - [#10369 Bug 640428: Fix Production BOM Comment Line TableRelation filters](bcapps/10369.md): Table relations in the Production BOM Comment Line table are corrected to properly filter by version. The Version Code field now shows all versions of a production BOM, and the BOM Line No. field correctly filters by both production BOM number and version code. (main, 2026-08-27, fix) - [#10376 [Main] Fix unbalanced G/L when a Credit Memo is applied to a rejected/redraw…](bcapps/10376.md): Fixed an issue where applying a sales credit memo to a rejected or redrawn bill in the Spanish (Cartera) version caused the Rejected Bills Account to become unbalanced due to duplicate posting. (main, 2026-08-27, fix) - [#9444 [Extensibility Request] issue 30223: add IsHandled events to Purchase Line (translation, price calc, WMS)](bcapps/9444.md): Three new IsHandled integration events are added to the Purchase Line table, enabling extensions to intervene in item translation, location-based price calculation, and WMS location checks. (main, 2026-08-27, feature) - [#10568 Send sample invoices from the demo guide directly](bcapps/10568.md): The Payables Agent demo guide now sends sample invoices immediately when selecting the email option, rather than deferring the send until setup is saved, ensuring invoices are sent regardless of the order of operations. (main, 2026-08-27, fix) - [#10542 [Master] - Slice 638097: [Expense Agent] Enable simple interim approval scenario](bcapps/10542.md): Expense reports now support a two-stage approval flow with interim and final approvers in agent mode, with automatic prepopulation of the final approver from the user's designated approver. (main, 2026-08-27, feature) - [#9196 [Master] - What If Impact on Planning and Supply](bcapps/9196.md): Adds a supply what-if analysis to analyze the negative impact of supply changes on demand, with new Supply What-If Scenario and What-If Impact tables and pages plus planning engine codeunits. (main, 2026-08-27, feature) - [#9774 [Extensibility Request] issue 30378: add OnItemVariantOnAfterGetRecordOnBeforePrintOnlyIfSalesCheck event in Item Sales Statistics report](bcapps/9774.md): A new integration event allows extensions to influence whether item variant rows are printed in the Item Sales Statistics report when "Only Items with Sales" and "Breakdown By Variant" are both enabled, by exposing the skip decision and related data to subscribers. (main, 2026-08-27, feature) - [#10603 [Expense Agent] Grant policy builder execute permission](bcapps/10603.md): Expense Management roles now have execute permission on the policy builder codeunit to prevent access denied errors when calculating policy status on the Expense Report subpage. (main, 2026-08-27, fix) - [#10543 [main] bug 640925 - Add report extension for Standard Sales Pro Forma and Draft Invoice](bcapps/10543.md): Czech report extensions add missing fields to draft and pro forma invoices for approval workflows, matching the layout of posted Czech invoices with registration numbers, VAT dates, bank details, and payment information. (main, 2026-08-27, feature) - [#10561 Mileage Rate Setup](bcapps/10561.md): Expense Agent now supports mileage rate configuration through new tables for vehicle types and mileage rates, with corresponding pages and APIs for managing these setup elements. (main, 2026-08-27, feature) - [#10516 Ruleset hardening: promote AL0468, AL0520, AL0589, AL0611, AL0749, AW0004 to Error](bcapps/10516.md): Six AL compiler rules are promoted from Warning to Error severity in the base ruleset, with all existing accepted violations marked by pragmas at their source locations to enforce the rules going forward. (main, 2026-08-27, refactor) - [#10571 [Master]-User is unable to filter the Deferral Summary-GL Report Not Filtering Totals by Global Dimensions.](bcapps/10571.md): The Deferral Summary - G/L report now correctly filters and displays totals when using global dimensions, resolving filtering issues in the report. (main, 2026-08-27, fix) - [#10558 [Master]-When Intrastat line is added manually the "Intrastat Country/Region Code" is not automatically populated after adding the "Country/Region Code"](bcapps/10558.md): The Intrastat Country/Region Code field now automatically populates when users manually enter a Country/Region Code on an Intrastat Report line, matching the behavior when lines are suggested. (main, 2026-08-27, fix) - [#10608 [master]-Bug 647093-[Subscription Billing] Incorrect Invoice Amounts when using explicit values in Subscription Line End Date](bcapps/10608.md): Subscription billing now calculates correct invoice amounts and billing periods when using explicit end dates with daily or weekly billing rhythms and month-end alignment, by skipping month-end alignment for fixed-length day and week formulas. (main, 2026-08-27, fix) - [#10611 [main]- Bug 647007 Copy Document on a Purchase Credit Memo 'Quantity Received', and 'Quantity Invoiced' reverted back on original Purchase Order](bcapps/10611.md): Posting a purchase credit memo created with Copy Document from a posted invoice no longer reverts the received and invoiced quantities on the original purchase order. GetPurchaseInvoiceLine now skips the Order No./Order Line No. fallback for inventory item lines without a linked item ledger entry. (main, 2026-08-27, fix) - [#10522 [main] Bug 647499 Bin Replenishment with Pick by FEFO Creates Incorrect Inventory Movements](bcapps/10522.md): Fixed bin replenishment with FEFO-based picking to correctly calculate quantities and clear processed worksheet lines in basic warehouse locations. (main, 2026-08-27, fix) - [#10515 [Payables Agent] Fix stale Payables Agent setup save](bcapps/10515.md): The Payables Agent Setup now persists instruction updates in a single final modification to prevent stale-record errors when applying agent instructions during setup. (main, 2026-08-27, fix) - [#10438 [Master] - Bug 647272: [Expense Agent] Unwanted caption in expense report FactBox](bcapps/10438.md): The Expense Report FactBox and Posted Expense Report FactBox pages now use the captions 'Expense Report' and 'Posted Expense Report', replacing an unwanted caption. (main, 2026-08-27, fix) - [#10030 [main]planning worksheet requires second runof calculate regenerative plan](bcapps/10030.md): The low-level code calculation engine now processes SKU-level production BOMs correctly, ensuring planning worksheets generate all required planning lines in a single run for multi-level assemblies when BOMs are defined at the SKU level rather than the item card. (main, 2026-08-27, fix) - [#10665 [SOA] Skip content extraction for image attachments](bcapps/10665.md): The Sales Order Agent now skips content extraction for image attachments and uses their stored text content instead, improving processing reliability while maintaining relevance filtering for all attachments. (main, 2026-08-27, fix) - [#10559 Ruleset hardening: promote AL0659 and AL0685 to Error](bcapps/10559.md): AL0659 and AL0685 overrides are removed from base.ruleset.json, so both analyzer rules now inherit Error severity. The existing violations at 53 sites are suppressed with pragmas instead of renaming enums or changing schemas, because those fixes would be breaking. (main, 2026-08-27, refactor) - [#9966 Harden Contact Sync delta URL and ownership checks](bcapps/9966.md): Contact Sync now validates delta URLs against the approved Microsoft Graph endpoint and enforces record ownership checks to prevent malicious URL manipulation or cross-user record access. (main, 2026-08-27, fix) - [#134 knowledge(performance): add community rules for performance](bcquality/134.md): Adds 16 community performance rules for Business Central to BCQuality. Each rule has a markdown explanation and paired bad and good AL examples covering partial records, HTTP calls inside transactions, ChangeCompany use, page and session I/O, number-series batching and database access patterns. (main, 2026-08-27, feature) - [#10675 Temporarily suppress AS0072 (ObsoleteTag 29.0) on 10 Base App elements for v30 prep](bcapps/10675.md): Pragmas temporarily suppress the AppSourceCop AS0072 error on elements that still carry ObsoleteTag 29.0 in the Base Application, its country layers, and six W1 apps, so v30 clean builds compile. The tags are left unchanged, and a permanent fix is tracked in Bug 647877. (main, 2026-08-27, fix) - [#10631 Integration/main to releases 29.x 31a860b5](bcapps/10631.md): Integration of 46 commits from main into the BC29 release branch includes enhancements to e-document processing, expense report policy evaluations, agent features, and various localization and financial modules. (releases/29.x, 2026-08-26, feature) - [#10298 [main]A WIP Balance is presented incorrectly on the “Production Order – WIP” Report 5802 after Finishing Production Order Without Output Item Ledger Entry posted with new Manufacturing Setup option for no Output required.](bcapps/10298.md): Report 5802 now displays a new Expensed WIP column to correctly show work-in-progress that was written off when production orders are finished without output, resolving a reconciliation issue with the general ledger. (main, 2026-08-25, fix) - [#10377 [Main][ALL-E] Sales Price from customer card and Purcase Price from vendor card is showing "All Customers/All Vendors" as header instead of the specific customer/vendor informationInitial commit](bcapps/10377.md): The Price List Lines page now displays the correct customer or vendor name in its caption when opened from a customer or vendor card, instead of showing 'All Customers' or 'All Vendors'. (main, 2026-08-25, fix) - [#10424 [Extensibility Request] issue 30421: allow custom travel cost lookup](bcapps/10424.md): A handled event is added to the travel cost lookup process in service order management, enabling extensions to customize how travel fees are determined without breaking existing implementations. (main, 2026-08-24, feature) - [#10451 [Bug 647233] Fix User Confirmed copied into Canceled when posting expense report lines](bcapps/10451.md): Fixed a data corruption bug where the User Confirmed field from expense report lines was being incorrectly copied into the Canceled field of posted expense report lines during posting, by introducing a new non-colliding field and adding data migration logic. (main, 2026-08-24, fix) - [#9310 SOA: Open Item Availability from Agent panel](bcapps/9310.md): The Sales Order Agent can now open the multi-item availability page from the agent panel with filters applied. The availability page was extended, an Item table extension was added, and the agent instructions were updated. (main, 2026-08-24, feature) - [#10511 [NL][Telebank] Payment History export crashes when combining entries](bcapps/10511.md): Payment history export in Dutch telebank functionality no longer crashes when combining entries that exceed the 140-character limit for SEPA CT remittance text. (main, 2026-08-24, fix) - [#10017 [Master] - Bug 644751 Moving an expense report line to another report wrongly reports a duplicate](bcapps/10017.md): Moving an expense report line to another open expense report no longer raises a false duplicate expense violation. The duplicate check no longer compares the moved line against its own source line. (main, 2026-08-24, fix) - [#9964 [Extensibility Request] issue 30392: make Archive Jobs extensible](bcapps/9964.md): The Archive Jobs setting in Jobs Setup is now extensible through an enum, allowing third-party solutions to add custom archival options while maintaining backward compatibility with existing values. (main, 2026-08-24, feature) - [#10431 [Agent Archiving] Fix broken reference links to archived agents and their tasks](bcapps/10431.md): Reference links to archived agents and their tasks now open the Agent Card and Agent Task Log Entries respectively instead of failing or showing unrelated agents, while non-archived agents follow the same navigation paths as before. (main, 2026-08-24, fix) - [#10417 [Shopify] Pace raw-text GraphQL calls to prevent excessive throttling](bcapps/10417.md): The Shopify connector now paces GraphQL requests issued through the raw-text overload to prevent excessive throttling, by using an estimated cost value instead of zero. (main, 2026-08-24, fix) - [#10173 [Extensibility Request] issue 30129: expose manufacturing cost calculation events](bcapps/10173.md): Manufacturing extensions can now separate setup and runtime costs during standard cost calculation by subscribing to new routing, cost-time, direct unit cost, and production order cost events in Calculate Standard Cost and Manufacturing Cost Calculation Management codeunits. (main, 2026-08-24, feature) - [#10462 [Shopify] Fix order edit retaining discount allocation for removed quantity](bcapps/10462.md): The Shopify connector now correctly adjusts line-level discount amounts when refunds reduce order line quantities, preventing over-discounting of the remaining quantity in sales documents. (main, 2026-08-24, fix) - [#10467 [Shopify] Fix more-expensive exchange refund: no balancing G/L line, no false processed-order warning](bcapps/10467.md): Fixed Shopify exchange refund handling when the replacement item is more expensive than the returned item, eliminating the false processed-order warning and removing the spurious balancing G/L line that forced the credit memo total to zero. (main, 2026-08-24, fix) - [#10518 [Extensibility Request] issue 30338: expose internal put-away line event](bcapps/10518.md): Report 7305 exposes a new event that allows extensions to receive and adjust the internal put-away line record after the dataitem filters are prepared. (main, 2026-08-24, feature) - [#10412 Fixes in Excel reports for Aged Accounts.](bcapps/10412.md): Aged Accounts Excel reports now properly handle customers and vendors with historical balances outside the selected date range and correctly assign transactions to aging buckets. (main, 2026-08-24, fix) - [#10509 [IRS Forms] Performance optimization](bcapps/10509.md): IRS 1099 form box calculation now queries detailed vendor ledger entries with a current key matching its equality filters and can filter payments by vendor. Profiling had shown one query taking most of a roughly 10-minute run; calculation results are unchanged. (main, 2026-08-24, performance) - [#10466 Resolve purchase lines to items on exact description match](bcapps/10466.md): Inbound purchase invoice lines now resolve to items when the description exactly matches one existing item, instead of falling through to G/L account matching. (main, 2026-08-24, fix) - [#10303 [Master]-Modifying a linked contact's common field clears the SIREN field on the associated customer record in the French version.](bcapps/10303.md): The French version now correctly preserves the SIREN field on a customer record when modifying a linked contact's common fields, fixing an issue where the field was being cleared. (main, 2026-08-24, fix) - [#10230 [Main] node should have negative sign in the SII XML for Sales Credit Memos under One-Stop-Shop regime in the Spanish version](bcapps/10230.md): The ImporteTAIReglasLocalizacion node in Spanish SII XML for sales credit memos under One-Stop-Shop regime now displays the correct negative sign when submitted. (main, 2026-08-24, fix) - [#10349 [DE] Support registration numbers in E-Documents](bcapps/10349.md): E-Document import and export processing now handles registration numbers for vendor matching and supports German FC tax identifiers in multiple document formats. (main, 2026-08-24, feature) - [#133 Add TransferFields SkipFieldsNotMatchingType guidance](bcquality/133.md): Added guidance in BCQuality to warn developers against using TransferFields with SkipFieldsNotMatchingType as a blanket solution, as it can silently drop fields when type mismatches occur within the same extension. (main, 2026-08-24, other) - [#10336 [Main]- Incorrect calculation of single-level capacity and material cost for Stockkeeping Units (SKU) when running cost changes in the Standard Cost Worksheet and implementing the Standard Cost change](bcapps/10336.md): The Implement Standard Cost Change report no longer copies an item's updated cost shares to its stockkeeping units in the Load SKU Cost on Manufacturing mode, where it used to ignore that setting. Users are told to recalculate SKU costs with Calc. Standard Cost on the Stockkeeping Unit Card. (main, 2026-08-24, fix) - [#10430 [Master]-ACY amount on Value Entries is recalculated from LCY when the document currency equals the Additional Reporting Currency, causing a mismatch with G/L Entries]](bcapps/10430.md): Fixed a calculation error in item journal posting when the document currency matches the additional reporting currency, ensuring ACY amounts on value entries are consistent with G/L entries. (main, 2026-08-24, fix) - [#135 Correct severe misconception about SetCurrentKey in the knowledge base](bcquality/135.md): Documentation corrected to clarify that SetCurrentKey only affects SQL sort order, not index selection by SQL Server, removing outdated guidance that misled AL developers. (main, 2026-08-23, fix) - [#10519 SOA - Try it out : agent activation after closing the page](bcapps/10519.md): The Sales Order Agent now activates only after a task is submitted rather than when the Create Task page closes, preventing unintended activation when the form is cancelled. (main, 2026-08-22, fix) - [#10449 Remove permission set ref and move the Page Inspector changes to BCApps](bcapps/10449.md): Removes references to the soon-to-be-obsoleted table "Extension Execution Info" from three permission sets: D365 Basic - Read, Page Inspection and VSC Intgr. - Admin. It also moves the Page Inspector changes from Platform into BCApps, updating the Page Inspection pages and the VS Code helper codeunit. (main, 2026-08-22, refactor) - [#10301 [Master]-Bug 646962: Withholding Tax Posting Setup](bcapps/10301.md): Withholding Tax Posting Setup now validates that certain options are only available for employee-related withholding taxes, and blocks threshold period selection when inappropriate. This prevents misconfiguration when setting up withholding tax rules for vendors. (main, 2026-08-21, fix) - [#10214 [Main]Posting Error with 50% Non-Deductible VAT when "Check Source Currency Consistency" is enabled in "General Ledger Setup" page](bcapps/10214.md): Fixed a posting error that occurred when posting purchase documents with 50% non-deductible VAT in a foreign currency while source currency consistency checking was enabled. The source currency VAT amount for deductible VAT entries now correctly excludes the non-deductible portion. (main, 2026-08-21, fix) - [#10386 [Agent Archiving] Prevent archived custom agents from being modified](bcapps/10386.md): Archived custom agents can now be viewed for auditing but are protected from modification across all authoring surfaces, blocking direct changes and closing persistence gaps in the agent card and instruction history. (main, 2026-08-21, feature) - [#10176 [Main][all-e]Prepayment Invoice and Quantity Change Issue in Business Central](bcapps/10176.md): Fixes an issue with prepayment invoices when the quantity is changed on purchase or sales lines. Purchase Line and Sales Line tables were updated in many localization layers, and tests were added. (main, 2026-08-21, fix) - [#10488 Add integration event before inserting the outgoing IC sales line buffer](bcapps/10488.md): An integration event now fires before each outgoing intercompany sales line buffer is inserted, allowing extensions to enrich line data before it enters the API payload. (main, 2026-08-21, feature) - [#10487 Add integration event before inserting the cost allocation journal line](bcapps/10487.md): Cost Allocation report now exposes an integration event that allows extensions to modify cost journal lines before they are inserted into the temporary journal. (main, 2026-08-21, feature) - [#10492 [SOA] Restrict direct deletion of contact overrides](bcapps/10492.md): The SOA Task Contact Override table restricts direct deletion by removing the inherent delete permission, while preserving legitimate deletions through validated code paths. (main, 2026-08-21, fix) - [#9686 [Master] Incorrect Payables Account Selected for Unrealized Gain/Loss in Multi-Posting Group FCY Applications.](bcapps/9686.md): Foreign currency unrealized gain/loss posting now selects the correct payables account when multiple posting groups are used, fixing an issue where wrong accounts were chosen during multi-posting group transactions. (main, 2026-08-21, fix) - [#10461 [SOA] Uptake Agent Task Message Failed status for outbound replies](bcapps/10461.md): Sales Order Agent now marks outbound replies as Failed when they exhaust their retry budget, leveraging a new terminal Failed status from the Agent Runtime instead of application-side state. This prevents failed messages from being re-processed on subsequent agent runs. (main, 2026-08-21, feature) - [#10010 Add Report Inbox API pages for automated report retrieval](bcapps/10010.md): Four new API pages expose Report Inbox data through the 'automate' API group, allowing Power Platform and OData clients to discover and download scheduled report outputs across single or multiple companies. (main, 2026-08-21, feature) - [#10232 Block unauthorized Sales Order Agent setup access](bcapps/10232.md): The SOA Setup page now validates user permissions before allowing access to Sales Order Agent configuration, preventing unauthorized users from bypassing agent authorization controls. (main, 2026-08-21, fix) - [#10370 [Master]-Bug 647018: Withholding tax for Employees and GL Accounts](bcapps/10370.md): When a G/L account is used as the balance account on a General Journal line, the line now inherits the WHT product posting group from that G/L account. This lets withholding tax for employees be used outside expense management. (main, 2026-08-21, fix) - [#10352 [Master]-Bug 646964: Withholding Tax Prod. Posting Group is missing o…](bcapps/10352.md): The Withholding Tax Prod. Posting Group field, previously missing, is now shown on the General Journal and Payment Journal pages through new page extensions in the Withholding Tax app. (main, 2026-08-21, fix) - [#10183 Bug 646432: [master] [Sustainability] Line does not indicate/enforce which Calculation Foundation is in use; all formula input fields are editable](bcapps/10183.md): Sustainability Journal and Purchase Order lines now enforce field editability based on the selected account category's Calculation Foundation and Emission Scope, preventing users from editing formula inputs that are not supported by the chosen calculation method. (main, 2026-08-21, fix) - [#10031 Add AI-assisted policy evaluation backend to Expense Agent](bcapps/10031.md): Expense Agent now supports AI-assisted policy evaluation, storing immutable evaluation results for each policy and expense report subject, with new tables, pages, and APIs to track compliance status and enable policy validation at approval. (main, 2026-08-21, feature) - [#10364 Create released production orders from planning worksheet](bcapps/10364.md): The carry out action message feature on the planning worksheet now supports creating released production orders directly, with options to release them immediately or release and print them. (main, 2026-08-21, feature) - [#10458 SOA Setup page tooltips improvement](bcapps/10458.md): The SOA Setup page received improved tooltips to provide better guidance to users configuring the Sales Order Agent feature. (main, 2026-08-21, fix) - [#10278 Subcontracting Operation Notes](bcapps/10278.md): Subcontracting operations now support dedicated comments at the standard task, routing line, and production order routing line levels, which flow to subcontracting purchase orders as attached blank lines while production-order attachments flow to related purchase lines. (main, 2026-08-21, feature) - [#10134 [Bug 646487] Composite layout: focus fix, body-layout gating, and setup UI](bcapps/10134.md): Multiple bugs in composite layout management are fixed, including focus handling, multi-select deletion, configuration key conflicts, and layout subtype restrictions. UI labels are clarified and a Details FactBox replaces the Theme and Header/Footer Box. (main, 2026-08-21, fix) - [#10166 [Extensibility Request] issue 29643: enable split transfer demand profiles](bcapps/10166.md): Transfer demand profile handling now supports an event that allows extensions to create multiple profiles for different planning contexts, such as preserving distinct cable and cut-length requirements instead of aggregating quantities. (main, 2026-08-20, feature) - [#10382 [Expense Agent] Fix administrative recall history access](bcapps/10382.md): Expense Report recall authorization is now restricted to the submitter or users with Unlimited Expense Approval, and non-submitter recalls are recorded as administrative activity outside the approval history. (main, 2026-08-20, feature) - [#9362 [FI] Delocalize FI VAT-VIES Declaration report into FI Core](bcapps/9362.md): The Finnish VAT-VIES Declaration report is moved from a localized FI BaseApp override into FI Core as a report extension, with shared dataset columns added to the base report and Finnish-specific rendering handled through FI Core's extension layer. (main, 2026-08-20, refactor) - [#10411 [SOA] Allow changing or clearing manually selected contacts](bcapps/10411.md): Users can now select, change, or clear manually chosen contacts in the Sales Order Agent through a dedicated lookup interface and assist-edit, with changes isolated to one-time overrides that don't modify underlying contact fields. (main, 2026-08-20, feature) - [#10407 Shopify connector: persist order Tax Area Code, Tax Liable, and Tax Exempt (stack 1/3)](bcapps/10407.md): Shopify connector now captures and persists tax area code, tax liable, and tax exempt fields from Shopify orders, propagates them to sales documents during order and refund creation, and adds integration events for downstream extensions. (main, 2026-08-20, feature) - [#10277 Slice 554749: Inventory put-away/pick support for subcontracting purchase lines and WIP item transfers](bcapps/10277.md): Inventory put-away and pick functionality is now supported for subcontracting purchase lines and WIP item transfers, with proper handling of quantities, item tracking, bin propagation, and partial posting scenarios. (main, 2026-08-20, feature) - [#9273 Extend Contoso Mfg shop calendar range to cover next-year due dates](bcapps/9273.md): Contoso Coffee Manufacturing demo data calendar now covers the next calendar year, preventing backward scheduling from silently clamping production order dates to the current year end. (main, 2026-08-20, fix) - [#9130 [Subcontracting] Refactor event subscriber for planning components and add test for Vendor-supplied components](bcapps/9130.md): Vendor-supplied components in subcontracting no longer generate separate planning demand but still appear in the planning worksheet for consumption registration. The subscriber now hooks OnAfterFilterLinesWithItemToPlan on Planning Component instead of OnTransferBOMOnBeforeUpdatePlanningComp, and a test covers the behaviour. (main, 2026-08-20, fix) - [#10346 Fix activity log indirect permissions](bcapps/10346.md): The Expense Agent and Expense Management permission sets now grant indirect permissions on Expense Activity Log Entry to prevent SaaS entitlement failures when users create lifecycle activity entries, while keeping all writes code-mediated through the activity log manager. (main, 2026-08-20, fix) - [#10342 Add GLN information to XRechnung and ZUGFeRD exports](bcapps/10342.md): GLN identifiers with schemeID 0088 are now included in German XRechnung and ZUGFeRD electronic document exports, respecting customer GLN settings and address hierarchy rules. (main, 2026-08-20, feature) - [#10425 [master] Remittance Advice Report (ID 10083) prints Amount Due = 0 when using Suggest Vendor Payments with Summarize Per Vendor](bcapps/10425.md): Report 10083 now correctly displays the Amount Due field when generating remittance advice with vendor payments summarized per vendor, fixing an issue where the field appeared as zero due to a missing field calculation. (main, 2026-08-20, fix) - [#10311 [Master] - Slice 640778: [Sustainability] Sustainability Entries should be more easy to find like other entries across BC](bcapps/10311.md): Sustainability entries can now be found more easily through a Find Entries action on the Sustainability Ledger Entries page and new Sustainability Value Entries actions on Item Card and Item List pages. (main, 2026-08-20, feature) - [#10259 Slice 550732: Keep routing descriptions when vendor changes](bcapps/10259.md): When the vendor changes on a subcontracting requisition line, Description and Description 2 are now kept from the matching production order routing line. The work-center descriptions are still used when the routing line is missing, belongs to another work center, or has a blank Description 2. (main, 2026-08-20, fix) - [#10270 [Quality Management] Repair and improve XML documentation of procedures](bcapps/10270.md): XML documentation for Quality Management procedures has been repaired and improved across numerous codeunits, tables, pages, and reports. (main, 2026-08-20, refactor) - [#10149 Improve the Index Mgmt page discoverability](bcapps/10149.md): The index management page can now be opened directly from Tell Me or direct access, and it then shows a table selection dialog. Table Information gets a button to open it instead of the previous hyperlink, and empty datetimes show a dash instead of the minimum value. (main, 2026-08-20, feature) - [#9969 Add AL fast prompt interface and wrappers](bcapps/9969.md): A new GetFastPrompt interface and AOAI Fast Prompt Response codeunit enable AL code to fetch blob-backed prompt templates from Edge Configuration Service with typed response handling. (main, 2026-08-20, feature) - [#10418 [SOA] Ignore extended-text lines when editing sales quotes](bcapps/10418.md): Sales Order Agent now filters out extended-text lines from the sales quote view to prevent the agent from getting stuck when attempting to add items after automatic extended text is inserted. (main, 2026-08-20, fix) - [#10331 [Master]-Missing VAT Identifier in Peppol XML for Zero-Value Invoice](bcapps/10331.md): PEPPOL XML export now includes the VAT identifier for zero-value invoices, where it was previously missing. The fix is in the PEPPOL30 Impl. codeunit, and BIS billing tests were added. (main, 2026-08-20, fix) - [#10254 Fix 644744: Undo subcontracting receipt keys Item Entry Relation with Capacity Ledger Entry No.](bcapps/10254.md): Subcontracting purchase receipt undo now uses the correct Output Item Ledger Entry instead of the Capacity Ledger Entry No. when recording item entry relations, preventing data corruption and duplicate key errors for tracked items. (main, 2026-08-20, fix) - [#10293 [Master] - Bug 641309: [Sustainability][Value Chain] Item Reclassification (location move) uses average emissions instead of Specific carbon tracking (lot/serial)](bcapps/10293.md): Item reclassifications now track specific carbon emissions (by lot/serial) instead of using average emissions, and Carbon Tracking Method validation is enforced in all contexts including non-UI operations. (main, 2026-08-20, fix) - [#10008 [MCP] Add codeunit APIs as MCP tools in MCP configuration](bcapps/10008.md): Codeunit APIs are now integrated into MCP configuration as a new object type alongside API pages and queries, with unified selection UI and metadata sourced from the Api Web Service table. (main, 2026-08-20, feature) - [#10367 [Quality Management] Add OptimizeForTextSearch to searchable Qlty. Inspection Header fields (AB#620381)](bcapps/10367.md): Two searchable fields in Quality Management's Inspection Header table now use optimized text search to improve performance on large datasets. (main, 2026-08-19, performance) - [#9077 [Quality Management] Bug 620326: Reset IsChangingStatus on handled Reopen/Finish early-exit](bcapps/9077.md): Quality Management's Reopen/Finish procedures now properly reset the IsChangingStatus flag when a subscriber handles the OnBefore events, preventing improper modifications to completed inspections. (main, 2026-08-19, fix) - [#10207 [Dataverse] Use Truncate for CRM Integration Record cleanup during environment copy](bcapps/10207.md): Environment copy cleanup of CRM Integration Records now uses bulk truncate instead of row-by-row deletion to improve performance on large coupling tables, with fallback to the original DeleteAll method when truncate is unsupported. (main, 2026-08-19, performance) - [#9865 [Main] - 'Greater Than' Withholding Tax Calculation Rule is not app…](bcapps/9865.md): The withholding tax calculation now respects the configured calculation rule (Less than, Greater than, Equal to, etc.) instead of hard-coding comparisons, fixing incorrect withholding tax creation or suppression across different rule types. (main, 2026-08-19, fix) - [#10343 [Subcontracting] Bug 641241: Notify to install Subcontracting app in Subcontracting Worksheet](bcapps/10343.md): A notification now prompts users on SaaS to install the Subcontracting app when they access the obsolete Subcontracting Worksheet page, with options to install or dismiss the message. (main, 2026-08-19, feature) - [#10251 Ruleset hardening: promote 5 rules from Warning to Error](bcapps/10251.md): Five analyzer rules (AL0547, AL0679, AW0014, AS0058, PTE0007) were promoted back to Error by removing their overrides from the base ruleset. Violations were fixed by adding a missing codeunit to a permission set and unhiding an action group, or suppressed with documented pragmas. (main, 2026-08-19, refactor) - [#10092 [Shopify] Add cues for Skipped Records and API Errors on Activities page](bcapps/10092.md): Two new cues on the Shopify Activities page display counts of skipped sync records and API errors, making background job issues visible without manually opening logs. (main, 2026-08-19, feature) - [#10034 [Shopify] Don't block Shops page when user lacks extension permissions](bcapps/10034.md): The Shopify Shops page no longer fails to open on Belgian environments when users lack extension installation permissions. A permission error during the installation status check now skips the notification instead of blocking the page. (main, 2026-08-19, fix) - [#10256 [Shopify] Fix customer matching when phone numbers contain spaces](bcapps/10256.md): When exporting customers to Shopify, the connector now strips phone numbers down to the plus sign and digits before searching. It accepts a search result only if the phone or email matches exactly. Formatted phone numbers no longer match unrelated Shopify customers, which used to make the export get skipped with a misleading 'already exists' message. (main, 2026-08-19, fix) - [#10307 [Shopify] Fix Order Totals factbox opening an unrelated sales order for a linked posted invoice](bcapps/10307.md): The Shopify Order Totals factbox now correctly resolves and displays totals for open sales orders, open sales invoices, and posted sales invoices by using the document link table, and navigates to the correct document type instead of always opening a sales order. (main, 2026-08-19, fix) - [#10051 Bug 642053: [master] [Sustainability] Preview Posting Creates Gaps in Sustainability Ledger Entry Numbers](bcapps/10051.md): Preview posting of journal lines and documents that carry sustainability emissions no longer leaves gaps in Sustainability Ledger Entry numbers. Preview rows are now collected in memory under temporary numbers instead of being inserted, so no AutoIncrement identity is used. Normal posting is unchanged. (main, 2026-08-19, fix) - [#10308 Uptake agent archiving in Sales Order Agent (AB#644549)](bcapps/10308.md): The Sales Order Agent app now supports agent archiving, a soft delete capability that marks deactivated agents as read-only while preserving their data. Archived agents no longer consume instance slots, their identities and mailboxes can be reused by administrators, and the setup experience becomes read-only for archived agents. (main, 2026-08-19, feature) - [#10337 Let subscribers override the half-year new year date in SetHalfYearConventionMethod](bcapps/10337.md): The OnBeforeSetHalfYearConventionMethod event now allows subscribers to override the accounting period start date used for half-year depreciation calculations by adding a trailing var parameter that subscribers can populate. (main, 2026-08-19, feature) - [#9478 feat(Sustainability): Add Reverse Transaction for Sustainability Ledger Entries](bcapps/9478.md): Users can now reverse posted Sustainability Ledger Entries manually from the page or automatically when their originating G/L transaction is reversed, with all emission fields negated and the reversal posted on the original entry's date. (main, 2026-08-19, feature) - [#10341 Remove Anthropic privacy notice from Expense Agent](bcapps/10341.md): Anthropic privacy notice components are removed from Expense Agent with the original page marked for future removal, while upgrade logic attempts to clean up persisted legacy data. (main, 2026-08-19, obsoletion) - [#10334 Add integration event OnAfterGetRecordOnAfterConfirmAndModify in the General Posting Setup dataitem OnAfterGetRecord trigger after Modify.](bcapps/10334.md): Report 87 now raises an integration event after modifying records in the General Posting Setup dataitem when the user confirms the action, enabling partners to hook into this specific point in the workflow. (main, 2026-08-19, feature) - [#10359 Add activity log amount formatting metadata](bcapps/10359.md): Amount fields in the Expense Activity Log Entry table now include currency-aware formatting metadata to display local currency and reimbursement currency values correctly. (main, 2026-08-19, feature) - [#10253 Avoid starting a write transaction under `ShowCanCreateAgent`](bcapps/10253.md): Payables Agent Setup no longer starts a write transaction when computing ShowCanCreateAgent. This avoids problems when third-party code commits, asks for confirmation and then opens a page, while a separate platform bug remains open. (main, 2026-08-19, fix) - [#7546 [Payables Agent] Agent-driven line matching](bcapps/7546.md): Adds agent-driven line matching to the Payables Agent, allowing agents to resolve purchase lines by navigating BC pages instead of using the AL PrepareDraft pipeline when the PAAgentDrivenLineMatching feature flag is enabled. (main, 2026-08-18, feature) - [#9987 Fix Payment Management FR data update paths and per-company feature status](bcapps/9987.md): Centralizes the French payment data migration in a new codeunit so the Feature Management path also remaps payment step object IDs, and adds an upgrade tag to repair companies migrated before remapping existed. Feature status is no longer copied to every company after a data update, in the Payment Management FR app and the three GB apps. (main, 2026-08-18, fix) - [#10302 [SOA] Clarify contact mapping options for unknown email senders](bcapps/10302.md): The contact-link dialog for unmatched email senders now clearly separates task-level contact overrides from updating contact data, shows the sender's email address, explains that matching uses both E-Mail and E-Mail 2, and spells out the E-Mail 2 replacement values. (main, 2026-08-18, other) - [#10290 [Main] -Drop shipment undo receipt fails for service and non-inventory items.](bcapps/10290.md): Undo receipt and undo shipment operations now work correctly for drop shipments involving service and non-inventory items by removing unnecessary cost application filters and adding a fallback lookup method through drop shipment links. (main, 2026-08-18, fix) - [#9257 Hide Provide feedback action on E-Document Purchase Draft when user-i…](bcapps/9257.md): The Provide feedback action on the E-Document Purchase Draft page is now hidden when tenant admins disable user feedback in PPAC, preventing users from seeing a non-functional button. (main, 2026-08-18, fix) - [#10276 [master] Renewal Term field on the Create Contract Renewal Quote page does not accept the entered value such as 12M](bcapps/10276.md): The Renewal Term field on the Create Contract Renewal Quote page now correctly accepts and retains entered values like '12M' instead of resetting to blank when the field is exited. (main, 2026-08-18, fix) - [#8747 [Subcontracting] Disable "WIP Item Transfer" for Machine Center](bcapps/8747.md): The "Transfer WIP Item" field on routing lines is now restricted to Work Center types with subcontracting enabled, with validation failing and the field disabled for Machine Center types. Comprehensive UI and validation tests were added to ensure correct behavior. (main, 2026-08-18, fix) - [#10184 [Mai][German Localization] Recurring Frequency DateFormula Exports as Invariant Tokens (+1D/+1Y) Instead of Localized UI Tokens (+1T/+1J) in ExcelInital commit](bcapps/10184.md): The Recurring General Journal page now exports recurring frequency date formulas in localized UI tokens (like +1T for German) instead of invariant tokens (+1D) when exporting to Excel or OData. (main, 2026-08-18, fix) - [#10079 [main] features 640066 Add integration events for events for CZ Adv. Payment and CZ Cash Desk](bcapps/10079.md): Integration events added for Czech advance payment and cash desk functionality to allow customization of validation and lookup behavior on cash document lines, with optional skipping of amount field validation. (main, 2026-08-18, feature) - [#131 Correct table-level data classification guidance](bcquality/131.md): Privacy guidance now states that a valid table-level DataClassification is inherited by fields unless they override it. The fixture and related PII article were updated to separate inherited defaults from genuinely unclassified fields, which should stop false-positive review comments asking for redundant field-level declarations. (main, 2026-08-18, fix) - [#9886 [Master] Expense Report posting FCY rounding mismatch "Expense Report Posting Test" fail in Spain only (Source Currency Amount 649.97 vs 650](bcapps/9886.md): Fixed foreign currency rounding mismatch in expense report posting for Spain by improving how source currency amounts are calculated for employee payables balancing entries. (main, 2026-08-18, fix) - [#9892 [main] Bug 644283: Renumber Subcontracting app object ids as it clashes with partner range](bcapps/9892.md): Subcontracting app object IDs are renumbered to avoid conflicts with partner-reserved ranges, affecting codeunits, tables, pages, and other objects throughout the app. (main, 2026-08-18, refactor) - [#10294 [SOA] Fix missing Agent Task Message read permission in contact search](bcapps/10294.md): SOA Contact Search Impl now has read permission for Agent Task Message, allowing the Sales Order Agent to complete contact-mapping flows without permission intervention. (main, 2026-08-17, fix) - [#9729 [MAIN]-The system throws the error while posting a receipt against a Subcontracting Order.](bcapps/9729.md): Fixed subcontracting receipt posting to correctly handle multiple item variants and component lines by improving inventory matching logic and resetting the remaining quantity after successful posting. (main, 2026-08-17, fix) - [#8752 [Bug Fix] #638531: Disable Open TO from PO actions on non-subcontracting lines](bcapps/8752.md): The Open TO from PO actions on subcontracting purchase order lines are now properly disabled for non-subcontracting lines instead of appearing enabled but doing nothing. (main, 2026-08-17, fix) - [#10287 Move SOA item search and attachment extraction to GPT-5.5 deployments](bcapps/10287.md): Sales Order Agent AI operations move to GPT-5.5 chat deployments for attachment extraction, item search expansion, and item selection while leaving other SOA AI calls on GPT-4.1. (main, 2026-08-17, other) - [#10283 [Extensibility Request] issue 30419: add time sheet filtering events](bcapps/10283.md): Integration events are added to report 952 Suggest Job Jnl. Lines to allow extensions to filter time sheet headers and lines before they are processed. (main, 2026-08-17, feature) - [#10143 Handle non-invoice or currupt PDF extraction](bcapps/10143.md): E-document extraction now detects non-invoice or corrupt PDFs that return empty data and stops with a clear error, preventing creation of empty drafts and unnecessary vendor searches. (main, 2026-08-17, fix) - [#10248 Bug 646799: Spend Request fields in Posted Gen. Journal Line have wrong/different field numbers in country versions (correct in w1)](bcapps/10248.md): Spend Request field numbers in the Posted Gen. Journal Line table (181) are corrected in 13 country layers so they match the W1 version. (main, 2026-08-17, fix) - [#10255 Add expense activity history foundation](bcapps/10255.md): Expense activity history foundation adds tracking of lifecycle events for expense reports with an append-only activity log table, read-only APIs scoped by report and user role, factbox UI components, and comprehensive test coverage. (main, 2026-08-17, feature) - [#8318 SharePoint Graph Module - extend functionality with additional methods](bcapps/8318.md): The SharePoint Graph module gains update and rename operations for drive items and list items via MS Graph PATCH endpoints, plus enhanced test infrastructure for multi-step operations. (main, 2026-08-17, feature) - [#10096 Fix Close Income Statement grouping when no dimensions are selected](bcapps/10096.md): Fixed the Close Income Statement report to properly group G/L entries by account, business unit, and source currency when no dimensions are selected, and ensured closing lines retain source currency codes even when amounts net to zero. (main, 2026-08-17, fix) - [#10055 Fix: migrating a document attachment deletes shared Tenant Media](bcapps/10055.md): Document attachment migration no longer deletes shared Tenant Media records, preventing silent loss of content when attachments are copied to posted documents. (main, 2026-08-17, fix) - [#9454 Fix site scoped contextinfo](bcapps/9454.md): SharePoint request-digest calls now correctly target site-scoped URLs instead of tenant root for operations like CreateList, CreateListItem, CreateFolder, and UpdateListItemMetaDataField. (main, 2026-08-17, fix) - [#9401 Fix Incoming Documents default processed filter](bcapps/9401.md): The Incoming Documents page now defaults to showing only unprocessed records when opened without a filter, while preserving explicit filter choices. This restores the expected behavior after a regression. (main, 2026-08-17, fix) - [#9428 637301 Report layout override lifecycle](bcapps/9428.md): Report layout overrides for extension-installed layouts now write Tenant Report Layout Override records with lifecycle properties (status, description, obsolescence) scoped per field and per company, preserving existing company-level overrides while offering copy as an escape hatch. (main, 2026-08-17, feature) - [#10238 Remove consumed credits from Payables Agent setup](bcapps/10238.md): The Payables Agent setup page no longer displays consumed Copilot credits information, and the related calculation code has been removed as part of monetization changes. (main, 2026-08-17, other) - [#9973 [WHT]-Withholding Tax is not deducted from Expense Report lines based on the Expense Category during posting](bcapps/9973.md): Withholding tax is now deducted from expense report lines during posting based on the expense category. The change adds new objects in the ExpenseWithholdingTax app and touches Expense Report posting, the WithholdingTax employee codeunits and Gen. Jnl.-Post Line in all layers. (main, 2026-08-17, fix) - [#10065 [Quality Management] Quality Inspection User assignment fixes](bcapps/10065.md): Fixes a table relation error when manually selecting an assigned user on a quality inspection, and shows a self-assignment notification when modifying an inspection that has no assigned user. (main, 2026-08-17, fix) - [#10205 Deprecate Text Completion API in AI SDK (work item 621038)](bcapps/10205.md): The Text Completion API in the Azure OpenAI AI module is marked obsolete and guarded with conditional compilation to prepare for its removal, as Azure OpenAI has retired the davinci models. (main, 2026-08-17, obsoletion) - [#9937 Fix error when selecting item as the line type in German language](bcapps/9937.md): Fixed an error that occurred when selecting an item as the line type in German language versions of Business Central on blanket sales order forms. (main, 2026-08-17, fix) - [#10168 [APAC] Keep vendor ACY on purchase invoice payables entry](bcapps/10168.md): The posting engine in APAC regions now correctly preserves the vendor-calculated additional reporting currency on payables entries, preventing unbalanced ACY amounts and spurious residual entries when posting purchase invoices with blank currencies and non-zero vendor exchange rates. (main, 2026-08-17, fix) - [#10136 [CH][SEPA CT] Export requires both IBAN and Clearing No. for domestic payments and refunds](bcapps/10136.md): Swiss SEPA CT export now automatically extracts the clearing number from the IBAN when not explicitly provided, ensuring both values are populated for domestic payments and refunds. (main, 2026-08-17, fix) - [#9067 Production Definition Wizard - Implementation](bcapps/9067.md): The Production Definition Wizard is introduced as a guided multi-step interface for configuring Bill of Materials and Routing for manufactured items, with new setup fields, temporary record handling improvements, and expanded event publishers for extensibility. (main, 2026-08-16, feature) - [#10171 [Extensibility Request] issue 30110: add prepayment update events](bcapps/10171.md): Sales prepayment posting now exposes two integration events that allow extensions to customize which lines are included in redistribution and modify each line before persistence without duplicating standard logic. (main, 2026-08-16, feature) - [#10165 [Extensibility Request] issue 29901: expose item application entry before find](bcapps/10165.md): Adds an event in Undo Sales Shipment Line before the filtered Item Application Entry is retrieved when undoing a drop shipment, so subscribers can adjust loaded fields and avoid JIT load-field errors on extension fields. (main, 2026-08-16, feature) - [#10174 [Extensibility Request] issue 30137: allow overriding cost share application](bcapps/10174.md): An integration event was added to the Cost Shares Breakdown report to allow extensions to override how cost share application calculates and applies cost values to capacity and overhead amounts. (main, 2026-08-16, feature) - [#10101 [Master] [Expense Agent] Bug 641393 [AT] Recognize International Standard Code 1A as mileage UOM](bcapps/10101.md): The mileage unit of measure filter now recognizes the Austrian 'Meilen' unit with International Standard Code 1A, allowing it to appear in the Default Mileage UOM selector in Expense Agent setup. (main, 2026-08-16, fix) - [#9910 [SOA] Move attachment processing to direct model reading](bcapps/9910.md): Sales Order Agent now processes PDF and image attachments directly with GPT-4.1 mini to extract structured JSON containing customer references, item details, quantities, and dates, replacing platform-generated attachment text before relevance validation. (main, 2026-08-15, feature) - [#9751 Extract invoice date into Invoice Date field and recover due date fro…](bcapps/9751.md): Invoice Date on the purchase draft is now filled from the extracted invoice date in both the ADI and MLLM readers. When the top-level due date is missing, the MLLM reader now takes the Due Date from payment_means.payment_due_date. (main, 2026-08-14, fix) - [#10020 [Master] - Bug 641894: [Expense Agent] [Rules] Mileage expense should not validate require receipt number rule](bcapps/10020.md): Mileage expenses in Expense Agent no longer incorrectly trigger the receipt number mandatory validation rule, since mileage never has receipts. (main, 2026-08-14, fix) - [#10225 [Master]-When we run the Order Planning Worksheet by Project, a supply suggestion is created for items that are already received but not invoiced in Purchase Orders, but only after updating Order and Posting Dates on Purchase Order.](bcapps/10225.md): Fixes Order Planning Worksheet run by project creating supply suggestions for items already received but not invoiced on purchase orders, which happened after the order and posting dates on the purchase order were updated. The change is in the Get Unplanned Demand codeunit. (main, 2026-08-14, fix) - [#10169 [Extensibility Request] issue 30081: add VAT registration number override event](bcapps/10169.md): An integration event allows extensions to override VAT registration number formatting in Intrastat reports before standard concatenation logic runs. (main, 2026-08-14, feature) - [#10227 Fix regression introduced by Apply-to-Oldest optimization](bcapps/10227.md): The Gen. Jnl.-Post Line codeunit was fixed to resolve a regression introduced by the Apply-to-Oldest optimization that affected application logic in general ledger posting. (main, 2026-08-14, fix) - [#10209 Promote AA0471, AA0472 and AA0474 to Error in the base ruleset](bcapps/10209.md): Three analyzer rules (AA0471, AA0472, AA0474) are promoted from None to Error in the base ruleset, with violations in the Withholding Tax app fixed by adding missing AutoFormatExpression attributes to amount fields. (main, 2026-08-14, other) - [#10123 [Extensibility Request] issue 30401: add credit memo sales line filter event](bcapps/10123.md): An integration event OnUpdateSalesDocumentOnBeforeFindSetCreditMemoSalesLine was added to the Sales-Post Prepayments codeunit, allowing extensions to filter credit memo sales lines during prepayment document processing. (main, 2026-08-14, feature) - [#9449 [Extensibility Request] issue 30334: fix OnAfterCarryOutToReqWksh record order](bcapps/9449.md): The OnAfterCarryOutToReqWksh integration event now passes the target requisition line as a modifiable var parameter, allowing subscribers to persist changes to the newly created line. (main, 2026-08-14, fix) - [#2346 Pin all actions that are not currently pinned](al-go/2346.md): References to GitHub actions that were not yet pinned are now pinned in the BuildPowerPlatform, DeployPowerPlatform and PullPowerPlatformChanges actions. The dependabot configuration also gets a small addition. (main, 2026-08-14, other) - [#9272 Fix duplicate in-transit location in localized Contoso demo data](bcapps/9272.md): The Contoso demo data now uses a single source for the in-transit location code across inventory and warehousing modules, eliminating duplicate location records in non-English locales. (main, 2026-08-14, fix) - [#9711 Fix E-Document purchase draft header Sub Total overwrite; notify on mismatch](bcapps/9711.md): E-Document purchase draft no longer silently overwrites the header Sub Total when lines are edited. Users are now notified when the header total diverges from the line totals beyond a rounding tolerance, with options to dismiss or ignore future warnings. (main, 2026-08-14, fix) - [#9278 Add Standard Tasks with work instructions to Contoso Coffee manufacturing demo data](bcapps/9278.md): Contoso Coffee manufacturing demo data now includes Standard Task master records with work instructions linked to routing operations, enabling the Standard Tasks page and Subcontractor Price table to have usable data out of the box. (main, 2026-08-14, feature) - [#10220 [main] Calculate Inventory - Add check to skip report processing if Warehouse Entry table is empty](bcapps/10220.md): The Calculate Inventory report now skips its per-iteration Warehouse Entry processing when the Warehouse Entry table is completely empty. This avoids needless work in databases that have no warehouse entries. (main, 2026-08-14, performance) - [#10141 [Quality Management] Make transaction blocked error more understandable and actionable](bcapps/10141.md): Quality Management transaction blocking errors now display more clearly with actionable information. Error messages become clickable and show context of the source quality inspection, and all affected item tracking lines are processed rather than stopping at the first error. (main, 2026-08-14, feature) - [#10029 [Main]-Import of e-documents with format ZUGfERD & XRECHNUNG fail with error message You cannot insert a purchase line without a purchase header in German localisation](bcapps/10029.md): An earlier fix in the German XRechnung and ZUGFeRD import codeunits is reverted. The error 'You cannot insert a purchase line without a purchase header' is now handled by a separate change to Purchase Line and Sales Line in another PR. (main, 2026-08-14, fix) - [#10158 Add details to project sales tooltip](bcapps/10158.md): Project Sales by Project chart now displays project description and customer name in the tooltip alongside the project number to help users identify projects and customers without reducing visual readability. (main, 2026-08-13, feature) - [#9947 Allow long localized sales and purchase line type captions](bcapps/9947.md): Sales and purchase document subforms no longer fail when a localized line type caption is longer than 20 characters, such as the French allocation account caption. A new FormatTypeAsText() returning Text[30] replaces FormatType(): Text[20], which stays as an obsolete wrapper. (main, 2026-08-13, fix) - [#10206 Bug 646576: Preserve manually changed component Flushing Method on subcontracting transfers](bcapps/10206.md): Production order components in subcontracting transfers no longer lose their manually set Flushing Method when moved to or from the subcontractor location. A new helper function preserves the Flushing Method during automatic location changes while maintaining all validation side effects. (main, 2026-08-13, fix) - [#10159 Warn when missing Power BI Account Categories Mappings](bcapps/10159.md): The Power BI Reports Setup page now warns users when Power BI Account Categories mappings are missing, a common problem in customer setups. The check is implemented in the Finance Installation Handler codeunit. (main, 2026-08-13, feature) - [#10179 [master] Financial Report Recalculate clears Global Dimension filters](bcapps/10179.md): Recalculating a financial report no longer clears Global Dimension filters on the Acc. Schedule Overview page. The fix preserves in-page filter values during recalculation. (main, 2026-08-13, fix) - [#9988 [Expense Agent] Fix Employee subscriber permissions](bcapps/9988.md): Fixes Expense Agent Employee event subscribers so they can sync and delete Expense Users without callers needing Expense User permissions, using method-scoped inherent permissions. Adds an API.ReadWrite.All application entitlement and moves internal agent APIs out of the Expense Management - Objects permission set. (main, 2026-08-13, fix) - [#9710 [Main] [all-e]CompAuxNum and CompAuxLib columns should be informed for Payment Discount lines in the French Audit File.Initial Commit](bcapps/9710.md): The French Audit File export now populates CompAuxNum and CompAuxLib columns for payment discount lines, fixing missing data in the generated audit file. (main, 2026-08-13, fix) - [#2331 Support trackALAlertsInGitHub for workspace compilation build path](al-go/2331.md): AL-Go now produces error log files during workspace compilation when GitHub code scanning alerts are enabled, allowing AL compiler diagnostics to surface as code scanning alerts in the workspace build path. (main, 2026-08-13, feature) - [#10216 Fix Purchase Journal document amount decimal formatting](bcapps/10216.md): The Purchase Journal page now refreshes its Document Amount field formatting when a vendor is validated, so it immediately reflects the correct decimal-place settings from the vendor's currency instead of retaining the previous format. (main, 2026-08-13, fix) - [#10126 [Extensibility Request] issue 30389: allow skipping service item confirmation](bcapps/10126.md): The ServItemManagement codeunit now allows extensions to skip the service item confirmation dialog through a new event parameter while preserving the standard creation logic. (main, 2026-08-13, feature) - [#10164 Correction of where inventory valuation Power BI reports are shown](bcapps/10164.md): Inventory valuation Power BI reports now appear only in the Business Manager Role Center with their own dedicated section, instead of being shown in the Finance Manager Role Center. (main, 2026-08-13, fix) - [#10036 [SOA]: Bugbash for releases 28.x - Contact unable to find due to Qasim map to Megan, different names](bcapps/10036.md): Fixes Sales Order Agent contact lookup and reply routing when a sender's email is mapped to a different contact. Lookup, filtering and recipient resolution now consider E-Mail 2 and the task contact override, and replies go to the mapped contact's primary email in the same thread. (main, 2026-08-13, fix) - [#10211 [master] Projects WIP related field tooltips missing broken grammar outdated terminology](bcapps/10211.md): Tooltips for WIP-related fields in the Job table were fixed: missing tooltips were added, broken grammar was corrected and outdated terminology was updated. (main, 2026-08-13, fix) - [#10131 [Extensibility Request] issue 30298: allow production scheduling direction control](bcapps/10131.md): Production order line quantity changes can now be extended to control scheduling direction, allowing backward or forward rescheduling instead of only backward scheduling. (main, 2026-08-13, feature) - [#10129 [Extensibility Request] issue 30342: allow skipping blocked item checks](bcapps/10129.md): ServContractManagement gets two separate IsHandled events so extensions can skip the blocked service item check or the blocked item and variant check. This lets them keep invoicing contracts whose references were later blocked or deleted. (main, 2026-08-13, feature) - [#10128 [Extensibility Request] issue 30357: add prepayment credit memo confirmation event](bcapps/10128.md): A handled event is added to the prepayment credit memo posting process, allowing extensions to replace the standard confirmation dialog just as they can for prepayment invoices. (main, 2026-08-13, feature) - [#10127 [Extensibility Request] issue 30379: enable grouped pick printing](bcapps/10127.md): Report 5754 now exposes pick headers before printing through an event, allowing extensions to implement grouped printing while preserving the default behavior. (main, 2026-08-13, feature) - [#10167 [Extensibility Request] issue 30240: add event before adding price list lines](bcapps/10167.md): A cancellable event is added before price list line creation so extensions can implement custom logic or replace the standard line creation behavior. (main, 2026-08-13, feature) - [#10208 [Subcontracting] Detect subcontracting purchase/transfer orders in legacy data check](bcapps/10208.md): The legacy data check for subcontracting now detects production-order-linked purchase and transfer orders to ensure migration runs when needed, and renames an internal function for clarity. (main, 2026-08-13, fix) - [#10185 Fix Reduce Contacts report silently ignores contacts whose company no…](bcapps/10185.md): The Remove Contacts report now correctly handles contacts whose company reference doesn't match their actual company, filtering by contact number for single contacts and by company number only for entire companies. (main, 2026-08-13, fix) - [#9276 Add second subcontractor (Local Assembly) to Contoso Coffee manufacturing demo data](bcapps/9276.md): Contoso Coffee manufacturing demo data now includes a second subcontractor (Local Assembly) alongside the renamed Bulk Assembly subcontractor, with corresponding work centers, locations, and routing updates to support dual-sourcing scenarios. (main, 2026-08-13, feature) - [#10151 Fix vendor contact relation read permission](bcapps/10151.md): Vendor changes made through indirect permissions no longer fail when the contact update check reads Contact Business Relation. VendCont-Update now elevates read permission on that table, and CustCont-Update and BankCont-Update get the same small edit. (main, 2026-08-13, fix) - [#10162 Fix stale start status in e-document import pipeline](bcapps/10162.md): The e-document import pipeline now uses the initial processing status instead of the post-undo status for telemetry emission and event triggering, fixing an edge case where no telemetry or event was sent after undoing to unprocessed. (main, 2026-08-13, fix) - [#9968 [BC-IN] TDS Amount Not Calculated on Initial TDS Section Selection in Bank Payment Voucher](bcapps/9968.md): TDS/GST/TCS taxes are now calculated on first entry of tax fields in Indian journal and voucher pages. The fix restores record saving before tax calculation and adds an event for advanced customization. (main, 2026-08-12, fix) - [#9085 Bug 640958: Guided error for subcontracting direct transfer from whse-handling location](bcapps/9085.md): The subcontracting transfer order creation report now provides a guided error when attempting direct transfer from a warehouse-handling location without an in-transit route, instead of an obscure system error. (main, 2026-08-12, fix) - [#10049 Removed the ReplicateData=false property](bcapps/10049.md): Three Spend Request tables had an incorrectly applied ReplicateData property removed to restore proper data replication behavior. (main, 2026-08-12, fix) - [#10125 [Extensibility Request] issue 30395: expose production pick grouping number](bcapps/10125.md): A new event enables extensions to modify the warehouse pick grouping number for production order components, allowing separate activity lines to be created for each component instead of using the same grouping number. (main, 2026-08-12, feature) - [#10124 [Extensibility Request] issue 30400: add credit memo line filter event](bcapps/10124.md): A new integration event allows extensions to filter purchase credit memo lines before they are selected during prepayment document updates, enabling customization without replacing standard posting logic. (main, 2026-08-12, feature) - [#9570 [Master]-Rounding Differences in ARAP with Deferrals and Non-Deductible VAT](bcapps/9570.md): Gen. Jnl.-Post Line (codeunit 12) is changed in 11 localization layers to fix rounding differences in receivables and payables when deferrals and non-deductible VAT are combined. Tests for non-deductible VAT were added in W1 and IT. (main, 2026-08-12, fix) - [#10150 [Bug 617189] Clarify strict expiration posting tooltip](bcapps/10150.md): The tooltip for Strict Expiration Posting in Item Tracking Code now clarifies that it uses First-Expired-First-Out picking for tracked items, independent of the location's FEFO setting. (main, 2026-08-12, fix) - [#9087 Bug 641331: Copy Production Order Document lookup shows the current document](bcapps/9087.md): The Copy Production Order Document report now excludes the current production order from the document lookup when searching for a source document, preventing a late error when the same order is selected. (main, 2026-08-12, fix) - [#10098 Reenable Expense Agent VAT tests](bcapps/10098.md): Expense Agent VAT posting tests are re-enabled by removing them from the disabled tests list. The PR also makes a small change to the IT version of the Gen. Jnl.-Post Line codeunit and a one-line change to the VAT test codeunit. (main, 2026-08-12, fix) - [#10066 [PEPPOL] Handle unknown persisted PEPPOL format values](bcapps/10066.md): The PEPPOL 3.0 Format enum now handles persisted format values that become unknown when their declaring extension is uninstalled, preventing runtime errors and prompting users to select an available format. (main, 2026-08-12, fix) - [#9878 Add buyer order reference to ZUGFeRD export](bcapps/9878.md): ZUGFeRD export now includes the buyer order reference as BuyerOrderReferencedDocument to associate invoices with customer purchase orders, matching other German e-document formats. (main, 2026-08-12, feature) - [#10048 Add GTIN to XRechnung and ZUGFeRD exports](bcapps/10048.md): GTIN codes from item cards are now exported to XRechnung and ZUGFeRD documents with GS1 scheme, enabling recipients to identify invoiced items by their standard product identifier. (main, 2026-08-12, feature) - [#10067 [Quality Management] Enable Bin code selection for transfer disposition in workflow response](bcapps/10067.md): Bin code selection is now available for transfer disposition in workflow responses for quality inspections, matching the behavior of the manual disposition form. (main, 2026-08-12, fix) - [#9360 Harden SFTP Client module (security review phase 1)](bcapps/9360.md): The SFTP Client module hardens security by removing MD5 fingerprint support, adding a 25 MB file-size limit, disabling debugging, and applying NonDebuggable attributes to sensitive code paths. The SFTP Connector now only accepts SHA256 fingerprints. (main, 2026-08-12, fix) - [#10080 Bug 646141: Forward-port Subcontracting Dispatch List action from 28.x to main](bcapps/10080.md): Forward-ports the app-owned Subcontractor Dispatch List action to the Subcontracting Work Center Card extension and removes the obsolete modify of the Base Application action, resolving AppSourceCop AS0031. The retained legacy Base Application action is now captioned Subcontractor - Dispatch List (Obsolete). (main, 2026-08-12, fix) - [#10061 [Master]-Payment Reference from Purchase Order Prepayment Invoice is not Transferred to Vendor Ledger Entries.](bcapps/10061.md): Payment reference from purchase order prepayment invoices is now transferred to vendor ledger entries when posting prepayment invoices. (main, 2026-08-12, fix) - [#10135 [Master]-Performance issue when calculating the VAT advance return / VAT statement (Base Application, German environment) - Copy](bcapps/10135.md): Removed database keys from the VAT Entry table in CH and DACH environments to prevent performance degradation on CRUD operations, reverting an earlier attempt to address VAT statement calculation issues. (main, 2026-08-12, performance) - [#10100 [Bug 644091] Separate B2B and B2C HSN summaries in GSTR-1 report](bcapps/10100.md): The GSTR-1 report now handles B2B and B2C HSN summaries separately through conditional filtering based on the selected Nature of Supply, with fallback to combined output when no specific category is chosen. (main, 2026-08-11, fix) - [#10130 [ExpenseAgent] Expose VatSpecifications on Expense API Page](bcapps/10130.md): The Expense API page now exposes VAT specifications through a new part, and a new capability is added to the Expense Agent for backwards compatibility. (main, 2026-08-11, feature) - [#10088 Harden base ruleset: promote 21 rules back to Error](bcapps/10088.md): 21 analyzer rules were promoted from Warning back to Error in the base ruleset after measuring violations across all country-specific builds, with source code fixes applied where needed to address the handful of violations found. (main, 2026-08-11, refactor) - [#9962 [Extensibility Request] issue 30383: add purchase line transfer event](bcapps/9962.md): An IsHandled integration event is published in the purchase availability transfer logic, allowing extensions to handle additional purchase document types like Blanket Orders without encountering unsupported source errors. (main, 2026-08-11, feature) - [#9656 [main] - Incorrect Prepayment Invoice Amount for Sales Orders with Invoice Discount, Prices Including VAT and negative non-inventory line.](bcapps/9656.md): Fixes incorrect prepayment invoice amounts for sales orders with invoice discounts, prices including VAT, and negative non-inventory lines by computing expected prepayment amounts line-by-line instead of from the order header. (main, 2026-08-11, fix) - [#9933 [MAIN]-Fix-Bug 644909 Cant modify Item Template after Item deletion](bcapps/9933.md): Item Template validation no longer fails with warehouse entry errors when modifying templates after item deletion. The fix prevents warehouse entry checks when validating temporary blank-numbered Item records. (main, 2026-08-11, fix) - [#10094 [Main]- Standard-cost purchase receipts use Direct Unit Cost instead of Standard Cost when cumulative expected-cost rounding is enabled](bcapps/10094.md): Standard-cost items now correctly use Standard Cost instead of Direct Unit Cost when calculating expected cost on purchase receipts with cumulative rounding enabled, preventing inventory overstatement and ensuring purchase variance is properly recognized on invoicing. (main, 2026-08-11, fix) - [#9725 [Master] - Slice 626127: [Excise Tax][VENDOR] Multiple Excise Taxes per Item](bcapps/9725.md): Excise tax configuration moved from item fields to a dedicated table to support multiple excise tax types per item, with new list and API pages, upgraded journal generation logic, and deprecated legacy fields. (main, 2026-08-11, feature) - [#9532 [Master]Error when creating a Pick "Nothing to handle. The quantity to be picked is in bin W-09-0002, which is not set up for picking."](bcapps/9532.md): Fixes warehouse pick creation by checking all ship-type bins for picked-not-shipped quantities instead of only the default shipment bin, preventing false 'nothing to handle' errors. (main, 2026-08-11, fix) - [#10072 [main] - Serial and Lot number mismatch when item is produced via Production Order and moved to inventory through an Internal Put-away](bcapps/10072.md): Registering a warehouse put-away now checks each line that has a Serial No. against the open Item Ledger Entry for that item, variant, location and serial number. If that entry has a Lot No., the line's Lot No. must match it, so a blank or wrong lot can no longer be registered, for example after an internal put-away of produced items. (main, 2026-08-11, fix) - [#10083 [main]- Negative Shipped and Invoiced Quantities appear on Sales Order Lines after using the Copy Document from a Sales Credit Memo.](bcapps/10083.md): When a sales credit memo created with Copy Document from a posted invoice that has the same item on several lines is posted, each credit memo line now resolves to a different invoice line. This stops negative Quantity Shipped and Quantity Invoiced on one sales order line while another order line stays unchanged. (main, 2026-08-11, fix) - [#10041 [Master]-]G/L Account Sheet with Foreign Currency report (11564) includes LCY-originated entries after enabling G/L currency revaluation feature resulting in mixed-currency totals in the Swiss version. - Copy](bcapps/10041.md): G/L Account Sheet with Foreign Currency report in Swiss version now correctly excludes local currency entries when G/L currency revaluation is enabled, ensuring totals reflect only foreign currency amounts. (main, 2026-08-11, fix) - [#9984 [Main] Error with unposted prepayment amounts on Order](bcapps/9984.md): Fixed an error where unposted prepayment amounts on sales and purchase orders were calculated incorrectly when the quantity to invoice was modified, by making the prepayment deduction calculation idempotent across multiple trigger invocations. (main, 2026-08-11, fix) - [#10058 [Master]-Withholding Tax Posting generates Unbalanced G/L Entries when Multiple Withholding Tax Rates are used on one Purchase Invoice.](bcapps/10058.md): The withholding tax posting calculation is corrected to prevent unbalanced G/L entries when multiple withholding tax rates apply to a single purchase invoice. (main, 2026-08-11, fix) - [#10056 [Master]- Cartera: Service Credit Memo cannot be posted - settlement check ignores Applies-to Doc. No. and Application Method.](bcapps/10056.md): Service credit memos in Spanish localization can now be posted when using Cartera settlement, as the posting logic now properly respects the Applies-to Document No. and Application Method fields during validation. (main, 2026-08-11, fix) - [#9208 [Enforced Digital Vouchers] - Attaching EDocuments when using Digital Vouchers](bcapps/9208.md): Digital Vouchers now automatically attach generated E-Documents to posted sales and purchase documents when configured to do so. The Digital Voucher Entry Setup table adds an E-Document check type option that streamlines compliance document management and reduces manual attachment effort. (main, 2026-08-11, feature) - [#10090 [Bank Acc. Reconciliation with Copilot] Read the functional part of the prompt from .resources and safety clause from Key Vault](bcapps/10090.md): Bank account reconciliation with Copilot now loads the functional part of AI prompts from resource files and retrieves only the safety clause from Key Vault, improving separation of concerns. (main, 2026-08-11, refactor) - [#9723 [Master] - Slice 626320: [Self-billing][VENDOR] Vendor‑specific Number Series for Self‑Billed Purchase Invoices](bcapps/9723.md): Vendors can now specify a number series for self-billed purchase invoices, allowing different numbering schemes based on the vendor. The feature is implemented through new table fields, posting logic updates, and vendor card UI enhancements across all localized versions. (main, 2026-08-11, feature) - [#9950 [Master] - Bug 645038 Withholding Tax entries from a previous posting preview appear on unrelated documents (e.g. expense report)](bcapps/9950.md): Withholding Tax entries from a previous posting preview no longer leak into unrelated document previews. The fix clears temporary WHT entries at the start of each preview instead of only during actual posting. (main, 2026-08-11, fix) - [#9578 [E-Documents Core] - Enabling remittance advice export via E-Documents (payment journal + posted payments)](bcapps/9578.md): E-Documents now supports exporting remittance advice from payment journals and posted vendor payments as PEPPOL BIS 3.0 UBL 2.1 XML documents. The existing UK remittance advice email functionality moves into the base application, while legacy page extensions are marked obsolete. (main, 2026-08-11, feature) - [#10086 Make AA0194 an error in the base ruleset](bcapps/10086.md): AA0194 code analysis rule is now enforced as an error instead of a warning in the base application ruleset, requiring all actions to have either an OnAction trigger or RunObject property. (main, 2026-08-11, other) - [#9465 [Extensibility Request] issue 30350: add OnBeforeTestFirstApplyItemLedgerEntryTracking event](bcapps/9465.md): A new integration event OnBeforeTestFirstApplyItemLedgerEntryTracking was added to codeunit 22 so extensions can validate item tracking and optionally modify the Item Tracking Code before standard validation runs. (main, 2026-08-10, feature) - [#9864 [Extensibility Request] issue 29078: Add OnBeforeTestTransferLine event](bcapps/9864.md): An OnBeforeTestTransferLine integration event was added to the TestTransferLine procedure on the Transfer Header table, enabling extensions to observe or extend transfer line testing logic. (main, 2026-08-10, feature) - [#9961 [Extensibility Request] issue 30381: expose page sender to filter subscribers](bcapps/9961.md): The OnRefreshPageOnAfterSetItemFilters event now exposes the page sender, allowing extensions to access page filters during item availability calculations without replacing standard behavior. (main, 2026-08-10, feature) - [#9960 [Extensibility Request] issue 30396: expose sales document lookup](bcapps/9960.md): The lookup procedure in the Copy Sales Document report is now public, allowing report extensions to reuse the standard sales document selection logic without duplication. (main, 2026-08-10, feature) - [#10007 [SOA] Ignore item availability when disabled](bcapps/10007.md): The Sales Order Agent now ignores item availability signals when availability checking is disabled in settings, while still requesting assistance when no item is found. (main, 2026-08-10, fix) - [#10050 Bug 638128: Deadlock in Duplicate Management when multiple users create customers at the same time](bcapps/10050.md): Fixes a deadlock in Duplicate Management that could happen when several users create customers, and therefore contacts, at the same time. The change is a one-line addition to codeunit 5060 DuplicateManagement. (main, 2026-08-10, fix) - [#9391 [Master] - Slice 616928: [Expense Management] [App part] Expense Managements Travel Requisitions 💸](bcapps/9391.md): Expense Management adds travel requisition support: new API pages for spend requests, spend request details and travelers, a Traveler table and page, and extensions of the spend request card and list. Base Application gains a Release Spend Request codeunit and a G/L link preview page, and the SpendRequestType enum is removed. (main, 2026-08-10, feature) - [#125 knowledge(data-modeling): TableRelation delete/rename asymmetry and the xRec before-image contract](bcquality/125.md): Adds three community data-modeling knowledge articles, each with good and bad AL examples: owning tables must delete dependents in OnDelete, ValidateTableRelation = false also stops rename propagation, and xRec is a true before-image only in some triggers. (main, 2026-08-10, other) - [#10047 [main] bug 646167 - Enhance VIES Declaration pages: update option captions for declaration types](bcapps/10047.md): Updates the option captions for declaration types on the CZ VIES Declaration Header CZL table. The description also mentions moving the Corrective-Supplementary check behind an OnBeforeCheckDeclarationType event, but the small diff (+2 -3) does not clearly reflect that. (main, 2026-08-10, fix) - [#9946 Fix Retrieve Users overwriting existing users' custom Role Center (AB#641534)](bcapps/9946.md): Fixed a regression where Retrieve Users silently overwrote all existing users' custom Role Centers to Business Manager. The fix preserves existing users' Role Center customizations while still assigning the plan default to newly created users. (main, 2026-08-10, fix) - [#9949 [Bug 645022] UI improvements for report themes and header/footers (composite layout)](bcapps/9949.md): Composite layout administration pages get UI improvements: page 9663 shows decoded part names, and page 9666 gains a Description column plus Replace, Edit description and Show info actions. Page 9668 adds a Description field, and page 9660 enables composite actions only for Word layouts. (main, 2026-08-10, feature) - [#9749 OIOUBL fixes after schematron update](bcapps/9749.md): OIOUBL export now correctly handles discounts by reporting them with proper VAT categories per tax type instead of using a synthetic ReverseCharge, ensuring compliance with updated schematron validation rules. (main, 2026-08-10, fix) - [#10022 Known senders table should only be inserted to when the task is coming from an email](bcapps/10022.md): The Known Senders table now only gets populated when tasks arrive from email, preventing unwanted entries when tasks are created by manually uploading PDFs. (main, 2026-08-08, fix) - [#10032 Fix Agent List and Agent Task List filter and refresh issues (AB#646062)](bcapps/10032.md): Fixed filter visibility and refresh issues on Agent List and Agent Task List pages by moving system-managed filters from the user-owned filter group to the server-owned filter group, and updated the Archive action guard to re-read the agent state from the database instead of relying on cached page data. (main, 2026-08-08, fix) - [#9912 Restore the IRS Forms assisted setup registration removed by the CLEAN25 sweep](bcapps/9912.md): The IRS Forms setup wizard registration that was accidentally removed during a code cleanup sweep has been restored, allowing US users to access the 1099 setup guide from the Assisted Setup list again. (main, 2026-08-07, fix) - [#8499 Adding `IsVerifiedDomain` to the `AzureADTenant` module](bcapps/8499.md): The Azure AD Tenant module now includes a method to check if a domain is verified in the tenant's list of verified domains, retrieved from Microsoft Graph. (main, 2026-08-07, feature) - [#10009 Disable low-usage Change Log Entry index](bcapps/10009.md): The Change Log Entry table's Key4 index on Notification Message Id is disabled to improve write performance. The index showed negligible read usage (967 reads) compared to extremely high write maintenance costs (1.3 billion writes), making it a significant performance drain. (main, 2026-08-07, performance) - [#9985 [Master]-For an Item of 'Type' Service or Non-Inventory we allow you to increase the Quantity of the Corrective Credit Memo which then if posted updates the Purchase Order with a negative Received and Invoiced values](bcapps/9985.md): Fixes corrective credit memos from posted purchase invoices with Service or Non-Inventory lines. Before, the quantity could be increased, and posting the credit memo left negative Received and Invoiced values on the original purchase order. Purchase Line and Correct Posted Purch. Invoice are changed in W1 and the localization layers. (main, 2026-08-07, fix) - [#9857 [main] bug 644746 - Add configurable EPO Service Setup for gov.cz domain migration](bcapps/9857.md): A configurable EPO Service Setup table and page allow Czech administrators to manage the Electronic Filing Office endpoint URL when migrating from adisspr.mfcr.cz to mojedane.gov.cz, replacing hardcoded values with admin-configurable settings and registering the service in Service Connections. (main, 2026-08-07, feature) - [#9967 [Main]-Production BOM Version certification does not check Variant Mandatory on lines](bcapps/9967.md): Production BOM Version certification now validates that variant codes are populated for items marked as Variant Mandatory, preventing incomplete configurations from being certified. (main, 2026-08-07, fix) - [#9914 [APIV2] Return unapplied lines from the Vendor Payments API](bcapps/9914.md): The Vendor Payments API now returns all payment lines in a batch, including unapplied payments and those with non-invoice applications, matching the behavior of the Customer Payments API. (main, 2026-08-07, fix) - [#9958 [Main] -Detail Trial Balance - Running Balance Incorrect When "Include Closing Entries" Is Disabled](bcapps/9958.md): Fixed the Detail Trial Balance report so that excluded closing entries no longer incorrectly accumulate into the running balance column, ensuring displayed balances reconcile with visible entries. (main, 2026-08-07, fix) - [#2321 fix: error on delivery of multiple release artifacts of same project](al-go/2321.md): The CreateRelease workflow now prevents redundant artifact deliveries by only running NuGet and Storage delivery steps when the matrix processes the Apps artifact type, eliminating duplicate delivery attempts. (main, 2026-08-07, fix) - [#2342 Fix incremental builds poisoning buildMode-specific artifacts (#2337)](al-go/2342.md): Fixed incremental builds in AL-Go that were corrupting buildMode-specific artifacts by re-publishing default build mode apps under incorrect artifact names, causing dependent projects to fail with runtime version mismatches. (main, 2026-08-07, fix) - [#10023 [Master]-Customer Ledger Bill Entries display default Customer Posting Group instead of Alternative Customer Posting Group set on Sales Documents in the Spanish version.](bcapps/10023.md): Invoice split payment posting in the Spanish version now preserves the alternative customer posting group from sales documents instead of defaulting to the customer's current posting group. (main, 2026-08-07, fix) - [#10011 Improve performance when posting credit memos by skipping unnecessary lookups on empty keys](bcapps/10011.md): Credit memo posting now skips unnecessary table lookups when source keys are empty, improving performance for both purchase and sales credit memos without changing functional behavior. (main, 2026-08-07, performance) - [#9963 [Extensibility Request] issue 30384: expose planning suggestions variable](bcapps/9963.md): The IncludePlanningSuggestions variable on the Item Availability by Event page is now accessible to page extensions through protected scope. (main, 2026-08-07, feature) - [#9746 [main] bug 644148 - Use VAT base amount (after discounts) for reverse charge limit check](bcapps/9746.md): Reverse Charge VAT commodity limit check for Czech invoices now evaluates the amount after discounts (VAT base) instead of the gross unit price amount to align with Czech GFR regulation. (main, 2026-08-06, fix) - [#10005 Improve error messages when there are no quantities to reverse in shipped/received lines in Sales/Purchase/Transfer](bcapps/10005.md): Error messages when reversing shipped or received lines now distinguish between no reversible quantities and already-reversed lines, providing clearer guidance for users and AI agents. (main, 2026-08-06, fix) - [#9894 Suppress zero-value rows in Trial Balance by Period](bcapps/9894.md): The Trial Balance by Period Excel report now suppresses rows with zero values by default and adds an optional request-page parameter to include them when needed. (main, 2026-08-06, feature) - [#9405 [FI] Delocalize FI Currency Exchange Rate import into FI Core](bcapps/9405.md): Finnish currency exchange rate import functionality moved from the base application layer to the FI Core extension, with the original code retained as obsolete for backward compatibility. (main, 2026-08-06, refactor) - [#9896 Rename PBI embedded pages](bcapps/9896.md): Embedded Power BI report pages in the Power BI Reports, Subscription Billing and Sustainability apps were renamed. The change covers 127 files, each with a small two-line edit. (main, 2026-08-06, refactor) - [#9989 [SOA] Skip Item Selector for exact items without variants](bcapps/9989.md): The Sales Order Agent no longer calls the Item Selector when an exact item search returns exactly one item and that item has no variants. This cuts latency and token use. Items with variants and standard or broader searches still go through the Item Selector. (main, 2026-08-06, performance) - [#9954 Restoring undefined action. (Purchase Orders page can't be open in latest `main`)](bcapps/9954.md): An earlier change emptied the body of an E-Document action. Because it was then not emitted, actionrefs pointing to it stopped the Purchase Orders page from opening. This change restores the action body so the pages open again. (main, 2026-08-06, fix) - [#9952 Show address lines 1-3 in address lookup display text](bcapps/9952.md): The address lookup modal for Ideal Postcodes now displays address lines 1-3 combined in a single text field instead of showing separate address, city, and post code columns. (main, 2026-08-05, feature) - [#9959 [Shopify] Add catalog filters to Sync Catalog Prices report](bcapps/9959.md): The Sync Catalog Prices report now supports filtering by individual catalogs, allowing merchants to split large sync operations across multiple Job Queue entries to work within Business Central's 12-hour session limit. (main, 2026-08-05, feature) - [#9868 [MAIN]-Bug 644801-IRS Reporting Period - Copy Setup process will copy the 1099 Adjustments as part of the process of copying from one IRS Reporting Period to a new Period setup.](bcapps/9868.md): The copy setup process for IRS Reporting Periods now correctly resets 1099 adjustment amounts to zero when copying from one period to another, preventing incorrect carryover of adjustment values. (main, 2026-08-05, fix) - [#9212 Bug 629779: [Inventory] Show a single Export/Import item data action pair on Cost Adjustment and Item Card](bcapps/9212.md): The Cost Adjustment and Item Card pages now show a single Export/Import action pair that automatically switches between standard inventory and manufacturing data formats based on whether the Manufacturing module is enabled, eliminating duplicate and confusing action options. (main, 2026-08-05, fix) - [#9697 Features/494919 master mx cfdi rounding e invoice docs](bcapps/9697.md): Mexican CFDI stamp requests now recalculate SubTotal as the sum of line amounts rounded to 6 decimals, excluding retention lines, and recompute Total to match. Before calling the PAC, rounding models are checked locally against per-line tax amounts. Other models are tried only if the PAC rejects the document with a rounding error. (main, 2026-08-05, fix) - [#9955 XRechnung – Invalid XML Generated When Invoice Discount Percentage Exceeds 2 Decimals](bcapps/9955.md): Fixed invalid XML generation in XRechnung when invoice discount percentage has more than 2 decimal places by reverting a previous regression. (main, 2026-08-05, fix) - [#9943 [Master]-Purchase invoice in USD with deferral shows 0 "Amount LCY" in Deferral Schedule View"](bcapps/9943.md): Purchase invoices in foreign currency now correctly display the Amount LCY field in the Deferral Schedule view instead of showing zero values. (main, 2026-08-05, fix) - [#9327 [Shopify] Migrate Shopify Connector to Expiring Offline Access Tokens](bcapps/9327.md): The Shopify Connector now supports Shopify's expiring offline access tokens with automatic refresh-token rotation. The connector transparently migrates legacy non-expiring tokens to expiring tokens during API calls and refreshes tokens before expiry, with a user notification when the refresh token expires. (main, 2026-08-05, feature) - [#9906 [Bug Fix] #641100: Export Acc. Sched. to Excel - log report usage in OnPostReport to avoid modal page in write transaction](bcapps/9906.md): Report 29 now logs financial report usage after processing instead of before, preventing a write transaction that blocked modal pages when exporting account schedules with multiple worksheets. (main, 2026-08-05, fix) - [#9904 Let the agent see and set vendor posting groups and CIF or NIF](bcapps/9904.md): The payables agent can now see and set vendor posting groups and tax identification numbers because the invoicing tab is visible in the agent profile, and the agent has permission to write VAT registration log entries. (main, 2026-08-05, fix) - [#9122 Bug 641488: Add "Calendar Entries Available Until" FlowField to Work/Machine Center](bcapps/9122.md): A new FlowField called Calendar Entries Available Until has been added to Work Center and Machine Center tables to show the latest date for which calendar entries have been generated, helping users avoid stale calendar errors during scheduling. (main, 2026-08-05, feature) - [#9364 Slice 622414: [SOA] [Pioneer] Enhancing Sales Order Agent with Item Variant : availability and prices](bcapps/9364.md): The Sales Order Agent now resolves customer requests to a specific item variant and uses it for availability, pricing and quote or order creation. Variant alternatives are kept only when classified as safe, and Variant Code stays empty when no variant was requested. If no suitable variant is available, the agent tells the customer and does not create a quote. (main, 2026-08-05, feature) - [#9776 [main] bug 639499 - fix: Remove Status = Released condition from Send action buttons on Cash Document page](bcapps/9776.md): The 'Release and Send' and 'Post and Send' actions on the Cash Document page are now enabled for all Receipt documents, not just those with Released status. (main, 2026-08-05, fix) - [#9545 636017 Move Cost Accounting report action tooltips to report objects](bcapps/9545.md): Report action tooltips for Cost Accounting reports are moved from page actions to report objects themselves, eliminating duplication and ensuring consistent tooltips across all invocations of these reports. (main, 2026-08-04, refactor) - [#9584 636017 Move report action tooltips to report objects (small areas)](bcapps/9584.md): Report action tooltips are moved from page actions to report objects themselves, with duplicate tooltips removed from pages. This uses the new 2025 wave 1 feature where actions inherit UI descriptors from target objects. (main, 2026-08-04, refactor) - [#9859 [Master] - Move Expense Agent (Preview) app into BCApps](bcapps/9859.md): The Expense Agent (Preview) app source is moved into BCApps as a W1 app with country apps for AT, AU, CA, DE, DK, ES, FR, GB, NZ and US. It covers expense reports, approvals, an agent with Copilot capability, and API pages. (main, 2026-08-04, feature) - [#9528 636017 Move CashFlow report action tooltips to report objects (W1)](bcapps/9528.md): Cash Flow report action tooltips are moved from role center page actions to the report objects themselves, with duplicate tooltips removed from page actions across all country layers. (main, 2026-08-04, refactor) - [#9467 [Extensibility Request] issue 30346: make InsertPostValueEntryToGL public in Item Jnl.-Post Line](bcapps/9467.md): The InsertPostValueEntryToGL procedure in codeunit 22 Item Jnl.-Post Line is now public, allowing extensions to reuse the standard General Ledger posting logic for inventory variances. (main, 2026-08-04, feature) - [#9909 Searching for PayPal webhooks subscription is blocking the Cloud Migration](bcapps/9909.md): PayPal webhook subscription search now uses SetFilter placeholders to handle special characters robustly while maintaining case-insensitive matching, preventing cloud migration blocking. (main, 2026-08-04, fix) - [#8750 [Bug Fix] #638688: Suppress availability warning for Transfer WIP Item lines](bcapps/8750.md): Transfer order lines flagged as WIP items now skip the standard item-availability warning check since WIP items are intermediate goods managed by subcontracting, not subject to regular inventory constraints. (main, 2026-08-04, fix) - [#9787 [Subcontracting] Added actionable notification when a vendor does not have a subcontracting location code](bcapps/9787.md): A notification now alerts users when a vendor lacks a subcontracting location code, enabling early detection of missing configuration before downstream processes require it. (main, 2026-08-04, feature) - [#9688 [main] Hidden breaking change and instability on sales/purchase line insert](bcapps/9688.md): Makes the v28 check that blocks inserting sales and purchase lines without an existing header more reliable, since it raised false-positive errors. The suppress switch is renamed, a SetSuppress...ExistsVerification procedure is added, the header is checked with an explicit Get, and temporary lines skip the check. (main, 2026-08-04, fix) - [#9653 [Master][ALL-E] No Reservation created when the item is selected by Description in Sales Lines](bcapps/9653.md): For Reserve = Always items, choosing the item through the Description lookup on a sales order line now creates the automatic reservation. Before, only manual description entry did, because xRec resynced after SaveRecord and the No. change guard became false. (main, 2026-08-04, fix) - [#9075 Bug 598820: Item Availability by Event from Prod. Order ignores demand after Due Date](bcapps/9075.md): Production Order availability by event now shows demand and supply after the due date by clearing the date filter before calculating availability. (main, 2026-08-04, fix) - [#124 Add FP guards: field relocation to tableextension + event parameter addition (bug 642303)](bcquality/124.md): BCQuality adds two false-positive guards to prevent incorrect breaking-change flags when relocating a field to a table extension or adding a parameter to an event publisher. (main, 2026-08-04, fix) - [#9549 636017 Move Purchases report action tooltips to report objects](bcapps/9549.md): Tooltips for 18 purchase-related reports are now defined on the report objects themselves rather than on the page actions that invoke them, eliminating duplication across W1 and all country layers. (main, 2026-08-04, refactor) - [#9663 Migrate customer, vendor and item transactions for BC14 cloud migration](bcapps/9663.md): Extends BC14 cloud migration to stage customer, vendor, and item subledger transactions alongside G/L entries, enabling migration of open receivables, payables, and inventory for both current and historical data. (main, 2026-08-04, feature) - [#9733 [main] bug 644111 - Reorder "Open Balance Sheet" action in Accountant CZ Role Center CZL page](bcapps/9733.md): The Open Balance Sheet action in the Accountant CZ Role Center has been reordered to appear after the Close Balance Sheet action, aligning the menu with the standard year-end closing workflow sequence. (main, 2026-08-04, fix) - [#9898 [Main]-The Reservation Entry does not exist error when creating a Purchase Order from a Sales Order](bcapps/9898.md): Reverts an earlier change (PR 242051) to Item Tracking Management and Sales Line-Planning that caused a 'Reservation Entry does not exist' error when creating a Purchase Order from a Sales Order. The earlier change had targeted reservation entries for serial numbers assigned in that flow. (main, 2026-08-04, fix) - [#9775 [Main]-Issued Reminders are printed without any header or footer in the United Kingdom version](bcapps/9775.md): The Reminder report in the United Kingdom version now displays header and footer content when printed, restoring missing layout elements. (main, 2026-08-04, fix) - [#8754 [Bug Fix] #638815: Subcontracting: actionable error for blank Subc. Location Code on WIP transfers](bcapps/8754.md): The subcontracting transfer order report now raises a clear validation error when the subcontractor has no Subc. Location Code configured for WIP transfers, instead of showing a generic unhelpful message. (main, 2026-08-04, fix) - [#9772 [PA][Pioneer]: Numeric line fields mis-extracted (discount, quantity, unit of measure)](bcapps/9772.md): E-Document importer now preserves zero quantities instead of forcing them to 1, derives quantity from total and price only when valid, never fabricates discounts, and carries unresolved unit codes through to the unit of measure field. (main, 2026-08-03, fix) - [#9094 Add shared CompanyMetadata data source for report layouts](bcapps/9094.md): A shared CompanyMetadata data source is now available for report layouts to bind company information, eliminating the need for each report to manually code Company Information fields. (main, 2026-08-03, feature) - [#9863 [Extensibility Request] issue 29074: expose PurchLineQty in OnSumPurchLines2OnBeforeDivideAmount](bcapps/9863.md): The OnSumPurchLines2OnBeforeDivideAmount event now exposes the PurchLineQty parameter by reference, allowing subscribers to adjust the purchase line quantity before amount division calculations run. (main, 2026-08-03, feature) - [#9652 [Extensibility Request] issue 30358: add OnBeforeOnPreReport event to Redraw Receivable Bills report](bcapps/9652.md): Adds an OnBeforeOnPreReport integration event to the ES Redraw Receivable Bills report (7000096). Extensions can set the request page variables and, through IsHandled, skip the NewDueDate and journal batch validations so the report can run unattended, for example from a job queue. (main, 2026-08-03, feature) - [#9872 Add missing telemetry event IDs to E-Document Session.LogMessage calls](bcapps/9872.md): Added missing telemetry event IDs to 21 Session.LogMessage calls in E-Document and Avalara connector apps to enable proper aggregation and monitoring in the telemetry pipeline. (main, 2026-08-03, fix) - [#9887 Exclude spend request G/L link from replication](bcapps/9887.md): Table 6845 'Spend Request To G/L Link' is configured to exclude data replication, aligning with its parent Spend Request tables that already have this setting. (main, 2026-08-03, fix) - [#9818 [Subcontracting] Added assisted setup guide for initial app configuration](bcapps/9818.md): Subcontracting app now includes a three-step assisted setup wizard that guides users through initial configuration independently, without requiring Manufacturing Setup during installation. (main, 2026-08-03, feature) - [#9543 Support VAT return reporting frequencies in Denmark](bcapps/9543.md): Danish electronic VAT declaration now reads SKAT VAT return periods with their reporting frequency and calculates monthly, quarterly and semi-annual periods. A feature-flagged legacy quarterly fallback remains, and overlapping periods and invalid due dates are rejected. (main, 2026-08-02, feature) - [#9876 [Subscription Billing] Rename progress tracker](bcapps/9876.md): Codeunit 8035 was renamed from 'Progress Tracker' to 'Sub. Billing Progress Tracker' to avoid name conflicts with objects outside Subscription Billing, with all references updated accordingly. (main, 2026-07-31, refactor) - [#9841 Indent the case block under the IsHandled guard](bcapps/9841.md): The case block in FinancialVoidCheck of the CheckManagement codeunit is now indented under its 'if not IsHandled' guard in the APAC, NA, RU and W1 layers. The change is whitespace only. (main, 2026-07-31, refactor) - [#9810 [master]-Edit in Excel fails with false duplicate error when creating new Item Variants](bcapps/9810.md): Item Variants page no longer fails with a false duplicate key error when creating new variants through Edit in Excel by limiting the forced record update to interactive clients only. (main, 2026-07-31, fix) - [#9783 [Master] Purchase Return Order Posting Fails for Manually Reserved Lot-Tracked Items with Exact Cost Reversing Mandatory Enabled: "Applies-to Entry must not be filled out when reservations exist in Item Ledger Entry Entry No.='XXX'"](bcapps/9783.md): Purchase return order posting now correctly handles manually reserved lot-tracked items when exact cost reversing is mandatory by automatically deriving the applies-to entry from the existing reservation during posting. (main, 2026-07-31, fix) - [#9850 Fix VariantCode lost during Contract Price Update proposal](bcapps/9850.md): Fixed variant code not being passed during subscription contract price updates, which caused the system to propose base item prices instead of variant-specific prices. (main, 2026-07-31, fix) - [#9797 Bug 641388: Fix WIP transfer remainder over-creation when open line quantity is reduced](bcapps/9797.md): Fixed a bug in the Create Transfer Order to Subcontractor report where reducing an open WIP transfer line quantity caused incorrect duplicate lines to be created instead of properly tracking the remainder. (main, 2026-07-31, fix) - [#9803 [master] Variant Code mandatory should not allow to refresh the production order with no variant code](bcapps/9803.md): The Refresh Production Order report now validates that when an item requires a variant code, the production order cannot be refreshed without specifying one. (main, 2026-07-31, fix) - [#9396 [Subcontracting] Fix subcontracting order opening wrong purchase order after creation](bcapps/9396.md): Fixed subcontracting order creation to open the newly created purchase order instead of displaying an old received one when production order quantity was increased after a previous subcontracting operation. (main, 2026-07-31, fix) - [#8959 Deliverable 638799: Spend Requests in Base App](bcapps/8959.md): Spend Requests allow users to create requisitions for planned expenses and link them to journal entries and purchase documents for automatic updates during posting. (main, 2026-07-31, feature) - [#2334 Handle app names with underscores correctly for reference documentation](al-go/2334.md): AL-Go now handles underscores in app names consistently with AlDoc by preserving underscores instead of converting them to dashes when generating reference documentation paths. (main, 2026-07-31, fix) - [#2300 Make failOn: newWarning work with workspace compilation](al-go/2300.md): The failOn: newWarning setting now detects newly introduced AL compiler warnings when workspace compilation is enabled, by running the check during the compile phase instead of the pipeline phase and handling workspace-format compiler output. (main, 2026-07-31, fix) - [#9789 [Main]-Payment discount tolerance is doubled when posting a vendor payment](bcapps/9789.md): Fixed a bug where payment discount tolerance was calculated twice for vendor payments with Applies-to ID in foreign currency, causing inflated bank amounts and sign errors in GL entries. (main, 2026-07-31, fix) - [#9463 [Extensibility Request] issue 30336: add OnValidateNoOnBeforeModifyCapNeedEntries event in Prod. Order Routing Line](bcapps/9463.md): Production Order Routing Line table adds an integration event OnValidateNoOnBeforeModifyCapNeedEntries that fires after work/machine center transfer logic but before capacity needs are updated, giving extensions access to both current and previous record state. (main, 2026-07-30, feature) - [#9448 [Extensibility Request] issue 30264: add and extend events in CalcBestDirectUnitCost](bcapps/9448.md): Two new integration events and an extended existing event provide customization points in purchase price selection logic, allowing subscribers to override minimum-quantity checks, best-price selection rules, and no-price fallback handling without duplicating internal loops. (main, 2026-07-30, feature) - [#9548 636017 Move Projects report action tooltips to report objects](bcapps/9548.md): Report action tooltips for Projects reports are moved from page actions to the report objects themselves, reducing duplication and ensuring consistent tooltips across all report invocations. (main, 2026-07-30, refactor) - [#9838 Grant indirect read on Privacy Notice tables in Privacy Notice Impl.](bcapps/9838.md): The Privacy Notice Impl. codeunit now grants indirect read permission on Privacy Notice and Privacy Notice Approval tables to allow non-SUPER users to check privacy notice approval state in Copilot and service sessions without NavPermissionException. (main, 2026-07-30, fix) - [#9796 Show a message when an e-document file cannot be viewed or no data could be extracted](bcapps/9796.md): E-document import handling now displays user-friendly messages when a PDF file cannot be displayed or no data was extracted, instead of throwing runtime errors. (main, 2026-07-30, fix) - [#9600 Uptake sift disable enable support](bcapps/9600.md): Index management pages now support viewing and disabling SIFT indexes on relevant tables, with fixes to primary key references required for platform compatibility. (main, 2026-07-30, feature) - [#9281 Add read isolation support to Isolated Storage Management](bcapps/9281.md): Isolated Storage Management codeunit now provides Get method overloads that accept an IsolationLevel parameter, allowing explicit control over read isolation for both Text and SecretText values. (main, 2026-07-30, feature) - [#9580 636017 Move Manufacturing report action tooltips to report objects](bcapps/9580.md): Manufacturing report action tooltips are moved from page actions to report objects themselves, allowing tooltips to be defined once and inherited across all pages that invoke the reports. (main, 2026-07-30, refactor) - [#8553 [Bug][SubscriptionBilling]: Performance: Billing document creation does not scale to large datasets (4M+ subscription lines)](bcapps/8553.md): Billing document creation now scales to millions of subscription lines through code optimizations, database indexes, transaction checkpoints, and progress tracking, eliminating redundant lookups and event dispatch overhead. (main, 2026-07-30, performance) - [#9583 636017 Move Sales report action tooltips to report objects](bcapps/9583.md): Sales report action tooltips are moved from page actions to the report objects themselves, eliminating duplicates across role centers and pages where these reports are invoked. (main, 2026-07-30, refactor) - [#9446 [Extensibility Request] issue 30216: add OnPostItemJnlLineJobConsumptionOnBeforePrepareJobLine event in codeunit 90 Purch.-Post](bcapps/9446.md): A new integration event `OnPostItemJnlLineJobConsumptionOnBeforePrepareJobLine` is added to codeunit 90 Purch.-Post, allowing extensions to modify the quantity to invoice and optionally bypass standard job line preparation during purchase posting. (main, 2026-07-30, feature) - [#9805 Update Email Folder tooltip to reference renamed 'Manage per sender' review option](bcapps/9805.md): Payables Agent strings are updated to reference the renamed email review option 'Manage per sender' instead of 'Only if untrusted' across tooltips and labels. (main, 2026-07-30, fix) - [#9745 [main] Implement item variant caching in calculate inventory](bcapps/9745.md): The Calculate Inventory report now caches item variant information to reduce redundant database lookups when processing multiple records with the same variants. (main, 2026-07-30, performance) - [#9638 Fixed Filtering the Sales Order List using the 'Delayed' view the list shows sales orders that are out of scope](bcapps/9638.md): The Sales Order List page now correctly filters sales orders when using the 'Delayed' view, removing orders that fall outside the intended scope. (main, 2026-07-30, fix) - [#123 Fix bridge skill manifest references after #122 root move](bcquality/123.md): The documentation for the bcquality-al-review bridge skill was updated to reflect the plugin manifest relocation from `.claude-plugin/plugin.json` to the repository root `plugin.json` after PR #122. (main, 2026-07-30, fix) - [#9754 [Extensibility Request] issue 30380: add OnSplitPostedWhseReceiptLineOnNotFindWhseItemEntryRelation event](bcapps/9754.md): A new integration event OnSplitPostedWhseReceiptLineOnNotFindWhseItemEntryRelation is added to codeunit 6500 Item Tracking Management, allowing extensions to customize the handling of posted warehouse receipt lines when no warehouse item entry relations exist. (main, 2026-07-30, feature) - [#9779 [Extensibility Request] issue 30361: add OnAutoArchiveJobOnCaseElse event to Job Archive Management](bcapps/9779.md): A new integration event OnAutoArchiveJobOnCaseElse is added to Job Archive Management so extensions can handle custom archive modes beyond the standard options. (main, 2026-07-30, feature) - [#9777 [Extensibility Request] issue 30377: add OnBeforePrintOnlyIfSalesCheck event in Item Sales Statistics report](bcapps/9777.md): Item Sales Statistics report now exposes an integration event that allows extensions to override the skip decision for items based on sales quantity before printing, enabling custom logic for alternate UOM scenarios. (main, 2026-07-30, feature) - [#9573 [Subcontracting] Fixed purchase order not opening the list of transfer orders when > 1 were created](bcapps/9573.md): Fixed subcontracting purchase orders to display all created transfer orders in a list instead of opening only the last one when multiple transfer orders are created from different source locations. (main, 2026-07-30, fix) - [#9820 Use ReadCommitted isolation for CalcFields in Job Queue Entry GetXmlContent](bcapps/9820.md): Job Queue Entry GetXmlContent method now uses ReadCommitted isolation when reading the XML parameter BLOB to prevent unnecessary locking and blocking in concurrent scenarios. (main, 2026-07-30, performance) - [#9814 Revert "Expose AppService location and EUDB membership on Environment Information for internal consumption (#9716)"](bcapps/9814.md): Removed Microsoft-only methods from the public Environment Information codeunit to avoid exposing internal functionality that third-party extensions cannot use. (main, 2026-07-29, other) - [#9792 Migrate ZUGFeRD, PEPPOL BIS 3.0 DE, Factur-X FR and Peppol BIS 3.0 FR to the V2 draft import pipeline](bcapps/9792.md): German ZUGFeRD and PEPPOL BIS 3.0 DE formats and French Factur-X and PEPPOL BIS 3.0 FR formats are now migrated to the V2 draft import pipeline, enabling the draft-based workflow and Copilot-assisted matching previously unavailable for these localized e-document formats. (main, 2026-07-29, feature) - [#9705 [master] Transfer Order header deletion blocked by reserved quantity — inconsistent with line deletion and all other document types](bcapps/9705.md): Transfer order header deletion is now allowed when reserved quantities exist, making the behavior consistent with deleting individual transfer lines and other document types. (main, 2026-07-29, fix) - [#9744 [Email - Outlook REST API] Skip attachments without contentBytes in RetrieveEmails](bcapps/9744.md): The Email - Outlook REST API connector now skips attachments without contentBytes instead of failing the entire batch, allowing emails with non-file attachments to be imported successfully. (main, 2026-07-29, fix) - [#9481 [Withholding Tax] FCY documents get wrongly rounded to LCY precision …](bcapps/9481.md): Foreign currency withholding tax documents no longer incorrectly round amounts to local currency precision, fixing a calculation issue in withholding tax management. (main, 2026-07-29, fix) - [#9613 [Master] - Sustainability: Specific Carbon Tracking, Item Charge emissions & setup fixes (Bugs 641051, 641486, 641487, 641049, 641222, 641055, 641289, 641224, 641309)](bcapps/9613.md): Sustainability module fixes for carbon tracking with item charges, value chain posting, and setup validations. Corrects proportional CO2e distribution across split item ledger entries, adds missing value entries for undo operations, and improves field visibility and defaults. (main, 2026-07-29, fix) - [#9748 Image Analyzer: use Computer Vision v3.2 instead of retiring v1.0](bcapps/9748.md): The Image Analyzer app switches from the retiring Computer Vision v1.0 to v3.2 API to prevent failures after the v1.0 retirement date of September 2026. (main, 2026-07-29, fix) - [#9311 Withholding Tax for Employee](bcapps/9311.md): Withholding tax support for employee transactions has been added, allowing users to calculate and track employee-related withholding taxes similar to existing purchase-based functionality with new employee setup tables, calculation logic, and ledger entries. (main, 2026-07-29, feature) - [#9717 Fix internal admin losing SUPER during customized plan provisioning](bcapps/9717.md): Internal tenant administrators no longer lose SUPER permission set when their customized plan configuration omits it during first-time provisioning, preventing accidental lockout. (main, 2026-07-29, fix) - [#9609 Bug 642555: [master] [NL] SEPA Direct Debit Export (Report 11000015 – pain.008.001.08) exports unstructured address instead of structured](bcapps/9609.md): The SEPA Direct Debit export now formats debtor, creditor, and related addresses as structured XML elements with street, postal code, town, and country instead of a single unstructured text line, as required by banks. (main, 2026-07-29, fix) - [#9784 [E-Document Formats] Fix defects in V2 draft migration for XRechnung, PINT A-NZ and Factura-E](bcapps/9784.md): Fixes defects in the V2 draft import for XRechnung, PINT A-NZ and Factura-E. Re-reading an XRechnung draft no longer duplicates lines, and unsupported root elements or namespaces are rejected. PINT A-NZ vendor-matching fallbacks now receive values. Credit notes and corrective invoices now map the original invoice reference so they can be applied. (main, 2026-07-29, fix) - [#9788 [Master]-Incorrect Reservation Split Generated After Replanning a Replenishment Production Order Created by MRP Planning Run](bcapps/9788.md): Fixed incorrect reservation splits when replanning production orders with multiple component lines using the same item. The fix rebuilds the reservation split instead of only adjusting the delta. (main, 2026-07-29, fix) - [#9582 636017 Move Inventory report action tooltips to report objects](bcapps/9582.md): Report action tooltips for 11 inventory reports are moved from page actions to the report objects themselves, removing duplicate tooltip definitions across pages and role centers in the W1 and country layers. (main, 2026-07-29, refactor) - [#2257 Test Result Analyzer fails if no stack trace is available](al-go/2257.md): Fixed Test Result Analyzer to handle XML elements without stack traces by using InnerText instead of the potentially null text property. (main, 2026-07-29, fix) - [#9544 636017 Move CRM report action tooltips to report objects](bcapps/9544.md): CRM report action tooltips are moved from page actions to report objects, and this change is propagated across all country forks to maintain consistency. (main, 2026-07-29, refactor) - [#9673 Bug 643235: Payment Reconciliation Journal does not round imported bank fee amounts](bcapps/9673.md): Payment reconciliation journal posting now rounds imported bank fee amounts according to the posting currency's amount rounding precision to prevent posting failures. (main, 2026-07-29, fix) - [#9433 636017 Move Item Price List and Res. Price List report action tooltip…](bcapps/9433.md): Report action tooltips for Item Price List and Res. Price List reports are moved from page actions to the report objects themselves, consolidating the tooltip definition to a single location. (main, 2026-07-28, refactor) - [#9352 [FI] Obsolete unused 'Print on Invoice' VAT setting](bcapps/9352.md): The unused 'Print on Invoice' VAT field on VAT posting groups is marked obsolete on the pending-to-removed cycle, with no behavioral impact until final removal in a future version. (main, 2026-07-28, obsoletion) - [#9716 Expose AppService location and EUDB membership on Environment Information for internal consumption](bcapps/9716.md): Environment Information now exposes App Service location and EU Data Boundary membership status for internal use, restricted to Microsoft-published callers and returning defaults outside SaaS. (main, 2026-07-28, feature) - [#9441 [Extensibility Request] issue 30337: add OnCreateProdOrderLineOnBeforeCreateProdOrderLineFromItem event](bcapps/9441.md): A new integration event OnCreateProdOrderLineOnBeforeCreateProdOrderLineFromItem allows extensions to completely replace the standard item source type processing when creating production order lines, with control over the error outcome. (main, 2026-07-28, feature) - [#9346 [master]-Cannot delete Project Planning Line due to incorrect reservation entries](bcapps/9346.md): Fixes a bug where a Project Planning Line could not be deleted because incorrect reservation entries existed. The fix is in the Inventory Profile Offsetting codeunit, which is used for planning, and a test was added for the scenario. (main, 2026-07-28, fix) - [#9741 [Subcontracting] Bug 638816: Preserve Transfer WIP Item flag when toggling off Direct Transfer without a transit route](bcapps/9741.md): Fixed a bug where toggling off Direct Transfer on a Subcontracting Transfer Order with a WIP item and no transfer route caused an error. The Transfer WIP Item flag is now properly preserved during the toggle operation. (main, 2026-07-28, fix) - [#8967 Ability to archive agents](bcapps/8967.md): Agents can now be archived by admins from the Agent List and Card, which disables them and hides them from views while preserving their data and tasks in the database for auditing purposes. (main, 2026-07-28, feature) - [#8902 Bug 639568: Scope Subc. PO component location check to current prod order line](bcapps/8902.md): Fixed a false warning when creating subcontracting purchase orders from routing lines on production orders with multiple lines sharing the same routing link code by scoping the component location check to the current line. (main, 2026-07-28, fix) - [#9747 [Subcontracting] Bug 641607: Fix misleading error message when disabling Legacy Subcontracting with open WIP purchase orders](bcapps/9747.md): Fixed the error message when disabling Legacy Subcontracting to correctly state that only purchase orders with WIP Items block the operation, not all subcontracting purchase orders. (main, 2026-07-28, fix) - [#9599 Add event subscriber for OpenPermissionSetPage](bcapps/9599.md): A new event subscriber codeunit enables programmatic opening of the permission set details card based on client signals. (main, 2026-07-28, feature) - [#9690 Add XRechnung structured format reader for inbound e-documents](bcapps/9690.md): Adds a structured format reader for German XRechnung e-documents that parses inbound XML directly into E-Document Purchase draft tables without requiring Data Exchange field mappings. (main, 2026-07-28, feature) - [#9737 [E-Document] Move Data Exchange definitions from labels to app resource files](bcapps/9737.md): E-Document installation moved eight PEPPOL Data Exchange Definition XMLs from translatable AL labels into app resource files, eliminating unnecessary translation pipeline overhead and fixing partner translation issues. (main, 2026-07-28, refactor) - [#9734 [Master]-Performance issue when calculating the VAT advance return / VAT statement (Base Application, German environment) - Copy](bcapps/9734.md): Addresses a performance issue when calculating the VAT advance return or VAT statement by adding four lines to the VAT Entry table in both the CH and DACH Base Application layers. (main, 2026-07-28, performance) - [#9538 [main]- Requests to Approve: Open Record shows wrong Requisition Worksheet batch after viewing a different batch](bcapps/9538.md): The Req. Worksheet page now correctly displays the intended requisition batch when opened from an approval record, preventing stale batch filters from interfering with the record view. (main, 2026-07-28, fix) - [#9719 [main] bug 643971 - Implement checks for blocked customers and vendors in advance letters](bcapps/9719.md): Advance letter headers now validate that customers and vendors are not blocked or privacy-blocked, preventing creation and posting of advance letters for blocked parties. (main, 2026-07-28, fix) - [#9648 [master]-[BE] [PEPPOL] There is a problem between the totals on the invoice printout and the XML PEPPOL with Payment discount](bcapps/9648.md): Fixed discrepancy between invoice printout and PEPPOL XML totals in Belgium when payment discounts are applied by correcting how taxable amounts are calculated. (main, 2026-07-28, fix) - [#9693 Rename email review option 'Only untrusted senders' to 'Manage per sender'](bcapps/9693.md): The caption of the OnlyIfUntrusted option in the Payables Agent Email Review Policy enum changes from 'Only untrusted senders (recommended)' to 'Manage per sender (recommended)'. (main, 2026-07-28, other) - [#9601 Reset workflow templates no longer removes steps from active workflows](bcapps/9601.md): Reset workflow templates no longer removes steps from active workflows. The fix prevents data loss by scoping step deletion to template workflows only, not derived workflows sharing the same code prefix, and adds confirmation dialog for safety. (main, 2026-07-27, fix) - [#8085 [MCP] Server Features in MCP configuration: API Tools, Dynamic Tool Mode, Data Query Tools (Preview)](bcapps/8085.md): Adds a Server Features surface to MCP configuration allowing admins to enable Data Query Tools, Dynamic Tool Mode, and API Tools through interface-based, extensible handlers. Each feature controls its own activation, settings, and system tools without requiring page modifications. (main, 2026-07-27, feature) - [#9700 Rename TempCustomMigrationTableBuffer back to CustomMigrationTableBuffer](bcapps/9700.md): A variable name in custom migration mapping is restored from TempCustomMigrationTableBuffer to CustomMigrationTableBuffer to prevent misleading naming and rule violations. (main, 2026-07-27, refactor) - [#9670 [Main] - Posting from Released production order affects Firm planned production order with same ID.](bcapps/9670.md): A status check was added to prevent Firm Planned production orders from incorrectly reading capacity ledger entries of same-numbered Released orders, which was causing their allocated capacity to be miscalculated. (main, 2026-07-27, fix) - [#9421 [Event Request] codeunit 367 "CheckManagement": add OnFinancialVoidCh…](bcapps/9421.md): Adds an `IsHandled` event to CheckManagement codeunit that allows partners to replace the balance-account posting logic in financial void check operations. (main, 2026-07-27, feature) - [#2327 Add doNotPerformUpgrade setting and enhance upgrade warning messages](al-go/2327.md): AL-Go pipeline now supports skipping the upgrade phase with a new doNotPerformUpgrade setting while continuing to publish and test apps. Warning messages about upgrade testing have also been improved. (main, 2026-07-27, feature) - [#8757 [Subcontracting] Bug 640115: Fix Subc. Order FlowField so subcontracting orders are visible in Purchase Order List](bcapps/8757.md): Fixed the Subc. Order FlowField to correctly identify subcontracting purchase orders so they display in the Purchase Order List view. (main, 2026-07-27, fix) - [#9651 [Extensibility Request] issue 30352: add SkipNewExpirationDateCheck to OnCheckExpirationDateOnAfterCalcSumLot](bcapps/9651.md): A new parameter SkipNewExpirationDateCheck was added to the OnCheckExpirationDateOnAfterCalcSumLot event, allowing subscribers to bypass the mandatory New Expiration Date validation during item journal posting without affecting other logic. (main, 2026-07-27, feature) - [#2330 Emit valid SARIF URIs for AL code analysis paths containing spaces](al-go/2330.md): ProcessALCodeAnalysisLogs now properly URI-encodes file paths with spaces in SARIF output to comply with URI standards and prevent upload warnings. (main, 2026-07-27, fix) - [#9708 Enable manual task creation for Sales Order Agent](bcapps/9708.md): The Sales Order Agent now allows users to manually create tasks directly from the Agent Tasks pane using the New action, which opens the existing SOA Create Task page. (main, 2026-07-27, feature) - [#9682 [E-Document Formats][OIOUBL] Migrate NAV PR 247162 into BCApps](bcapps/9682.md): New OIOUBL e-document format reader for Denmark that parses OIOUBL XML invoices and credit notes into purchase staging tables, enabling structured e-document import using vendor VAT registration, GLN, or PEPPOL identifiers. (main, 2026-07-27, feature) - [#8698 [E-Documents Core] [Peppol] - Enabling EDI capabilities with E-Documents. PEPPOL Order Response Message Handling](bcapps/8698.md): E-documents now track order responses and acknowledgements as lifecycle events with a message model, enabling outgoing response generation and inbound order rejection with UI visibility. (main, 2026-07-27, feature) - [#9712 [master] - Changing the contact of a Customer Subscription Contract doesn't update the email of the contract.](bcapps/9712.md): Updating the contact on a Customer Subscription Contract now correctly refreshes the contract email to match the new contact's email address. (main, 2026-07-27, fix) - [#9455 Update permissions for G/L Transaction table](bcapps/9455.md): Access to the G/L Transaction table is added across Base Application layers: many permission sets (W1, RU, CH, NA, GB), plus the permissions of Gen. Jnl.-Post Reverse, the date compression reports, Adjust Add. Reporting Currency and User Management. (main, 2026-07-25, fix) - [#9702 Default new E-Document services to import v2 and let users select the draft format](bcapps/9702.md): New E-Document services now default to the v2 import pipeline, and the Import Process selector is visible on the service card. A Draft Format field (Read into Draft Impl.) is shown for Version 2.0 so users can choose how structured documents are read into drafts. The ForNAV connector service is pinned to Version 1.0. (main, 2026-07-24, feature) - [#9608 Bug 642638: [master] IRS 1099 reporting fields inconsistently stamped on Vendor Ledger Entries for non-1099 vendors - General Journal vs. Purchase Invoice](bcapps/9608.md): IRS 1099 reporting fields on vendor ledger entries are now consistently left empty for vendors without a 1099 Form Box No., whether posted through a General Journal or Purchase Invoice. (main, 2026-07-24, fix) - [#9461 [Extensibility Request] issue 30335: add OnBeforeRecreateSalesLine IsHandled event](bcapps/9461.md): A new OnBeforeRecreateSalesLine integration event with IsHandled flag was added to the Sales Header table in all country layers, enabling extensions to skip the standard sales line recreation logic and provide custom implementations. (main, 2026-07-24, feature) - [#9439 [Extensibility Request] issue 30330: add OnCancelInvoiceOnBeforeConfirm event](bcapps/9439.md): An integration event enables extensions to adjust the confirmation message shown when cancelling a posted sales invoice, ensuring the text matches any customized behavior for restoring quantities. (main, 2026-07-24, feature) - [#9637 [Event Requests] Add integration events across base app and SMTP module](bcapps/9637.md): Ten partner event requests were implemented in one batch, adding new integration events or extra parameters on existing ones in the base application and the SMTP email modules. Default behavior is unchanged. (main, 2026-07-24, feature) - [#9662 [Master]-Fixed Asset: Declining-Balance method - wrong calculation when running depreciation](bcapps/9662.md): Fixed incorrect depreciation calculation when using the declining-balance method in fixed asset depreciation processing across multiple localization layers. (main, 2026-07-24, fix) - [#9466 [Extensibility Request] issue 30351: extend OnCheckExpirationDateOnBeforeAssignExpirationDate event](bcapps/9466.md): The OnCheckExpirationDateOnBeforeAssignExpirationDate event gains three new parameters (GlobalItemTrackingCode, ItemJnlLine2, SignFactor) to allow subscribers to access the data needed for expiration date assignment logic. (main, 2026-07-24, feature) - [#9464 [Extensibility Request] issue 30349: add OnBeforeCheckTrackingIfRequired event to Item Journal Line](bcapps/9464.md): An integration event is added to the CheckTrackingIfRequired procedure in the Item Journal Line table, allowing extensions to perform custom item tracking validation and raise more meaningful error messages before standard checks run. (main, 2026-07-24, feature) - [#9450 [Extensibility Request] issue 30290: Add OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader event](bcapps/9450.md): A new integration event OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader is added to the Sales Header table to allow extensions to override or skip the standard VAT registration update logic when the bill-to customer changes. (main, 2026-07-24, feature) - [#9443 [Extensibility Request] issue 30222: add handled event before RecreatePurchLines in Pay-to Vendor No. validation](bcapps/9443.md): A new handled integration event OnValidatePayToVendorNoOnBeforeRecreatePurchLines was added to the Pay-to Vendor No. field validation in Purchase Header, allowing extensions to take ownership of purchase line recreation logic instead of being forced to replicate the entire validation trigger. (main, 2026-07-24, feature) - [#9297 [Main]- Error The Bin Content does not exist.Not able to post an Inventory Pick for Assemble to Order](bcapps/9297.md): Fixed a bug preventing posting of inventory picks for assemble-to-order items by skipping bin content validation for ATO pick lines, which don't have bin content until assembly posting occurs. (main, 2026-07-24, fix) - [#9398 [Main]Incorrect Cost Amount (Actual) in Value Entries after posting Assembly Process and calulating the assembly standard costsInitial commit](bcapps/9398.md): Fixes wrong Cost Amount (Actual) in value entries for assembly orders after Calc. Assembly Std. Cost. For assembly orders, the inventory adjustment now recalculates overhead from the cost shares and re-rounds it, so per-unit and per-output indirect costs match. (main, 2026-07-24, fix) - [#9660 [Master]-Act Consumption Qty field in Component of a Firm Planned Order has amounts that point to a Released Production Order that has the same Document No if the component is the same](bcapps/9660.md): The Act. Consumption Qty shown for components of a firm planned production order no longer includes amounts from a released production order with the same document number and the same component. The fix is in the Prod. Order Components and Prod. Order Comp. Line List pages. (main, 2026-07-24, fix) - [#9687 [main] bug 642230 - Enhance FA General Report logic and add tests for Tax Deprec. Group and FA Posting Group handling](bcapps/9687.md): Fixed a bug where the FA General Report procedures could clear the FA Posting Group or Tax Depreciation Group fields with blank values from depreciation book records instead of only updating with non-blank values. Added comprehensive unit tests for both scenarios. (main, 2026-07-23, fix) - [#9645 [main] bug 642743 - Change behavior of OnValidate trigger of "EU 3-Party Intermed. Role CZL" field](bcapps/9645.md): When the EU 3-Party Intermediary field is deactivated in sales or purchase document headers, the EU 3-Party Trade field is now also deactivated instead of remaining active. (main, 2026-07-23, fix) - [#9605 [Quality Management] UI actions to restore default shipped source configurations](bcapps/9605.md): Quality Management adds UI actions to restore, reset, or recreate default source configurations and makes the configuration card page editable to help resolve incomplete or damaged setup states. (main, 2026-07-23, feature) - [#8999 Migrate Recommended Apps & Connectivity Apps to Official Marketplace Catalog API](bcapps/8999.md): Recommended Apps and Connectivity Apps now get app logos from the official Marketplace Catalog API instead of the undocumented AppSource endpoint, which Azure WAF now blocks. The API key comes from Azure Key Vault and must be provisioned in the environment. (main, 2026-07-23, fix) - [#9674 Fix missing table permissions on Stale Check action in Check Management Subscriber](bcapps/9674.md): Added missing table permissions to the Check Management Subscriber codeunit to allow the Stale Check action to properly modify bank account and customer/vendor ledger entries without permission errors. (main, 2026-07-23, fix) - [#9206 Added new privacy policy for BizChat depending on Microsoft Copilot 365 with EEA environments behavior changes](bcapps/9206.md): New privacy policy for Microsoft Copilot in Chat V2 with EEA-specific behavior changes disables chat by default for European users and enables a shortcut to AI capabilities. (main, 2026-07-23, feature) - [#9643 Update SII subscribers SkipMissingPermissions](bcapps/9643.md): Updates the SkipMissingPermissions setting on event subscribers in the Spanish SII codeunits of the ES Base Application. The PR gives no further detail on the reason. (main, 2026-07-23, fix) - [#9631 [Main]- "Filter by Attribute" action does not apply the filter under specific circumstances](bcapps/9631.md): The 'Filter by Attribute' action on the Item List page now preserves user-applied filters instead of replacing them, fixing cases where filters were incorrectly lost during attribute filtering. (main, 2026-07-23, fix) - [#9590 Error message "Consolidated must be equal to Yes" when Exporting BAS Calculation Worksheet for consolidated Company in Australian localisationInitial commit](bcapps/9590.md): Exporting the BAS Calculation Worksheet for a consolidated company in the Australian localization no longer fails with the error 'Consolidated must be equal to Yes'. (main, 2026-07-23, fix) - [#9657 [Extensibility Request] issue 30359: add Direction parameter to OnBeforeScheduleRoutingLine](bcapps/9657.md): The OnBeforeScheduleRoutingLine event now exposes a var Direction parameter so extensions can read and modify the scheduling direction for production order routing lines. (main, 2026-07-23, feature) - [#9541 [SOA] Bound outbound reply retries](bcapps/9541.md): Outbound replies in the Sales Order Agent now limit retry attempts to five per message, provide a manual retry action, and isolate failures to prevent blocking other messages. (main, 2026-07-23, feature) - [#9569 Enforce permissions when reviewing orphaned extension data](bcapps/9569.md): Permission checks now consistently apply when marking orphaned extension data as reviewed through both notification and page actions. (main, 2026-07-23, fix) - [#9200 Cloud Migration bug fixes (BC14 reimplementation, custom mapping, OnPrem dev companies)](bcapps/9200.md): Cloud migration tooling improvements include skipping the table mapping step in BC14 setup, preventing upgrade errors when no data is replicated, making the custom mapping page closable without valid entries, and adding an action to register existing on-premise companies for cloud migration development. (main, 2026-07-23, fix) - [#9598 [main] bug 633618 - Add VAT Statement Calc. Events CZL codeunit and integrate with VAT Statement Calculation CZL](bcapps/9598.md): The local events of the internal codeunit VAT Statement Calculation CZL were moved to a new codeunit, VAT Statement Calc. Events CZL. Other apps can now subscribe to them, including the event that replaces the obsolete OnBeforeOpenPageVATEntryTotaling. (main, 2026-07-23, fix) - [#9426 [E-Document Formats] Migrate NAV PRs 247170 and 247176 into BCApps](bcapps/9426.md): PINT A-NZ and Factura-E e-document formats are migrated to the structured import pipeline with new IStructuredFormatReader implementations that parse XML directly into purchase draft staging tables. (main, 2026-07-23, feature) - [#9650 [Master] -Revert Changes- 'Greater Than' Withholding Tax Calculation Rule is not applied correctly in Withholding Tax Posting Setup.](bcapps/9650.md): Reverts the earlier change from PR 9515 to how the 'Greater Than' withholding tax calculation rule is applied. The journal subscriber, withholding tax management and purchase subscriber codeunits return to their previous logic, and the tests added by that PR are removed. (main, 2026-07-22, other) - [#9365 [SOA] Prevent translated username token and remove dead GetAgent helpers](bcapps/9365.md): Sales Order Agent usernames are now prevented from being translated by marking the label as locked, and unused GetAgent overloads and SetAgentDefaults helper are removed from the setup codeunit. (main, 2026-07-22, fix) - [#9612 Fixing correct value for Legacy Subcontracting flag in Italy during u…](bcapps/9612.md): Italian customers upgrading to version 28.3 regain access to legacy subcontracting pages by fixing the initialization of the Legacy Subcontracting flag in Manufacturing Setup. (main, 2026-07-22, fix) - [#9571 [Master]-Opening price list from Customer Card is extremely slow on large datasets (~220s) due to AddAllSourceType call](bcapps/9571.md): Opening a price list from the Customer Card is made faster on large datasets, where it took around 220 seconds because of the AddAllSourceType call. The logic in Price List Management is reworked and UI tests are added. (main, 2026-07-22, performance) - [#9606 [SOA] Disable available-items-only search by default](bcapps/9606.md): The Sales Order Agent now initializes the Search Only Available Items setting to disabled by default, allowing the agent to search all items unless administrators explicitly restrict it. (main, 2026-07-22, feature) - [#9333 [Main]-Bin content Block Movement does not prevent outbound posting for negative adjustments and sales orders](bcapps/9333.md): The posting logic for sales orders and negative adjustments now respects bin content block movement settings to prevent unauthorized outbound warehouse movements. (main, 2026-07-22, fix) - [#2229 Surface empty BCPT results as a warning instead of silent success](al-go/2229.md): When BCPT performance tests produce a results file with no entries, GetBcptSummaryMD now returns a message that appears in the GitHub step summary instead of an empty string. A missing results file still yields an empty summary. (main, 2026-07-22, fix) - [#9635 Obsolete MLLM Payables Agent rollout scaffold](bcapps/9635.md): MLLM processing is now the permanent behavior for the Payables Agent feature. The rollout scaffold including the MLLM toggle, setup page, and related integration events are obsoleted, and the feature configuration experiment gate is removed. (main, 2026-07-22, obsoletion) - [#9572 Obsolete E-Document Purchase Order Matching Copilot](bcapps/9572.md): The five E-Document Purchase Order Matching Copilot objects are marked obsolete pending with tag 29.0 and remain functional during the deprecation window. The feature is superseded by the E-Document Purchase Draft experience, and the shared Matching Assistance Copilot capability stays registered. (main, 2026-07-22, obsoletion) - [#119 Add batch-2 FP guards: sentence-case action captions + PK Get is transaction-cached](bcquality/119.md): Two knowledge articles were added to guide developers about correct use of sentence-case action captions and transaction-cached primary key lookups, helping suppress false positive quality warnings. (main, 2026-07-22, feature) - [#9537 [Shopify] Store tax lines linked to order shipping charges](bcapps/9537.md): Shopify order imports now persist tax lines linked to shipping charges in the existing tax-lines table, with a new action on the Shipping Costs page exposing these details including Channel Liable status. (main, 2026-07-21, feature) - [#8634 [MCP] Register MCP server as a Copilot capability](bcapps/8634.md): The MCP server is now registered as a Copilot capability on the Copilot & agent capabilities page, allowing administrators to activate or deactivate it. Deactivating the capability updates the Copilot Settings status, which the platform reads to control MCP availability. (main, 2026-07-21, feature) - [#9581 [Shopify] Add Unlisted to Status for Created Products and update status tooltip](bcapps/9581.md): The Shopify Status for Created Products option on the Shop Card now offers Unlisted, backed by a new codeunit implementing ICreateProductStatusValue. The Status field tooltip on the Shopify Products page now also lists unlisted. (main, 2026-07-21, feature) - [#9482 Make service-invoked System Application facades callable by any user (Privacy Notice + Page Summary Provider)](bcapps/9482.md): Two System Application facade codeunits now declare inherent entitlements and permissions so any authenticated user can call them in low-permission sessions like web services, OData, Copilot, and agents, instead of requiring explicit Execute permission. (main, 2026-07-21, fix) - [#9564 [main] bug 640380 - Add Word layout and email body support for Purchase Quote and Sales Shipment](bcapps/9564.md): Word layouts and email body support have been added for Purchase Quote and Sales Shipment reports in the Czech localization, enabling these documents to be sent via email. (main, 2026-07-21, feature) - [#8646 [PEPPOL] Add PEPPOL SE localization: Swedish organisation number for endpoints under scheme 0007](bcapps/8646.md): A Swedish PEPPOL localization app normalizes Swedish organisation numbers in electronic addresses and legal entity identifiers to the correct 10-digit format when emitted under scheme 0007, following the PEPPOL BIS 3.0 standard. (main, 2026-07-21, feature) - [#9138 [Shopify] Add Belgium localization for company tax id mapping (Enterprise No.)](bcapps/9138.md): A new Belgium localization app for Shopify Connector enables mapping customer tax IDs to the Enterprise No. field, which is required for Belgian B2B company sync. The W1 Shopify app notifies users if the optional Belgian app is not installed. (main, 2026-07-21, feature) - [#2313 Fix dependency resolution when branch name contains ']' character](al-go/2313.md): Fixed dependency resolution in GitHub Helper to correctly handle branch names containing the ] character by using literal path interpretation instead of wildcard matching. (main, 2026-07-21, fix) - [#8554 [Shopify] Fix incorrect G/L line on credit memo for refund with exchange item](bcapps/8554.md): Shopify connector now correctly handles credit memos for refunds involving exchange items by tracking exchange line items separately and emitting offsetting credit memo lines instead of incorrect G/L refund account entries. (main, 2026-07-21, fix) - [#2283 Fix issue 2267: appsourcecop.json is not created for testapps](al-go/2283.md): Test and BCPT apps now generate appsourcecop.json files when code analyzers are enabled on test apps, preventing AS0054 compilation failures. (main, 2026-07-21, fix) - [#9595 [main] Feature 640068 - Separate settings for automatic dimensions](bcapps/9595.md): A new settings table and page enable separate management of automatic dimension creation configuration, introducing a "Do Not Create Default Dimension" option and decoupling this feature from the Default Dimension table. (main, 2026-07-21, feature) - [#9591 [Extensibility Request] issue 29875: add OnBeforeCheckPurchaseAdvanceLetterPendingApproval IsHandled event](bcapps/9591.md): A new OnBeforeCheckPurchaseAdvanceLetterPendingApproval IsHandled event was added to the purchase advance letter document codeunit in the Czech localization, allowing extensions to intercept and customize approval checks. (main, 2026-07-21, feature) - [#118 knowledge: 3 FP-suppression guards from BC apps negative feedback](bcquality/118.md): Three knowledge articles are added to clarify AL facts that were incorrectly flagged by the review agent, suppressing false-positive findings for ObsoleteReason omissions, bare Get() calls, and OnAfterGetCurrRecord behavior. (main, 2026-07-21, other) - [#2323 Fix enableCodeAnalyzersOnTestApps not disabling customCodeCops in workspace compilation](al-go/2323.md): Workspace compilation now correctly disables custom code analyzers when enableCodeAnalyzersOnTestApps is false, preventing custom analyzer diagnostics from running against test apps. (main, 2026-07-21, fix) - [#8947 [Permissions] Add Where-Used and Permissions Overview navigation actions](bcapps/8947.md): Navigation actions have been added to Permission Sets, Permission Set cards, Table Information, and Page Inspection pages to open the Permissions Overview page with optional filters for viewing related permissions. (main, 2026-07-20, feature) - [#8771 Add OnBeforeFilterRemovedSourceRecords integration event in Email Impl](bcapps/8771.md): Adds an OnBeforeFilterRemovedSourceRecords integration event with an IsHandled guard, published via the Email codeunit and raised in Email Impl's FilterRemovedSourceRecords. Partners can override the default permission-based filtering, for example to handle users with security filters on source tables. (main, 2026-07-20, feature) - [#9585 [master] Description Field value gets automatically reverted the original value after changing it.](bcapps/9585.md): Fixed a bug where the Description field on sales lines would revert to its original item value after editing, when Calc. Inv. Discount was enabled and Quantity had been validated. (main, 2026-07-20, fix) - [#117 tooltip: PR review flags genuinely-missing tooltips instead of deferring to AA0218](bcquality/117.md): PR review now independently flags genuinely missing tooltips on page fields instead of deferring to compiler analyzer AA0218, which can be disabled or downgraded in team rulesets. (main, 2026-07-20, fix) - [#9089 Merge-ES-Excluded-from-Calculation-to-W1](bcapps/9089.md): Merges the Spanish Excluded from Calculation functionality into W1, according to the title. Customer, vendor, ledger entry and General Ledger Setup tables change across many localization layers. ES-specific copies of My Customer and Standard Statement are removed. (main, 2026-07-20, feature) - [#9586 [master] Overdue Balance (LCY) filters do not behave as expected if you open the Customer Card from a document or journal.](bcapps/9586.md): The Customer Card now applies a default date filter in the OnAfterGetCurrRecord function to ensure the Overdue Balance (LCY) calculation displays the correct overdue amount and drill-down filters work properly when opened from documents or journals. (main, 2026-07-20, fix) - [#9575 [Payables Agent] set Document Date and Due Date on Incomming Document when Draft is created](bcapps/9575.md): The Prepare draft step for inbound E-Documents now copies Document Date and Due Date from the E-Document Purchase Header, ensuring these dates appear correctly on the Inbound E-Documents list once the document reaches Draft ready status. (main, 2026-07-20, fix) - [#9568 [main] bug 640523 - Bonus depreciation functionality in CZ](bcapps/9568.md): Czech Republic fixed asset localization now supports bonus depreciation functionality through updates to the depreciation calculation report and setup tables. (main, 2026-07-20, fix) - [#9515 [Master] - 'Greater Than' Withholding Tax Calculation Rule is not applied correctly in Withholding Tax Posting Setup.](bcapps/9515.md): The 'Greater Than' withholding tax calculation rule and other rule options are now applied correctly in withholding tax posting setup by replacing hard-coded threshold checks with a rule-aware procedure. (main, 2026-07-20, fix) - [#9422 table 12116 "Withholding Tax": scope Reported/Paid modify guard to st…](bcapps/9422.md): The Withholding Tax table now allows modifications to extension fields on reported or paid entries, while still blocking changes to standard fields to preserve compliance. (main, 2026-07-17, feature) - [#9485 [main]-Multiple error messages when posting to period with VAT Return already in status Released](bcapps/9485.md): Posting to a period whose VAT Return is already in status Released should no longer produce multiple error messages. The change updates the VAT Reporting Date Mgt codeunit and makes a one-line change to the VAT Entry table in each layer. (main, 2026-07-17, fix) - [#9552 [Main]-Issue in TDS calculation during payment application against invoices](bcapps/9552.md): Fixed TDS calculation during payment application against invoices by scaling the applied amount to match the payment's TDS base, ensuring correct tax base computation when GST and payment amounts differ. (main, 2026-07-17, fix) - [#9550 [Main]-[BC-IN] Purchase invoice with a deferral schedule and Non-availment GST is not functioning correctly](bcapps/9550.md): Purchase invoices with non-availment GST and deferral templates now post correctly in the India localization by handling deferral validation in the tax engine. (main, 2026-07-17, fix) - [#109 style-review: calibrate variable-declaration order (AA0021) to info](bcquality/109.md): The variable-declaration-order rule (AA0021) severity is calibrated down from minor to info level in quality reviews because it is redundant with the CodeCop analyzer. (main, 2026-07-17, other) - [#112 Add precision guards for systematic agent false-positive patterns](bcquality/112.md): Adds six knowledge articles that act as precision guards against recurring agent false positives. They cover tooltips on bound page fields, Boolean page triggers that default to true, filters defined outside the diff, CalcFields in both GetRecord triggers, and unreleased symbol or schema changes that need no breaking-change or upgrade handling. (main, 2026-07-17, feature) - [#9542 [main] mapping Dimension Values / IC Dimension Values](bcapps/9542.md): Fixes a field that was missing when dimension values are copied or mapped to IC dimension values through the IC Dim Values Selector page. (main, 2026-07-17, fix) - [#2301 Provide package cache to aldoc when building reference documentation](al-go/2301.md): The aldoc command now receives a populated package cache to resolve cross-module references in generated reference documentation, fixing unresolved links that occurred when building documentation for artifact-based apps. (main, 2026-07-17, fix) - [#9434 [Main]-"Factura Duplicada" error message appears under SII History if you use the same Vendor Invoice No. for the same Vendor (VAT Registration No.) in different documents in the Spanish version.](bcapps/9434.md): In the Spanish version with SII enabled, users now get a non-blocking warning when a purchase document's Vendor Invoice No. or Vendor Cr. Memo No. matches a posted entry of the opposite document type for the same vendor and date. SII would later reject such a document as 'Factura Duplicada'. (main, 2026-07-17, fix) - [#114 Document the skill-vs-knowledge boundary so BC facts land in knowledge files](bcquality/114.md): Documentation now clarifies that skills should contain mechanics while knowledge files hold Business Central facts, establishing a boundary to prevent facts from being duplicated or misplaced across skills and knowledge articles. (main, 2026-07-17, other) - [#8679 [Shopify] Fix missing shop currency mapping on order transactions](bcapps/8679.md): Shop currency code mapping on Shopify order transactions was accidentally removed in a previous commit and is now restored to ensure the Currency field displays correctly on the Order Transactions page. (main, 2026-07-17, fix) - [#9477 [main]-Invalid SEPA export file format when SEPA Non-Euro Export enabled](bcapps/9477.md): Fixes an invalid SEPA credit transfer export file that was produced when SEPA Non-Euro Export is enabled. The SEPA CT pain.001.001.09 xmlport was changed in several localization layers. (main, 2026-07-17, fix) - [#9402 Fix RSA private key PEM import](bcapps/9402.md): RSA private key import from PEM format now works correctly by using the proper RSA cryptographic service provider type instead of the base RSA type. (main, 2026-07-17, fix) - [#8745 Bug 640098: Make Table Information Cache refresh resilient to duplicate table numbers](bcapps/8745.md): The Table Information Cache refresh now aggregates metrics when duplicate table numbers are encountered instead of failing with a duplicate-key error. This makes the Data Administrator page's refresh action resilient to orphaned or renamed SQL tables. (main, 2026-07-17, fix) - [#9514 [Main]-Interest Document issued with non-taxable VAT does not generate non-taxable VAT entries in the Spanish localization](bcapps/9514.md): Interest documents with non-taxable VAT now correctly generate non-taxable VAT entries in the Spanish localization. The fix updates the No Taxable Management codeunit to handle interest documents properly. (main, 2026-07-17, fix) - [#9479 [Master]-]Withholding Tax Entries are not generated at payment because the Withholding Tax. Prod. Posting Group field gets not transferred to the payment line](bcapps/9479.md): The Withholding Tax Prod. Posting Group field is now carried over to the payment line, so Withholding Tax Entries are created again when the payment is posted. (main, 2026-07-17, fix) - [#9400 Route early preview feedback to the correct OCV area](bcapps/9400.md): Early Access Preview feedback now routes to the correct OCV feedback area instead of appearing in the general feedback category. (main, 2026-07-17, fix) - [#9531 [Master]- Report 152 "Calculate Low Level Code" terminates with error: "Cannot add instance as another with key %1 has already been added." after upgrade to v28.1](bcapps/9531.md): Report 152 now correctly handles items with multiple SKUs sharing the same Production BOM by replacing enumeration-based lookup with a direct dictionary key search in the BOM tree node logic. (main, 2026-07-17, fix) - [#8905 [Master] Different source reference on reservation entries created directly from Job Planning Line and via a warehouse pick.](bcapps/8905.md): Reservation entries for project (job) planning lines now get the same source reference whether they are created directly or through a warehouse or inventory pick. The change touches project warehouse handling, pick creation and posting, and adds upgrade code with upgrade tags for existing data. (main, 2026-07-17, fix) - [#110 review: stop reference-less agent findings in privacy and UI/accessibility leaves](bcquality/110.md): The privacy and UI/accessibility review skills now report only findings backed by a BCQuality knowledge file. Concerns without a reference are omitted instead of being emitted with empty references, which cuts false positives at the cost of at most one true positive. (main, 2026-07-16, fix) - [#9321 [Shopify] Add Unlisted product status](bcapps/9321.md): The Shopify Connector's product status enum now includes the Unlisted value that Shopify added to its API, correcting the misrepresentation of unlisted products during import. (main, 2026-07-16, feature) - [#9320 [Shopify] Import HS code and country of origin from Shopify](bcapps/9320.md): The Shopify connector now imports harmonized system codes and country of origin from Shopify variants when the sync setting is enabled, matching them to existing Business Central tariff numbers and countries during item creation and updates. (main, 2026-07-16, feature) - [#9356 [Main]-Payment XML file generated from EB Payment Journal upon selecting "FCY Symbol" includes currency text](bcapps/9356.md): Payment XML files exported from EB Payment Journal now correctly exclude currency text when FCY Symbol option is selected, fixing formatting issues in SEPA payment files. (main, 2026-07-16, fix) - [#7938 Bugs/632378 make quality inspection gen rule warning actionable](bcapps/7938.md): Fixes bug 632378 by making the Quality Management inspection generation rule warning actionable. The changes touch the generation rule table, the rules page, the management codeunit, the Create Inspection report and the receiving and warehouse setup guide pages. (main, 2026-07-16, fix) - [#9351 [master]Subscription Billing: O(N²) contract-renewal detection in Sales-Post subscribers slows posting (~28% of batch CPU)](bcapps/9351.md): Contract renewal detection in the Subscription Billing Sales-Post subscribers was reworked to remove O(N²) behavior. Before the fix, this check took about 28% of batch posting CPU. (main, 2026-07-16, performance) - [#9344 [master]- Posting service order without External document no. will copy the 'Service Order No.' to GL entries](bcapps/9344.md): Posting a service order without an External Document No. no longer copies the Service Order No. into the G/L entries. The fix is in Serv-Documents Mgt. in the W1, NA, ES and IT layers. (main, 2026-07-16, fix) - [#9416 [ALAppExtensions #30313]codeunit 441 "Prepayment Mgt." OnBeforeReleaseSalesDocument](bcapps/9416.md): Codeunit 441 now exposes two new integration events that fire before and after processing pending prepayment sales, allowing partners to hook into the prepayment-driven release flow. (main, 2026-07-16, feature) - [#9415 [ALAppExtensions #30294][Event Change Request] Report 12121 "G/L Book - Print" - "OnPreDataItemOnAfterSetGLBookEntryFilters"](bcapps/9415.md): A new integration event is added to the G/L Book - Print report that allows partners to set custom filters on G/L Book Entry before validation runs. (main, 2026-07-16, feature) - [#5833 Add Microsoft Graph API Support to SharePoint Connector](bcapps/5833.md): The SharePoint Connector now supports Microsoft Graph API as an alternative to REST API, enabling downloads of files larger than 150 MB through chunked transfers while maintaining backward compatibility. (main, 2026-07-16, feature) - [#9404 [Shopify] Fix Sync Prices using stale WorkDate from SingleInstance cache](bcapps/9404.md): Fixed the Shopify product price calculator to rebuild its cached temporary sales header when the Work Date changes, preventing price sync from applying outdated discounts after changing the work date mid-session. (main, 2026-07-15, fix) - [#9129 [Master]-Bug 641503 Financial Reporting - Duplicate Rows in Financial Report Excel Export After Adding GL Budget Dimension](bcapps/9129.md): The export of account schedules to Excel no longer produces duplicate rows when a GL budget dimension has been added to the report. (main, 2026-07-15, fix) - [#9114 Re-enable Data Classification test (CU 135153 TestDataSensitivities) in CI](bcapps/9114.md): Re-enables the Data Sensitivity classification test (CU 135153 TestDataSensitivities) in CI. A temporary allow-list exempts apps that still ship unclassified fields, so new unclassified tables in other apps now fail the test. (main, 2026-07-15, other) - [#9343 [master][Event Request] Request at table 98 "General Ledger Setup",](bcapps/9343.md): New events were added to table 98 General Ledger Setup in response to an event request, in every localization layer. (main, 2026-07-15, feature) - [#8878 [Master]- Service Item does not populate Ship-to Country/Region Code when Ship-to Code is blank](bcapps/8878.md): The Service Item Card now fills in the Ship-to Country/Region Code even when the Ship-to Code is blank. A test covering this case was added. (main, 2026-07-15, fix) - [#9357 [Shopify] Add Compare-at Price field to Shopify Variants page for personalization](bcapps/9357.md): The Shopify Variants page now includes a Compare at Price field control for personalization, allowing users to display and review the Shopify compare-at price for variants. (main, 2026-07-15, feature) - [#9407 Add Microsoft apps view to AppSource product list (Fix ADO #642217)](bcapps/9407.md): A new predefined view called "Microsoft apps" was added to the AppSource Product List page to let customers quickly filter and browse only Microsoft-published applications. (main, 2026-07-15, feature) - [#9140 Remap object IDs during Payment Management FR data](bcapps/9140.md): Payment Management FR now automatically remaps legacy report and xmlport IDs to their new equivalents when the app is activated, eliminating manual reconfiguration after upgrade. (main, 2026-07-15, feature) - [#9445 [Extensibility Request] issue 30173: add integration events to Sales Line Discounts page](bcapps/9445.md): Two integration events are added to the Sales Line Discounts page to allow extensions to customize record filtering and resolve filter descriptions for item type values without modifying base code. (main, 2026-07-15, feature) - [#9397 [main] Ship to address Var/protected var fix](bcapps/9397.md): The Ship-to Address table had a label text accidentally moved when a variable was changed from Var to Protected Var, which has been corrected. (main, 2026-07-15, fix) - [#9453 [Bug 642248] Header/Footer Theme Assignment: persist selected layout (missing Rec.Modify)](bcapps/9453.md): A data-persistence bug on the Header/Footer Theme Assignment page is fixed by adding a missing Rec.Modify() call, ensuring selected header and theme parts are saved to the database. A minor caption casing fix is also applied to the Report Layouts page. (main, 2026-07-15, fix) - [#9374 [master] Contact No. Lookup on Sales Quote returns All Customers instead of related Contacts after Updating to v28.2 - regression.](bcapps/9374.md): Fixed a regression in the Contact No. lookup on Sales Quotes that was showing all contacts instead of filtering to only the related customer's contacts. (main, 2026-07-15, fix) - [#9066 [master][ALAppExtensions #30068][ES] Codeunit 7000000 CarteraManagement - Refactor the Functions InsertReceivableDocs and InsertPayableDocs](bcapps/9066.md): The InsertReceivableDocs and InsertPayableDocs functions in the Spanish CarteraManagement codeunit (7000000) were refactored, following an ALAppExtensions request. (main, 2026-07-15, refactor) - [#9440 [Extensibility Request] issue 30331: add event to adjust corrective credit memo confirmation text](bcapps/9440.md): An integration event has been added before the corrective credit memo confirmation dialog, allowing extensions to adjust the confirmation text when a posted sales invoice is being corrected. (main, 2026-07-15, feature) - [#9437 [Extensibility Request] issue 30339: add OnAfterCalcAvailableQtyBase event to Whse. Worksheet Line](bcapps/9437.md): An integration event was added to the warehouse worksheet line calculation to allow extensions to adjust the available quantity after the standard calculation completes. (main, 2026-07-15, feature) - [#9430 Fix untrappable JSON error in E-Document ADI import (Bug 640122)](bcapps/9430.md): E-Document matching assistance import now handles malformed Azure Document Intelligence responses gracefully by checking JSON property existence and adding telemetry for diagnostic purposes instead of crashing with an untrappable error. (main, 2026-07-15, fix) - [#9260 Bug 637507: [master] [Report 743 VAT Reconciliation Report] Incorrect VAT Base and Amount when using Non-Deductible VAT](bcapps/9260.md): The VAT Reconciliation Report now includes a configurable option to report either the total VAT amount including non-deductible VAT or only the deductible portion, addressing cases where non-deductible VAT was previously always included. (main, 2026-07-15, fix) - [#9168 [QM] Fix internal put-away from Quality Inspection sourcing wrong bin](bcapps/9168.md): Internal put-away disposition from Quality Inspection now resolves the source bin from actual Bin Content in directed put-away locations instead of relying on field naming conventions, fixing errors when items no longer exist in their original receive bins. (main, 2026-07-15, fix) - [#9306 [Main] Unbalanced G/L Entries if you apply a Payment and a Posted Purchase Invoice having both different Posting Groups and using the "Applies-to Document No." on the line instead of using Apply Entries in the Spanish version.Initial commit](bcapps/9306.md): Fixed unbalanced G/L entries when applying a payment to a purchase invoice with different posting groups using inline application in the Spanish version. (main, 2026-07-15, fix) - [#9282 [Main]- Description field in the contact history is showing the number of the original unregistered reminder instead of the registered reminder number when using the reminder automation setup.](bcapps/9282.md): Contact history descriptions in reminder automation now display the registered reminder number instead of the original unregistered reminder number when reminders are posted. (main, 2026-07-15, fix) - [#9339 [master][Gen. Jnl.-Post Line]` Add var NextEntryNo, var NextVATEntryNo, and var NextTransactionNo to OnAfterInitGLRegister in StartPosting](bcapps/9339.md): The OnAfterInitGLRegister event raised from StartPosting in codeunit Gen. Jnl.-Post Line now passes NextEntryNo, NextVATEntryNo and NextTransactionNo as var parameters, so subscribers can read and change them. (main, 2026-07-15, feature) - [#9452 [Extensibility Request] issue 30329: override confirmation text in CancelPostedInvoiceAndOpenSalesOrder](bcapps/9452.md): An integration event allows extensions to override the confirmation text when canceling a posted sales invoice, enabling accurate messaging when custom logic changes the behavior applied to the originating sales order. (main, 2026-07-15, feature) - [#9451 [Extensibility Request] issue 30292: add temporary Warehouse Activity Line parameter to OnBeforeCreateWhseActivHeader](bcapps/9451.md): The OnBeforeCreateWhseActivHeader event in the Create Pick codeunit now includes a temporary Warehouse Activity Line parameter, allowing subscribers to inspect pick lines before a warehouse activity header is created. (main, 2026-07-15, feature) - [#9447 [Extensibility Request] issue 30239: add OnBeforeOnRunOnCheckWarehouse event in Mfg. Item Jnl. Check Line](bcapps/9447.md): A new OnBeforeOnRunOnCheckWarehouse integration event enables extensions to conditionally bypass manufacturing warehouse validation for specific item journal transactions without affecting standard behavior. (main, 2026-07-15, feature) - [#108 Complete AL review knowledge readiness](bcquality/108.md): AL review knowledge expanded with new guidance on telemetry, Query objects, AppSource, breaking changes, and security; content gaps fixed, and validation harness added for consistent small-model evaluation. (main, 2026-07-15, feature) - [#54 Emit human-readable domain label on review findings](bcquality/54.md): BCQuality review leaves now set an optional human-readable domain label on every finding, so BCQuality owns the display label instead of the consumer engine's static map. Once the BC-ALAgents counterpart is merged, new review domains can render with their own label rather than Other. (main, 2026-07-15, feature) - [#9418 [ALAppExtensions #30229][Event Request] table 12113 "Tmp Withholding Contribution"](bcapps/9418.md): Adds an IsHandled event OnCalculateWithholdingTaxOnBeforeAssignWithholdingTaxValues to the Tmp Withholding Contribution table and extracts field assignments into a separate procedure to allow customization of withholding tax calculation logic. (main, 2026-07-15, feature) - [#9417 [ALAppExtensions #30221][Event Request] table 12137 "Purch. Withh. Contribution"](bcapps/9417.md): Two integration events added to the Purch. Withh. Contribution table enable partners to override the INPS calculation or populate custom fields during record creation without affecting the default behavior. (main, 2026-07-15, feature) - [#9322 [FS Integration] SVCITEM-CUSTASSET mapping ignores "Convert to Customer Asset" flag — every Service Item synced to FS unconditionally](bcapps/9322.md): Field Service Integration now respects the Dataverse Product setting Convert to Customer Asset when syncing Service Items, preventing unconditional synchronization unless the flag is enabled or records are already coupled. (main, 2026-07-15, fix) - [#9341 [main][Change Request] Page 8901 - Add empty "layout" to the RoleCenter](bcapps/9341.md): An empty layout section was added to page 8901 "Finance Manager Role Center" in all 19 localization layers where the page exists. (main, 2026-07-15, other) - [#9038 [master][Bug]: Page 615 "IC Inbox Transactions".RunInboxTransactions](bcapps/9038.md): RunInboxTransactions on page 615 "IC Inbox Transactions" now checks IsBasicOnlyEnabled instead of IsFoundationEnabled. The request page therefore opens for users whose experience is more than Basic. Tests were updated to handle the request page by clicking OK. (main, 2026-07-15, fix) - [#9254 [Master] Exchange Rate Adjustment filter not working](bcapps/9254.md): Codeunit 699 "Exch. Rate Adjmt. Process" was fixed so that filters set for an exchange rate adjustment are applied. New tests cover customer and vendor scenarios. (main, 2026-07-15, fix) - [#9044 [Master] Contact email is no validated during creation purchase documents_New](bcapps/9044.md): Contact email validation is restored during purchase document creation, fixing a regression where email validation was skipped. (main, 2026-07-15, fix) - [#9349 [master]-[ES][Cartera Bills] Applying a foreign-currency payment to a bill that leads to gain-loss entry cannot be reversed](bcapps/9349.md): Fixed an issue where applying a foreign-currency payment to a bill that generates a gain-loss entry could not be reversed in the Spanish localization. (main, 2026-07-15, fix) - [#9024 [Master] - Chance of success % does not validate correctly when using the action type "Update" in Opportunity](bcapps/9024.md): Chance of Success % on an opportunity entry now validates correctly when the Update action type is used. The fix is in the Opportunity Entry table, and tests were added. (main, 2026-07-14, fix) - [#8742 Enhance SharePoint error handling and add tests](bcapps/8742.md): SharePoint error handling now correctly parses OData verbose error responses to show meaningful error messages instead of empty strings. The parser falls back gracefully to OAuth token error format and raw body when needed. (main, 2026-07-14, fix) - [#9194 Add API Overview page (page 812)](bcapps/9194.md): A new admin page shows all available APIs (pages and queries) from all publishers in the environment, with clickable URLs to test endpoints before external integration. (main, 2026-07-14, feature) - [#2286 fix: Refactor GetModifiedSettingsContent for PS5 compatibility](al-go/2286.md): The GetModifiedSettingsContent function now explicitly lists property names instead of using wildcards in Select-Object to ensure compatibility with PowerShell 5. (main, 2026-07-14, fix) - [#9014 [E-Document] Remove Access = Internal from E-Doc. Data Exchange Impl. codeunit](bcapps/9014.md): The E-Doc. Data Exchange Impl. codeunit access level is changed from Internal to public, allowing partners to reuse its functions for custom E-Document implementations. (main, 2026-07-14, feature) - [#9371 Bug 642180: DE report 11015 Export Business Data fails when scheduled via Job Queue: Client callbacks are not supported](bcapps/9371.md): Report 11015 Export Business Data now stores generated ZIP files in the Report Inbox when scheduled via Job Queue instead of attempting a client callback that fails in background sessions. (main, 2026-07-14, fix) - [#9355 [master] [FR] [E-document] Changed place for "SIRET No." and exposed codeunit for export Factur-X](bcapps/9355.md): The SIRET No. field was moved to a different place on the French Company Information page, and the Export Factur-X Document codeunit in the French E-Document app was exposed for use outside the app. (main, 2026-07-14, feature) - [#8183 Handle failure to manually create E-Document from posted doc with no …](bcapps/8183.md): E-Document creation now correctly reports failure when a posted document cannot be converted to an e-document instead of incorrectly showing a success message. (main, 2026-07-14, fix) - [#8115 Subscription Billing: respect Default Dimension Priorities on Subscription Lines](bcapps/8115.md): Subscription Billing now respects Default Dimension Priorities when creating subscription lines from contracts, ensuring Item dimensions override Customer dimensions when configured with higher priority, instead of always letting Customer values win. (main, 2026-07-14, fix) - [#102 Privacy DataClassification fixes + keep Label-scope findings at minor](bcquality/102.md): Fixed factual errors in the privacy data-classification article about platform defaults and expanded the classification taxonomy to cover organization and account identifiers. Corrected label-scope findings severity from info to minor since no analyzer enforces this rule. (main, 2026-07-14, fix) - [#105 Promote validated community knowledge](bcquality/105.md): Community AL best practice articles are promoted to Microsoft-endorsed knowledge, removing duplicates and overlapping guidance while updating review skills with canonical references. (main, 2026-07-14, refactor) - [#101 style-review: fix example finding id to match references[0].path](bcquality/101.md): The example in the style review documentation now has a correct finding id that matches its references path. (main, 2026-07-14, fix) - [#100 Add P0 integration and control add-in runtime guidance](bcquality/100.md): Adds guidance and code samples for linking API parts on SystemId with Multiplicity set, webhook eligibility and validationToken renewal, credentialed AJAX loading of packaged control add-in resources, and throttling AL calls and payload size from control add-ins. The web-services and UI review skills were extended to match. (main, 2026-07-14, feature) - [#99 Add lifecycle error and privacy knowledge](bcquality/99.md): Five new knowledge articles with code samples were added covering try-function semantics, upgrade phase data writes, install-versus-upgrade dispatch logic, ErrorInfo privacy exposure, and FeatureTelemetry logging, plus related review skills were updated. (main, 2026-07-14, feature) - [#98 Add P0 event and interface compatibility knowledge](bcquality/98.md): Guidance added for event and interface compatibility patterns, covering enum unknown value handling, published interface evolution, subscriber contracts for local and internal events, and shipped event attribute immutability. (main, 2026-07-14, feature) - [#97 Add per-row AL performance guidance](bcquality/97.md): New performance guidance documents how to use SetAutoCalcFields for per-row FlowFields and how to avoid cloning records before Modify or Delete in loops, with corrections to the commit checkpoint sample. (main, 2026-07-14, feature) - [#96 Add missing AL review leaf skills](bcquality/96.md): Four new AL code review leaf skills were added to cover testing, data modeling, AppSource, and telemetry review scenarios, integrated into the main AL code review capability. (main, 2026-07-14, feature) - [#9068 [master][ALAppExtensions #30085][Event Request] Codeunit 11000007 "Check BTL91" - OnBeforeCheckFreelyTransferableMaximumAmount](bcapps/9068.md): Codeunit 11000007 "Check BTL91" in the Dutch localization now has an OnBeforeCheckFreelyTransferableMaximumAmount event. Extensions can use it to customize the check of the freely transferable maximum amount. (main, 2026-07-14, feature) - [#9340 [main][Gen. Jnl.-Post Line]` Add var NextVATEntryNo to OnAfterGLFinishPosting in Code](bcapps/9340.md): The OnAfterGLFinishPosting event in codeunit 12 "Gen. Jnl.-Post Line" now passes NextVATEntryNo as a var parameter. Subscribers can read and change the next VAT entry number after G/L posting finishes. The change is made in every localization layer. (main, 2026-07-14, feature) - [#9345 [master]Codeunits 8364, 8365, 8367 Add integration event OnAfterPopulateLineBufferForReporting to filter Dimension Perspective sections before rendering](bcapps/9345.md): Three Dimension Perspective codeunits now expose an integration event that allows filtering which sections appear before rendering in financial reports. (main, 2026-07-14, feature) - [#9222 [Main]- When issuing a prepayment invoice with an invoice discount applied, the prepayment amount does not take into account the total amount including tax.](bcapps/9222.md): Fixed an issue where prepayment invoices with invoice discounts applied were not correctly including tax when the prepayment include tax setting was enabled. The reconciliation logic now uses the tax-inclusive amount as the target when calculating the prepayment difference. (main, 2026-07-14, fix) - [#9280 Project Task Billing Method reverts to original value in project card without validation or error](bcapps/9280.md): Project Task Billing Method field now persists correctly when changed from One Customer to Multiple Customers, fixing a race condition that previously caused the value to revert without error. (main, 2026-07-14, fix) - [#9092 [Master]-Take Payment Discounts setting does not work as expected in the Suggest Vendor Payments EB routine from the EB Payment Journal in the Belgian version.](bcapps/9092.md): The Suggest Vendor Payments EB routine in the Belgian version now correctly applies the Take Payment Discounts setting when processing vendor payments through the EB Payment Journal. (main, 2026-07-14, fix) - [#95 style-review: calibrate analyzer-redundant rules to info; keep correctness bugs out of style scope](bcquality/95.md): The al-style-review skill recalibrates analyzer-redundant rules to info severity and clarifies domain boundaries to keep correctness issues out of the style scope, reducing false-positive findings in code review. (main, 2026-07-14, fix) - [#94 Correct performance knowledge guidance](bcquality/94.md): Several performance knowledge articles and their samples were corrected for partial records, transactions, N+1 lookups, SIFT, bulk writes and read isolation. The invalid filter-only SetLoadFields rule and the generic production-scale article were removed, and an unsafe Sales Header deletion sample was replaced with a staging-table scenario. (main, 2026-07-14, fix) - [#93 Fix lifecycle compatibility guidance](bcquality/93.md): Knowledge articles and samples on error handling, events, interfaces, upgrade, testing, web services and breaking changes were corrected. API page defaults were clarified, version-specific API shapes now need separate page objects, and the web-services review example now follows APIVersion defaulting to beta. (main, 2026-07-14, fix) - [#92 Correct security and privacy knowledge guidance](bcquality/92.md): Security and privacy knowledge articles were corrected to align with current Business Central APIs and behavior, including fixes for SecretText HTTP guidance, error telemetry semantics, field data classification, and consent handling. (main, 2026-07-14, fix) - [#49 Promote security knowledge from community to Microsoft layer](bcquality/49.md): Five security knowledge articles moved from the community layer to the Microsoft layer with minor content refinements to remove non-existent references and contribution prompts. (main, 2026-07-14, refactor) - [#9224 [main] GitHub event batch 1746](bcapps/9224.md): A batch of fixes for linked work items and ALAppExtensions issues changes Item Jnl.-Post Line, Copy Sales Document, Sales Price Calc. Mgt., Calculate Plan - Plan. Wksh. and Whse.-Source - Create Document. The description does not say what each fix does. (main, 2026-07-14, fix) - [#9307 Added missing event call so the search results page subscribes to the…](bcapps/9307.md): The Data Search Result Records page now makes an event call it was missing, so it subscribes to the same event as the data search itself. (main, 2026-07-14, fix) - [#8914 [Master]- Changing Sales Order Line Description on a Sales Order unexpectedly changes the invoice total amounts.Changes](bcapps/8914.md): Fixed an issue where editing a sales order line's description would unexpectedly change invoice totals by ensuring calculations only run when the item number changes. (main, 2026-07-14, fix) - [#9315 [Projects] Add Assigned Resources to projects and project tasks](bcapps/9315.md): Projects now support assigning resources at the project level or to specific posting-type tasks, with multiple resources per project or task managed through a new Assigned Resources table and UI actions. (main, 2026-07-14, feature) - [#9199 [Main]-Incident 21000001049308 : [BC-IN] Purchase invoice with a deferral schedule and Non-availment GST is not functioning correctly](bcapps/9199.md): A purchase invoice with Non-availment GST can now be posted when a default deferral template is configured on the G/L account, by handling the deferral validation for India localization in the tax engine. (main, 2026-07-13, fix) - [#9354 Incident 51000001074180 : [BC-IN] GST Component code alignment issue in Pay GST Calculation details.](bcapps/9354.md): GST Settlement calculation now processes components in the configured Return & Reco Sequence order instead of alphabetically, ensuring correct Credit Utilized and Surplus Credit display in Pay GST Calculation Details. (main, 2026-07-13, fix) - [#9201 [Main]-Incident 51000001072719 : [BC-IN][28.1] Wrong TDS amount is being reflected on the TDS Entries page while posting a Purchase Invoice against a foreign (NRI) vendor.](bcapps/9201.md): Fixed TDS amount currency conversion for foreign vendors without PAN under concessional codes by adding the missing Currency Code field mapping in the tax engine use case configuration. (main, 2026-07-13, fix) - [#9316 [Shopify] Preserve manually set Sell-to Customer No. when Bill-to mapping fails](bcapps/9316.md): Fixed a Shopify Connector bug where manually set Sell-to Customer No. was overwritten when Bill-to Customer No. failed to map, and added fallback logic to derive Bill-to from Sell-to when unmapped. (main, 2026-07-13, fix) - [#9073 Data Exchange Definition export performance improvement](bcapps/9073.md): Data Exchange Definition exports now use in-memory mapping with bulk saves and reuse FlowField calculations to significantly improve performance on large record sets, with no change to output format. (main, 2026-07-13, performance) - [#9177 [master] - Calculate Calendar reports missing from Work/Machine Center Cards and missing filter fields on request pages](bcapps/9177.md): The Calculate Calendar reports are now accessible from Work Center and Machine Center Cards through a new processing action, and their request pages include additional filter fields for Work Center Group Code and Work Center No. (main, 2026-07-13, fix) - [#9071 Merged from [28.x]The transaction cannot be completed because it will cause inconsistencies in the G/L Entry table"](bcapps/9071.md): Fixes the posting error 'The transaction cannot be completed because it will cause inconsistencies in the G/L Entry table' in codeunit Gen. Jnl.-Post Line. The fix is applied across the W1 layer and several localization layers, with new tests in the ERM Source Currency test suites. (main, 2026-07-13, fix) - [#9317 [Shopify] Add Companies to Shopify navigation menu](bcapps/9317.md): The Shopify Companies list is now accessible from the Shopify navigation group in the Business Manager, Order Processor, and Sales & Relationship Manager role centers, with a new Companies action placed after Customers. (main, 2026-07-13, feature) - [#9264 [master] Bin Capacity Policy "Prohibit More Than Max. Cap." fails and allows more than the maximum Capacity, when you split lines on Inventory Movement](bcapps/9264.md): Fixed bin capacity enforcement in non-directed warehouses so that registering partial inventory movements now correctly prevents bins from exceeding maximum capacity limits. (main, 2026-07-13, fix) - [#9313 [Shopify] Fix Product Sync deleting mapped variants on stale Updated At timestamp](bcapps/9313.md): The Shopify variant sync now correctly distinguishes between variants that have stale local timestamps (should be kept) and variants deleted on Shopify (should be removed), preventing incorrect deletion of mapped variants during asynchronous bulk operations. (main, 2026-07-13, fix) - [#9318 [Shopify] Fix Get Catalogs tooltip to explain company dependency](bcapps/9318.md): The Get Catalogs action on the Shopify Catalogs page now displays a clearer tooltip explaining that it only retrieves B2B catalogs for companies already imported into Business Central. (main, 2026-07-13, fix) - [#65 Add data-modeling and appsource knowledge articles (MICROSOFT layer)](bcquality/65.md): Seven remedial BCQuality knowledge articles added to the MICROSOFT layer covering data-modeling patterns, AppSource conventions, and styling best practices, with good and bad AL code examples for each. (main, 2026-07-13, feature) - [#87 Fix knowledge corpus integrity issues](bcquality/87.md): Fixes broken references and mismatched examples in BCQuality skill documentation and limits DataTransfer, teaching-tip and 'this' articles to the Business Central versions that support them. It also restores a missing article title and lets the root-entry guard accept .claude-plugin/. The knowledge and findings contracts are unchanged. (main, 2026-07-13, fix) - [#2314 Retry current-build dependency artifact download up to 3 times](al-go/2314.md): The Download Project Dependencies action now retries failed artifact downloads up to 3 times with 30-second delays between attempts to handle transient network errors from GitHub's Actions Results service. (main, 2026-07-10, fix) - [#9062 [Master]-Production Order - WIP shows incorrect consumption amount.](bcapps/9062.md): Fixes the incorrect consumption amount shown for production orders in the Inventory Valuation - WIP report, along with its Czech counterpart, Inventory Valuation - WIP CZA. (main, 2026-07-10, fix) - [#9133 [Master]-Project consumption: partial invoicing of non-inventory items posts negative adjustment value entry to wrong Item Ledger Entry](bcapps/9133.md): Fixed posting of negative adjustment value entries for partially invoiced non-inventory items in project consumption, which were incorrectly linked to the wrong item ledger entry. (main, 2026-07-10, fix) - [#9204 [Master]-Vendor Order No. exceeds 20-character limit causing error in Intercompany Purchase Invoice](bcapps/9204.md): Fixes an error in Intercompany Purchase Invoice when the Vendor Order No. is longer than 20 characters. The fix changes the Purchase Invoice page in several localization layers, and the intercompany tests are updated. (main, 2026-07-10, fix) - [#8871 Issue#7867: Removed the access restriction for procedures in the confirmation window.](bcapps/8871.md): The Shopify Add Item Confirm page now allows unrestricted access to its procedures, eliminating the need for app developers to create a copy of the page. (main, 2026-07-10, feature) - [#9291 Add [NonDebuggable] to Cryptography Management encrypt/decrypt procedures](bcapps/9291.md): The Cryptography Management system application now marks all encryption and decryption procedures with the NonDebuggable attribute to prevent AL debugger access to sensitive cleartext data. (main, 2026-07-10, fix) - [#9179 Contoso demodata renaming](bcapps/9179.md): Some variables and procedures in the Contoso Coffee demo data codeunit Create Mfg Prod. Routing were renamed. (main, 2026-07-10, refactor) - [#2304 Support framework-dependent (flat) AL Language extension layout](al-go/2304.md): AL-Go now supports framework-dependent AL Language extensions with flat internal layout by making path resolution aware of both nested and flat folder structures for altool, analyzers, and aldoc. (main, 2026-07-10, feature) - [#8924 [QM] Fixed overflow runtime error](bcapps/8924.md): An overflow runtime error in Quality Inspection Header has been fixed with corresponding test coverage added. (main, 2026-07-10, fix) - [#9275 [ALAppExtensions #30250] Matrix Management: reorder OnFormatRoundingFactor Signature](bcapps/9275.md): Matrix Management (codeunit 9200) reorders an event's parameters so AmountDecimal comes first, matching related events. The description names OnAfterSetAmountDecimal; the title names OnFormatRoundingFactor. Existing subscribers must update their parameter order. (main, 2026-07-10, breaking) - [#9051 [639592][ALAppExtensions #30277][Event Request] Codeunit 426 "Payment Tolerance Management" OnPmtTolGenJnlOnAfterCheckConditions](bcapps/9051.md): Codeunit 426 Payment Tolerance Management now exposes a new by-reference variant of the OnPmtTolGenJnlOnAfterCheckConditions event in the NL layer, allowing subscribers to modify general journal lines before payment tolerance processing continues. (main, 2026-07-10, feature) - [#9123 Bug 641489: Show Next/Previous Operation No. on routing lines when Type = Parallel](bcapps/9123.md): Next Operation No. and Previous Operation No. fields on routing lines now automatically show when routing type is Parallel instead of remaining hardcoded invisible, eliminating the need for manual personalization. (main, 2026-07-10, fix) - [#9221 [Shopify] Uptake Admin GraphQL API to version 2026-07](bcapps/9221.md): The Shopify connector now supports the Admin GraphQL API version 2026-07 and handles market-driven shipping by reading shipping option names from market delivery settings instead of the deprecated merchant delivery profile APIs. (main, 2026-07-09, feature) - [#9142 [638695] Add Financial Report tables to always-logged list](bcapps/9142.md): Financial Report tables are now added to the always-logged list so all changes to these tables are automatically tracked in the Change Log regardless of Change Log Setup configuration. (main, 2026-07-09, feature) - [#9211 [Shopify] Surface skipped records and sent JSONL for bulk price sync](bcapps/9211.md): When a bulk price sync reverts variants that Shopify rejected, the Shopify connector now logs a Shopify Skipped Record with the Shopify error message for each one. When Logging Mode is All, it also stores the sent JSONL on the bulk operation, and a new action lets you download it. (main, 2026-07-09, feature) - [#9145 [E-Document] Show PDF preview factbox on purchase invoice pages](bcapps/9145.md): A PDF preview factbox is added to purchase invoice pages to display the original invoice PDF linked to an inbound E-Document, appearing only when relevant and placed above the Incoming Documents factbox. (main, 2026-07-09, feature) - [#8713 [Shopify] Expose Product facade procedures for Add to Shopify parity](bcapps/8713.md): Three new public procedures are added to the Shopify Product facade to enable partners to reproduce the native Add to Shopify flow when extending the connector, including shop confirmation, attribute compatibility checking, and product URL retrieval. (main, 2026-07-09, feature) - [#9053 [ALAppExtensions #30245][W1][Report][1701][Deferral Summary - Sales] Add integration event OnBeforeReturnSalesDocTypeString in ReturnSalesDocTypeString Procedure](bcapps/9053.md): An integration event was added to the ReturnSalesDocTypeString procedure in report 1701 so that extensions can override the document type text shown in the Deferral Summary - Sales report. (main, 2026-07-09, feature) - [#9188 [Shopify] Create BC customer on order import when Shopify customer has no default address](bcapps/9188.md): The Shopify connector now handles customer sync when no default address is set by falling back to the first available address instead of silently mapping to the default customer or erroring, ensuring orders are properly linked to newly created BC customers. (main, 2026-07-09, fix) - [#9253 [Shopify] Disambiguate Shopify timestamp field captions and tooltips](bcapps/9253.md): Shopify timestamp field captions and tooltips are now clearly marked with a (Shopify) suffix and updated references to improve disambiguation from Business Central's system auditing fields. (main, 2026-07-09, fix) - [#9220 Backport SL Migration - Snapshot Project Transactions](bcapps/9220.md): Support for snapshotting and migrating historical Dynamics SL project transactions is added to the SL historical data app, including new tables, viewing pages, and configuration options. (main, 2026-07-09, feature) - [#9005 (Bug 641089) Guard Item Ledger/Value Entry No. allocation in Item Jnl.-Post Line with CommitBehavior::Ignore](bcapps/9005.md): Item journal posting now prevents duplicate-key errors in concurrent scenarios by wrapping split posting in a commit-behavior guard frame, with an event for callers that need commits honored. (main, 2026-07-09, fix) - [#9121 [Subcontracting] Bug 641405: Production Order actions in ILE page not clickable for transfer lines](bcapps/9121.md): Production Order, Routing and Components actions on the Item Ledger Entries page are now enabled for subcontracting transfer-type entries. When the base Order fields do not point to a production order, the production order is read from the Subc. Prod. Order fields. (main, 2026-07-09, fix) - [#8051 [Edit in Excel] Expose ExternalizeODataObjectName and add Page Control Field publisher](bcapps/8051.md): The Edit in Excel codeunit now exposes a public procedure for OData object name conversion and adds an event for filtering page control fields before generating workbooks, enabling other apps to integrate with Edit in Excel without duplicating logic. (main, 2026-07-09, feature) - [#9079 Bug 631472: Cost Shares Breakdown (WIP) does not filter by Item](bcapps/9079.md): Cost Shares Breakdown report now correctly filters capacity ledger entries by the selected item when printing WIP inventory costs, ensuring only the filtered item appears in the report. (main, 2026-07-09, fix) - [#9127 Add Dataverse Cloud endpoints override for sovereign clouds](bcapps/9127.md): A new interface and enum enable partners to override Dataverse endpoints for sovereign cloud environments without forking BaseApp. The setup table stores the cloud selection and endpoints are routed through the interface at all call sites. (main, 2026-07-09, feature) - [#9126 [Shopify] Base price-sync bulk threshold on changed price count](bcapps/9126.md): Product price synchronization with Shopify now triggers bulk operations based on the count of changed variants rather than total mapped products, improving efficiency when few prices change in large catalogs. (main, 2026-07-09, fix) - [#9120 [Subcontracting] Bug 641399: Move Subcontracting Transfer Orders action out of Entries sub-group](bcapps/9120.md): Subcontracting Transfer Orders action moved from the Entries sub-group to the Order group level on production order pages, correcting its placement since transfer orders are documents rather than ledger entries. (main, 2026-07-09, fix) - [#9112 [Shopify] Skip refund credit memo while transaction is pending](bcapps/9112.md): Shopify refund processing now skips credit memo creation when the refund transaction is still pending, preventing financially invalid documents with zero totals. The refund is retried on the next sync once the transaction succeeds. (main, 2026-07-09, fix) - [#9084 Bug 640321: Blanket Purch. Order to Order drops extended text for later items](bcapps/9084.md): Fixes a bug where extended text lines are dropped when converting blanket purchase orders to regular orders if parent items end up on different line numbers. The fix remaps attached line references before insertion. (main, 2026-07-09, fix) - [#9083 Bug 639857: Project journal ignores task-level Bill-to Customer for pricing](bcapps/9083.md): Project journal pricing now respects task-level bill-to customer settings when multiple customers are enabled, matching the behavior of project planning lines. (main, 2026-07-09, fix) - [#9195 Fix Aged Accounts Receivable (Report 120) performance on large ledger history](bcapps/9195.md): The Aged Accounts Receivable report (Report 120) now reads only the four columns it needs from Detailed Cust. Ledg. Entry inside its per-row loop. This lowers the per-row SQL cost on databases with long ledger history. (main, 2026-07-09, performance) - [#9098 Align the Vend. Entry-Edit post-modify event with its Cust. Entry-Edit counterpart](bcapps/9098.md): The vendor entry-edit codeunit now raises an improved post-modify event that mirrors its customer counterpart, passing both the original and modified entry records for better context to event subscribers. (main, 2026-07-09, feature) - [#62 Add testing knowledge: UI handlers, table relations, asserterror, fixtures (P1+P2)](bcquality/62.md): Adds three testing knowledge articles to BCQuality under microsoft/knowledge/testing: UI handlers in tests, pairing asserterror with expected error checks, and using library codeunits for test fixtures. Each article has a markdown page plus good and bad AL examples. (main, 2026-07-09, feature) - [#84 Package BCQuality as an installable plugin (experiment)](bcquality/84.md): Experimentally packages BCQuality as an installable plugin for Copilot CLI and Claude Code hosts. It adds marketplace and plugin manifests plus a bridge skill that bootstraps the existing entry protocol for AL code review, without changing knowledge or routing logic. (main, 2026-07-09, feature) - [#8556 [Quality Management] Enforce rules and restrictions with indirect and implicit permissions](bcapps/8556.md): Quality Management uses InherentPermissions so that, when no setup or triggered generation rule exists, users need no QM permissions. When a rule does trigger, users without QM permissions get a standard permission error instead of silently skipping inspection creation. A new 'QltyMgmt - I. Create' permission set grants the minimum indirect rights. (main, 2026-07-08, feature) - [#8875 [master] SOA: Bugbash for releases 28.x - Select an existing contact, or create a new one - Use another contact always](bcapps/8875.md): Fixed an error when selecting an existing contact in the Sales Order Agent by adding a commit before opening the contact selection dialog, preventing a write transaction conflict. (main, 2026-07-08, fix) - [#9191 Bug 641232: [Subcontracting] Offer to install missing apps instead of hard error when disabling Legacy Subcontracting](bcapps/9191.md): In the IT localization, disabling Legacy Subcontracting on Manufacturing Setup no longer stops with a hard error when the Subcontracting or IT Subcontracting Migration app is missing. It now offers to install the missing app; the user then runs the disable action again. (main, 2026-07-08, fix) - [#9081 Bug 637846: Item Age Composition '...before' quantity reflected only last entry](bcapps/9081.md): Report 5808 now correctly displays item age composition quantities across all ledger entries instead of only the last one, while preserving column bindings by maintaining unchanged column names. (main, 2026-07-08, fix) - [#9080 Bug 635072: Subcontracting order uses Prod. Order Line location, not Work Center](bcapps/9080.md): The subcontracting order creation process now consistently uses the production order line location instead of the work center location when creating purchase orders, aligning with the worksheet calculation path. (main, 2026-07-08, fix) - [#9124 [E-Document] [Payables Agent] Users can personalize-in the Name column on the draft page](bcapps/9124.md): The E-Document purchase draft lines subform now includes a read-only Name column showing the matched entity (Item, G/L Account, or Resource), hidden by default but available for personalization to help reviewers verify line matching. (main, 2026-07-08, feature) - [#8951 [Master]-Time zone issue to the G/L report in Business Central](bcapps/8951.md): The GetUserTimezoneOffset function in the Type Helper codeunit now correctly accounts for Daylight Saving Time when calculating timezone offsets, fixing timezone display issues in G/L reports. (main, 2026-07-07, fix) - [#9139 Fix Payables Agent permission error opening E-Document](bcapps/9139.md): The Payables Agent codeunit now has elevated permissions to read the Agent Task Message table, preventing permission errors when opening E-Documents. (main, 2026-07-07, fix) - [#9118 Bugs/master GitHub event batch 1745](bcapps/9118.md): A batch of changes linked to 11 ALAppExtensions GitHub issues, touching Sales Line, Sales Shipment Line, Item Jnl.-Post Line, Prod. Order Component, Calculate Prod. Order, routing, planning, availability check and item budget Excel reports across W1 and several localization layers. The description does not say what each change does. (main, 2026-07-07, fix) - [#8935 [Main]-[Escalated] [Strategic] [BC-IN]Online: Performance issue in General journal line from June 17th 2026 - 2606170030006074](bcapps/8935.md): Removed a redundant CurrPage.SaveRecord() call from 31 India journal and voucher page extensions in the GST, TCS, TDS and Tax Base apps. The extra call caused a database write and a workflow evaluation for every line, which made line entry slow. Tax calculation is unchanged. (main, 2026-07-07, performance) - [#9039 Adding all Power BI reports to Business Manager's Role Center](bcapps/9039.md): Power BI reports are now added to the Business Manager's Role Center, along with updates to related role centers and supporting modules. (main, 2026-07-07, feature) - [#9086 Bug 641085: Document Check factbox does not update live on Purchase Invoice/Cr.Memo/Return Order](bcapps/9086.md): The Document Check factbox on Purchase Invoice, Purchase Credit Memo, and Purchase Return Order now updates live when lines are edited, instead of requiring a manual page refresh. (main, 2026-07-07, fix) - [#8953 [Master]-Aged account receivable EXCEL and Aged account payable EXCEL ignores "Period Count" specified by user.](bcapps/8953.md): Aged Accounts Receivable and Payable Excel reports now correctly respect the Period Count parameter specified by users, fixing a bug where this setting was being ignored. (main, 2026-07-07, fix) - [#9078 Bug 624364: Intrastat DE groups detail lines by Country/Region of Origin](bcapps/9078.md): German Intrastat export now groups detail lines by both Tariff Number and Country of Origin to prevent merging lines with the same tariff but different origins and losing origin information. (main, 2026-07-07, fix) - [#9146 [Shopify] Fix GraphQL rate limiter under-waiting after elapsed time](bcapps/9146.md): The Shopify connector's GraphQL rate limiter was waiting incorrectly when time had elapsed between requests, causing it to re-issue requests too early into the throttle window. The fix anchors the wake time to the current moment plus remaining wait time instead of incorrectly subtracting the elapsed gap twice. (main, 2026-07-07, fix) - [#9109 [Shopify] Add Transactions navigation action to Shopify Refund page](bcapps/9109.md): The Shopify Refund page now includes a Transactions navigation action that displays payment transactions linked to a specific refund, matching the functionality already available on the Shopify Order page. (main, 2026-07-07, feature) - [#8587 [Shopify] Make codeunit 30272 "Shpfy Update Price Source" public](bcapps/8587.md): Codeunit 30272 "Shpfy Update Price Source" is now public, allowing partners to reference it for custom Shopify price calculation logic through explicit bind/unbind subscriptions. (main, 2026-07-07, feature) ## microsoft/BCApps: upcoming Open pull requests (no page until merged), most recently updated first; then the newest open issues and the releases. - [#12584 Bug 649862: [Subcontracting] Restore Get Receipt Lines for subcontracting receipts](https://github.com/microsoft/BCApps/pull/12584) (open into main, updated 2026-10-14) - [#12723 [Master]-Modifying Description resets Quantity to 1 on Purchase Invoice Lines](https://github.com/microsoft/BCApps/pull/12723) (open into main, updated 2026-10-14) - [#12453 Localized file check-in by OneLocBuild Task: Build definition ID 12892: Build ID 2762923](https://github.com/microsoft/BCApps/pull/12453) (open into main, updated 2026-10-13) - [#9045 Config. Packages with Native AL XML Data Types](https://github.com/microsoft/BCApps/pull/9045) (open into main, updated 2026-10-13) - [#11258 [GB] IdealPostcodes: fix provider selection and address retrieval through the Postcode Service Manager framework](https://github.com/microsoft/BCApps/pull/11258) (open into main, updated 2026-10-13) - [#12674 [API tests] Default to web service key authentication](https://github.com/microsoft/BCApps/pull/12674) (open into main, updated 2026-10-13) - [#12671 Fix extension settings actions and repeated marketplace installation](https://github.com/microsoft/BCApps/pull/12671) (open into main, updated 2026-10-13) - [#12694 Allow API tests to issue local HTTP requests](https://github.com/microsoft/BCApps/pull/12694) (open into main, updated 2026-10-13) - [#12752 Public wrappers for "Report Layouts Impl." procedures](https://github.com/microsoft/BCApps/pull/12752) (open into main, updated 2026-10-13) - [#12772 Bug 654042: [DocumentRepporting] Exporting Word layout themes uses the wrong file extension](https://github.com/microsoft/BCApps/pull/12772) (open into main, updated 2026-10-13) - [#11156 Allow controlled changes to item tracking codes](https://github.com/microsoft/BCApps/pull/11156) (open into main, draft, updated 2026-10-13) - [#9326 [FI] Delocalize Depreciation Differences into a first-party extension](https://github.com/microsoft/BCApps/pull/9326) (open into main, updated 2026-10-13) - [#12755 Flow Service Management: use native HttpClient instead of Web Request Helper](https://github.com/microsoft/BCApps/pull/12755) (open into main, updated 2026-10-13) - [#10484 [Bug Fix] #177: IRS 1099 orphan fields on Purchase Order/Cr. Memo pages](https://github.com/microsoft/BCApps/pull/10484) (open into main, updated 2026-10-13) - [#12776 [IT] Add per-line extensibility event to FatturaPA XML export](https://github.com/microsoft/BCApps/pull/12776) (open into main, updated 2026-10-13) - [#12096 Fix #11398: [IT] Print payment schedule on standard sales invoice](https://github.com/microsoft/BCApps/pull/12096) (open into main, updated 2026-10-13) - [#12147 Bugs/add corp card basics](https://github.com/microsoft/BCApps/pull/12147) (open into main, updated 2026-10-13) - [#12664 Fix production journal page ID validation](https://github.com/microsoft/BCApps/pull/12664) (open into main, updated 2026-10-13) - [#11028 [Quality Management] Add public rule engine facade for automatic inspection creation](https://github.com/microsoft/BCApps/pull/11028) (open into main, updated 2026-10-13) - [#12296 Add Missing Blocked Check for the Bill-to Customer in Job and Job Task](https://github.com/microsoft/BCApps/pull/12296) (open into main, updated 2026-10-13) - [#12761 [FR] Delocalize French cheque amount wording and remove FR Check report override](https://github.com/microsoft/BCApps/pull/12761) (open into main, draft, updated 2026-10-13) - [#12291 [Quality Management] Pass the single tracking record and clear the right filter in the purchase receipt subscriber](https://github.com/microsoft/BCApps/pull/12291) (open into main, updated 2026-10-13) - [#11909 Block guest users from managing Expense Agent](https://github.com/microsoft/BCApps/pull/11909) (open into main, updated 2026-10-13) - [#12669 [Main]Subcontracting Order Date does not account for lead time before the routing operation starts](https://github.com/microsoft/BCApps/pull/12669) (open into main, updated 2026-10-13) - [#11205 MSlenejennum/647612/inventory internal new body layouts and obsolete current](https://github.com/microsoft/BCApps/pull/11205) (open into main, updated 2026-10-13) - [#12322 [QM] Destination bin code is now visible and usable for the user](https://github.com/microsoft/BCApps/pull/12322) (open into main, updated 2026-10-13) - [#12760 [29.X]-Order Planning Calculate Plan Stops on Blocked Item and Does Not Process Remaining Valid Demand.](https://github.com/microsoft/BCApps/pull/12760) (open into releases/29.x, updated 2026-10-13) - [#12464 [Master]-Order Planning Calculate Plan Stops on Blocked Item and Does Not Process Remaining Valid Demand.](https://github.com/microsoft/BCApps/pull/12464) (open into main, updated 2026-10-13) - [#11222 Improve Low-Level Code Calculator performance](https://github.com/microsoft/BCApps/pull/11222) (open into main, updated 2026-10-13) - [#10575 Calculate Inventory: scope Default Dimension reads by source table](https://github.com/microsoft/BCApps/pull/10575) (open into main, updated 2026-10-13) Open issues: - [#12775 [W1][Extensibility Request][Subscription Billing] Remove local access from InitTempTable() procedure on page 8025 "Contract Price Update"](https://github.com/microsoft/BCApps/issues/12775) (2026-10-13, Team: Finance, missing-info) - [#12774 [W1][Event Request] Codeunit 8009 "Price Update Management"](https://github.com/microsoft/BCApps/issues/12774) (2026-10-13, Approved, Team: Finance, event-request, ext-ready-to-implement) - [#12771 [Event][Subscription Billing] Add extensibility event after inserting contract description lines in purchase billing documents](https://github.com/microsoft/BCApps/issues/12771) (2026-10-13, Approved, Team: Finance, event-request, ext-ready-to-implement) Releases: - [Update 29.0 for Dynamics 365 Business Central 2026 Release Wave 2](https://github.com/microsoft/BCApps/releases/tag/releases/29.0/StrictMode) (2026-10-02) - [Update 28.5 for Dynamics 365 Business Central 2026 Release Wave 1](https://github.com/microsoft/BCApps/releases/tag/releases/28.5/StrictMode) (2026-09-07) - [Update 28.4 for Dynamics 365 Business Central 2026 Release Wave 1](https://github.com/microsoft/BCApps/releases/tag/releases/28.4/StrictMode) (2026-08-07) - [Update 28.3 for Dynamics 365 Business Central 2026 Release Wave 1](https://github.com/microsoft/BCApps/releases/tag/releases/28.3/StrictMode) (2026-07-08) - [Update 28.2 for Dynamics 365 Business Central 2026 Release Wave 1](https://github.com/microsoft/BCApps/releases/tag/releases/28.2/StrictMode) (2026-06-12) - [Update 28.1 for Dynamics 365 Business Central 2026 Release Wave 1](https://github.com/microsoft/BCApps/releases/tag/releases/28.1/StrictMode) (2026-05-08) - [Update 28.0 for Dynamics 365 Business Central 2026 Release Wave 1](https://github.com/microsoft/BCApps/releases/tag/releases/28.0/StrictMode) (2026-04-01) - [Update 27.5 for Dynamics 365 Business Central 2025 Release Wave 2](https://github.com/microsoft/BCApps/releases/tag/releases/27.5/StrictMode) (2026-03-06) - [Update 27.4 for Dynamics 365 Business Central 2025 Release Wave 2](https://github.com/microsoft/BCApps/releases/tag/releases/27.4/StrictMode) (2026-02-06) - [Update 27.3 for Dynamics 365 Business Central 2025 Release Wave 2](https://github.com/microsoft/BCApps/releases/tag/releases/27.3/StrictMode) (2026-01-21) ## microsoft/AL-Go: upcoming Open pull requests (no page until merged), most recently updated first; then the newest open issues and the releases. - [#2402 Move Copilot review engine into AL-Go](https://github.com/microsoft/AL-Go/pull/2402) (open into main, draft, updated 2026-10-14) - [#2343 RunTests action](https://github.com/microsoft/AL-Go/pull/2343) (open into main, updated 2026-10-13) - [#2403 Fix dependency filenames containing commas](https://github.com/microsoft/AL-Go/pull/2403) (open into main, updated 2026-10-13) - [#2273 Improve file handling in Update AL-Go System Files](https://github.com/microsoft/AL-Go/pull/2273) (open into main, updated 2026-10-13) - [#2293 Add support for protectedSettings to override lower priority settings](https://github.com/microsoft/AL-Go/pull/2293) (open into main, updated 2026-10-12) - [#2399 Fix framework-dependent AL tool invocation on Linux](https://github.com/microsoft/AL-Go/pull/2399) (open into main, draft, updated 2026-10-08) - [#2309 Enable AL-Go for GitHub on GitHub Enterprise Cloud with data residency](https://github.com/microsoft/AL-Go/pull/2309) (open into main, updated 2026-10-07) - [#2397 Support calling AL-Go workflows as reusable workflows (workflow_call)](https://github.com/microsoft/AL-Go/pull/2397) (open into main, draft, updated 2026-10-07) - [#2385 Issue 2336 - Option to fail deployment](https://github.com/microsoft/AL-Go/pull/2385) (open into main, updated 2026-10-07) - [#2361 Fix incremental PR builds affected by baseline drift](https://github.com/microsoft/AL-Go/pull/2361) (open into main, updated 2026-10-06) - [#2265 move the BuildInitialize hook to after determine build project](https://github.com/microsoft/AL-Go/pull/2265) (open into main, updated 2026-10-05) - [#2384 Publish to AppSource failback to current version.](https://github.com/microsoft/AL-Go/pull/2384) (open into main, updated 2026-09-30) - [#2356 Add opt-in Copilot AL code review](https://github.com/microsoft/AL-Go/pull/2356) (open into main, draft, updated 2026-09-29) - [#2176 Publish to environment error preference](https://github.com/microsoft/AL-Go/pull/2176) (open into main, updated 2026-09-10) - [#2033 Hide default values from workflow dispatch input](https://github.com/microsoft/AL-Go/pull/2033) (open into main, updated 2026-08-27) - [#2216 Add Test Isolation support](https://github.com/microsoft/AL-Go/pull/2216) (open into main, updated 2026-08-26) - [#2206 [Draft] Add agentic workflow to comment on release notes PRs](https://github.com/microsoft/AL-Go/pull/2206) (open into main, draft, updated 2026-07-24) - [#2233 Preserve overwriteSettings when template project settings are merged after user repo settings](https://github.com/microsoft/AL-Go/pull/2233) (open into main, updated 2026-06-08) - [#1882 ReadSettings output JSON structured based on get input parameter.](https://github.com/microsoft/AL-Go/pull/1882) (open into main, updated 2025-09-04) Open issues: - [#2398 [Bug]: AL-Go v9.1/v9.2 splits dependency app filenames containing a comma `](https://github.com/microsoft/AL-Go/issues/2398) (2026-10-07, bug) - [#2387 [Bug]: DetermineDeploymentEnvironments ignores GitHub environments after the first 30 (no pagination)](https://github.com/microsoft/AL-Go/issues/2387) (2026-10-01, Fix Ready, bug) - [#2373 [Bug]: Incremental PR build reuses an older baseline app than the previous release](https://github.com/microsoft/AL-Go/issues/2373) (2026-09-17, bug) - [#2354 [Bug]: Build jobs are failing after upgrade to 9.2 where an installed dependency isn't being seen](https://github.com/microsoft/AL-Go/issues/2354) (2026-08-27, bug) - [#2347 [Bug]: Publish to Environment fails, but App was published successfully](https://github.com/microsoft/AL-Go/issues/2347) (2026-08-17, accepted, bug) - [#2339 [Bug]: DeliverToAppSource ignores includeDependencies and packages additional dependency apps](https://github.com/microsoft/AL-Go/issues/2339) (2026-08-05, bug) - [#2281 [Bug]: Publish to appsource - current version failback](https://github.com/microsoft/AL-Go/issues/2281) (2026-06-16, bug) - [#2244 [Bug]: Error downloading aldoc because it is not included in the artifact](https://github.com/microsoft/AL-Go/issues/2244) (2026-05-10, Workaround provided, bug) - [#2228 [Bug]: Orverwritesettings fail with custom Al-Go Template](https://github.com/microsoft/AL-Go/issues/2228) (2026-04-29, bug) - [#2218 [Bug]: installApps secret placeholder works when embedded in URL, but not when secret contains the full URL](https://github.com/microsoft/AL-Go/issues/2218) (2026-04-21, Need more info, bug) - [#2172 Feature: Global continuousDeployment setting to disable automatic CD across all environments](https://github.com/microsoft/AL-Go/issues/2172) (2026-03-18, stale) - [#2164 [Bug]: Call a locally exposed web service](https://github.com/microsoft/AL-Go/issues/2164) (2026-03-11, Unrelated to AL-Go, bug, stale) - [#2151 [Bug]: Create Release workflow violates GitHub release patterns and creates misleading user experience](https://github.com/microsoft/AL-Go/issues/2151) (2026-03-02) - [#2147 [Bug]: Publish To Environment workflow does not log user inputs and reports false success when environments are skipped](https://github.com/microsoft/AL-Go/issues/2147) (2026-02-28, stale) Releases: - [v10.0](https://github.com/microsoft/AL-Go/releases/tag/v10.0) (2026-10-09) - [v9.2](https://github.com/microsoft/AL-Go/releases/tag/v9.2) (2026-08-25) - [v9.1](https://github.com/microsoft/AL-Go/releases/tag/v9.1) (2026-07-07) - [v9.0](https://github.com/microsoft/AL-Go/releases/tag/v9.0) (2026-04-09) - [v8.3](https://github.com/microsoft/AL-Go/releases/tag/v8.3) (2026-02-25) - [v8.2](https://github.com/microsoft/AL-Go/releases/tag/v8.2) (2026-02-05) - [v8.1](https://github.com/microsoft/AL-Go/releases/tag/v8.1) (2025-12-03) - [v8.0](https://github.com/microsoft/AL-Go/releases/tag/v8.0) (2025-10-15) - [v7.3](https://github.com/microsoft/AL-Go/releases/tag/v7.3) (2025-08-29) - [v7.2](https://github.com/microsoft/AL-Go/releases/tag/v7.2) (2025-06-04) ## microsoft/BCQuality: upcoming Open pull requests (no page until merged), most recently updated first; then the newest open issues and the releases. - [#232 tools: export accepted findings reports as SARIF 2.1.0](https://github.com/microsoft/BCQuality/pull/232) (open into main, updated 2026-10-13) - [#231 al-agents-review: derive the target BC version from app.json](https://github.com/microsoft/BCQuality/pull/231) (open into main, updated 2026-10-13) - [#229 Knowledge: Community Copilot domain (System.AI features) and review skill](https://github.com/microsoft/BCQuality/pull/229) (open into main, updated 2026-10-13) - [#230 Knowledge: report layouts and dataset contract, query join and grouping defaults](https://github.com/microsoft/BCQuality/pull/230) (open into main, updated 2026-10-13) - [#228 Knowledge: isolated events, FilterGroup scope, BLOB CalcFields and stream text encoding](https://github.com/microsoft/BCQuality/pull/228) (open into main, updated 2026-10-13) - [#227 Evaluation: keep sample comments for the two articles whose rule is about comments](https://github.com/microsoft/BCQuality/pull/227) (open into main, updated 2026-10-13) - [#226 Performance knowledge: keep low-selectivity fields out of key columns](https://github.com/microsoft/BCQuality/pull/226) (open into main, updated 2026-10-10) - [#225 Performance and style knowledge: compute Role Center headlines in the background; build client links with GetUrl](https://github.com/microsoft/BCQuality/pull/225) (open into main, updated 2026-10-09) - [#223 knowledge(data-modeling): code that calculates a unit price rounds it to the currency's Unit-Amount Rounding Precision](https://github.com/microsoft/BCQuality/pull/223) (open into main, updated 2026-10-09) - [#222 Add cited knowledge consultation skill for Business Central](https://github.com/microsoft/BCQuality/pull/222) (open into main, draft, updated 2026-10-08) - [#221 Clarify when HttpClient transport errors need translation](https://github.com/microsoft/BCQuality/pull/221) (open into main, draft, updated 2026-10-08) - [#220 Normalize verified citation IDs in accepted report copies](https://github.com/microsoft/BCQuality/pull/220) (open into main, updated 2026-10-06) - [#211 knowledge(error-handling): a bare [TryFunction] call propagates its error](https://github.com/microsoft/BCQuality/pull/211) (open into main, draft, updated 2026-10-05) - [#155 Add read-only AL development plan guidance](https://github.com/microsoft/BCQuality/pull/155) (open into main, updated 2026-09-28) - [#181 Clarify restart-safe batches and scripted UI handler tests](https://github.com/microsoft/BCQuality/pull/181) (open into main, updated 2026-09-15) - [#140 knowledge(security): a guarded Text credential seam is legitimate when SecretText cannot flow end to end](https://github.com/microsoft/BCQuality/pull/140) (open into main, updated 2026-09-15) - [#141 knowledge(testing): license-entitlement failures on posted tables in a SaaS test run are environmental](https://github.com/microsoft/BCQuality/pull/141) (open into main, updated 2026-09-15) - [#121 Authoring-assist: promote to first-class tool with non-blocking PR advisory](https://github.com/microsoft/BCQuality/pull/121) (open into main, draft, updated 2026-09-15) Open issues: - [#224 [Performance] Covering-key guidance needs a counterweight: keep low-selectivity columns out of key columns](https://github.com/microsoft/BCQuality/issues/224) (2026-10-08) - [#212 security/inherent-permissions-minimal-grant: a lower-case grant with no Permissions property granted nothing](https://github.com/microsoft/BCQuality/issues/212) (2026-10-02) - [#201 Review fixtures: three samples trip sibling articles, so recall and clean rate 1.0 are out of reach for a faithful run](https://github.com/microsoft/BCQuality/issues/201) (2026-09-26) - [#200 reporting/currreport-skip-does-not-stop-trigger-code: CurrReport.Skip() does end the current trigger](https://github.com/microsoft/BCQuality/issues/200) (2026-09-26) - [#166 Clarify 20-character limit for assignable permission set names in object-name guidance](https://github.com/microsoft/BCQuality/issues/166) (2026-09-09) - [#165 Invalid Assertion](https://github.com/microsoft/BCQuality/issues/165) (2026-09-09) - [#164 Update guidance: published interfaces can also evolve via default method implementations](https://github.com/microsoft/BCQuality/issues/164) (2026-09-08, documentation) - [#107 Prise instead of Info, or as an extra type](https://github.com/microsoft/BCQuality/issues/107) (2026-07-14) - [#106 Review statistics](https://github.com/microsoft/BCQuality/issues/106) (2026-07-14) - [#104 Feedback loop](https://github.com/microsoft/BCQuality/issues/104) (2026-07-14) - [#91 This repo is missing important files](https://github.com/microsoft/BCQuality/issues/91) (2026-07-13) - [#63 microsoft/knowledge/privacy/register-integration-in-privacy-notice-registrations.md seems to be outdated](https://github.com/microsoft/BCQuality/issues/63) (2026-06-30)