Disclaimer: This concerns both the code for the app (& test app, demo app) and the documentation on Microsoft Learn.
GitHub: https://github.com/microsoft/ALAppExtensions/tree/main/Apps/W1/SubscriptionBilling
Microsoft Learn: https://learn.microsoft.com/en-us/dynamics365/business-central/srb/welcome
The documentation refers to "Service Commitments", while in Business Central, the corresponding page is called "Subscription Lines", which is part of the "Subscription" page. However, the documentation calls this "Service Object".
These naming inconsistencies are present throughout the Subscription Billing app, demo app, and test app. They can be highly confusing when analyzing the code and comparing it with Microsoft Learn documentation.
Example improvements / expectations:
- SalesServiceCommitment: Record "Sales Subscription Line" ā SalesSubscriptionLine: Record "Sales Subscription Line"
- local procedure AddServiceCommitment ā local procedure AddSubscriptionLine
It's also crucial to handle potential breaking changes properly. There are likely events, object names, public procedures and other externally available symbols using the inconsistent naming, which would need review before changes.
In addition to the user confusion, consistent terminology is also important for code readability and maintainability. Clear and uniform naming helps developers better understand, debug, and extend the solution.
Furthermore, Iād recommend re-evaluating the use of the term "Service", as it could easily be confused with the Service module in Business Central.
