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 addresses 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 additional countries
In countries, where Microsoft has not delivered a localization, you can apply for access to build a localization on top of the international (W1) version of Dynamics 365 Business Central. The availability of Dynamics 365 Business Central for the specific country, after submission of localization app(s) for validation, is planned with the core Microsoft team as it requires following:
- A business case and an agreement with local/regional Microsoft contacts to align on business and marketing activities related to making Dynamics 365 Business Central available in the country
- Commercial availability of Dynamics 365 Business Central offers in CSP pricelist for the country
- Azure data centre operations capacity/availability and Dynamics 365 Business Central platform translation to language(s) for the country
- Partner localization app(s) availability in AppSource
- Translated Help available from your own website, accessible from Dynamics 365 Business Central in your country
All of the points listed above must be in place to declare Dynamics 365 Business Central available in the country. To apply for access to build Dynamics 365 Business Central localization in countries, where Microsoft has not delivered a localization, fill in the Dynamics 365 Business Central Localization Request form.
Business Central companion/mobile apps availability
Even though Business Central companion/mobile apps are globally available in Microsoft Store, Apple App Store, or Google Play the respective store listing may appear in English. Once Business Central is made available in a given country, we will make sure to update the store listings using local language.
The companion apps are designed to work with every localized app even before we update the marketing part of the store listing.
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. To learn more, please see the Dynamics 365 Business Central App Monetization whitepaper.
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 the app
- Describe and categorize each local regulatory feature included in your localization app
- (Optionally) Mark features to be considered part of the 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, such as 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.
- Consider rethinking local reports by categorizing those you want to include in your localization app(s) in following categories: reports printing lists could be converted to list pages and offer more functionality using Excel addin, reports providing insights or aggregating data could be converted to Power BI reports and dashboards, frequently customized reports (usually local document reports like invoices, credit memos...) could utilize Word document layouts so customer's power users can easily customize them, for all others fall back to RDLC reports
- 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 setthe DataClassification property correctly. Localization apps with fields having the DataClassification property set to ToBeClassified will be rejected. Read more on Classifying Data in Business Central here.
- If you're converting an 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.