Development of a Localization Solution
If you want to bring the capabilities of the Dynamics 365 Business Central Core to your local market, then there are several reasons why you would want to choose Dynamics 365 Business Central:
- Easy to translate and strong base capabilities ready for localization.
- Reach more customers by showcasing your localization apps on Microsoft AppSource.
- Dynamics 365 Business Central provides a proven ERP platform and application for your localization apps which adapts functional areas to the requirements of the local market.
If you are planning to build localization apps, you should pay attention to the following considerations and requirements:
Localization apps functionality
Localization apps contain a set of functionalities addressing local requirements that fall within one of the categories below. Make sure to split up your localization apps at minimum according to these categories:
- Regulatory requirements - local functionality that helps businesses fulfill their legal requirements, such as tax reporting, local GAAP, and other regulatory requirements.
- National standards requirement – local functionality that address local standards, such as banking and payment formats, address formats, or local interpretations of global standards.
- Market requirements - nice-to-have, competitive requirements – local functionality beneficial to the productivity business processes in a country and thereby adding value to business but are not required from a regulatory perspective.
Documentation and adoption
Good and consistent tooltips and documentation will help users adopt your features fast and alleviate most of your support burden.
An important part of your localization app will be setup data for the production company that will help users get up and running quickly and with minimum effort.
Service availability in countries
If you request Dynamics 365 Business Central availability in a country in which Microsoft has not built a localization, you will get access to the international (W1) version of Dynamics 365 Business Central. The availability of this version is by demand, so by requesting access as the first partner in a country there will be a lead time of minimum 3 months for Microsoft to:
- Make Dynamics 365 Business Central offers available on the CSP pricelist for the country.
- Ensure datacenter operations.
- Build platform translation for language(s) for the desired country.
As a partner developing a localization app, you are free to decide how monetization of your apps should work. Localization apps are considered like any other apps and the market is open any partner and apps in a given country. It is up to you to build a monetization mechanism for your app - as well as mechanisms to control who uses your app. Please see this whitepaper on app monetization to learn more.
Submitting your localization app idea to AppSource
Apart from the regular app details you fill out when submitting your app idea there are a few things to emphasize in the app idea submission process for localization apps. Remember to be explicit about:
- Country/countries of usage.
- Language(s) included in app.
- Describe and categorize each local regulatory functionality included in your localization app.
- (Optionally) Mark features to be considered part of global version.
Product scope for localization apps
Apart from fulfilling the technical checklist for your app, the minimum viable product scope for localization app is:
- Local Regulatory Features.
- Tests for Local Regulatory Features.
- Upgrade code for localization apps.
- Setup data RapidStart package for the localization app.
- Translation of a localization app to local language(s) and base app if you are the first partner enabling localization for the country (Learn more about Dynamics Translation Services).
- Translation of the localization app’s documentation.
- National Standard Features (local part) are recommended to be built as additional add-on apps or connect apps – separate from the localization app.
- Market Required and Local Competitive Features are recommended to be built as additional add-on apps or connect apps – separate from the localization app.
- Using .NET assemblies in your localization app will fail in the technical validation of an app. Instead, contribute to C/AL Open Library GitHub repository with requests you have for .NET.
- It is recommended to logically break down the full local functionality set, at a minimum within the above categories. This approach provides optimal flexibility for customers to choose what they really need in terms of local functionality while making sure critical pieces of local functionality do not break upgrade processes nor are upgrade heavy.
- The majority of customers in the local market will need most of the local regulatory features. In the category of local regulatory features there will be some features that, even though they are legally required, apply to companies of a certain size, revenue threshold etc. Such situations are opportunities to further logically break down localization apps into smaller focused-functionality sets.
- Consider separating localization functionality by the frequency of changes to smaller localization apps. If, for example, your local feature contains one part that is stable and one part that is frequently changed based on regulation changes, make sure to keep the stable part as one app and the changing part a separate localization app. This approach ensures better test coverage, faster response to changes and fewer upgrade issues.
- Use worldwide frameworks available in Dynamics 365 Business Central (W1) when building features for, for example, VAT Reports, banking formats, Data Exchange, and others where the majority of functionality is common to all countries but there are some local rules or business formats that are extensions of global frameworks or formats. Make sure to familiarize yourself with such frameworks to reduce effort, reuse code, and properly utilize extensibility points and integration events. If you notice opportunities for improvements in such frameworks or missing extensibility points, make sure to contact us to work together in improving this.
- Prepare a setup data RapidStart package for the production company and translate to local language(s).
- Consider preparing a local demo data RapidStart package for the evaluation company and translate it to local language(s).
- Prepare setup guides (wizards) for areas that are complex to set up to help users enable, discover and have a good first experience using your localization app.
- Fork the Dynamics 365 Business Central documentation from public GitHub repository. Such an approach to documentation can help when other partners or ISVs take dependency on your localization app.
- Consider converting field-based documentation to task-based documentation using tooltips and Dynamics 365 Business Central documentation Github repository. Rulesets can help you ensure, for example, that no fields or actions are missing tooltips (link requires PartnerSource account).
- If your localization app(s) are extending Business Central data model with new tables and/or fields, you must set DataClassification property correctly. Localization apps with fields having DataClassification property set to ToBeClassified will be rejected. Read more on Classifying Data in Business Central here.
- If you're converting existing localization (developed in C/AL) to localization apps (check this video(requires PartnerSource access)), as described in technical checklist for your app, you'll need to set ApplicatoinArea property UI elements which you want to make visible in Business Central. To help you with that use NAVApplicationAreaHelper powershell command let to do this in bulk.
Getting started with localization apps
Choose add-on apps for localizations, when you are adding or changing functionality for the Dynamics 365 Business Central user. See the following whitepaper for getting started with developing add-on apps. It contains information about object ranges and other details that are useful for getting started with development of your app. You can request your unique object range here (requires PartnerSource access). For more information about localization apps, see Translation and Localization apps
You can also create Connect apps if you find it beneficial to have some functionality placed outside the Dynamics 365 Business Central environment and instead connect to Dynamics 365 Business Central using for example APIs or Web services.
If you have questions for building localization apps please contact the Microsoft localization team.
Also, consider joining the Ready to Go program for assistance on bringing you localization apps to AppSource.