Obsoleted and “no longer invoked” events in v26 Business Central
Business Central v26 removed invocation of 82 obsoleted events from the legacy invoice posting system while keeping them in the codebase for backward compatibility. Code subscribing to these non-invoked events will compile and publish but fail silently at runtime, creating a hidden risk for developers upgrading from earlier versions.

Key points
- The Extensible Invoice Posting Engine replaced the Invoice Post. Buffer system starting in v19, with v26 marking the end of the legacy events
- 82 events remain in code but are no longer invoked in v26, allowing apps to compile across versions but potentially failing at runtime
- Microsoft removed the validation check that previously prevented publishing apps subscribed to obsoleted events
- Developers should implement their own validation checks during upgrades to catch dependencies on non-invoked events before production issues occur
- Supporting multiple versions of an app across different BC releases without multiple AppSource versions creates this compatibility challenge
Quotes
- “I found 82 of such non-invoked events!” (Quantifies the scope of the problem, showing this affects numerous events across the invoice posting system)
- “Be mindful! Use DevOps and fail your build pipelines when you are using obsoleted stuff. Manage that! Continuously!” (Provides the recommended preventive approach - catching obsolete event usage early in development rather than discovering failures in production)
AL objects mentioned
As named in the post. A name that matches one object page by exact type and name links to it; the others stay as named.
- table 49 “Invoice Post. Buffer”
- interface “Invoice Posting Interface”
Not found in BC28-30: interface “Invoice Posting Interface”.
Context
- Features: Extensible Invoice Posting Engine, Event Subscribers, Feature Management, Upgrade Validation, Centralized Event Publishers
- Versions: v19, v25, v26
Source: waldo’s blog, community blog. Summary, key points and quotes are derived (CONTENT-NOTICE.md); read the original for the full text.