Using the ForNAV Converter to convert txt to AL

The new version of the ForNAV Converter now supports conversion of any C/SIDE object to an AL extension, and you can even keep your reports in RDLC format if you are not ready to migrate to ForNAV reports yet. This means that the ForNAV Converter offers you the added value of being a free, single-step tool to move from C/SIDE to Visual Studio Code development.


Normally, Microsoft prescribes that an application needs to be upgraded to Business Central before the conversion can be done. However, the downside of this is that everything needs to be compiled on Business Central before the conversion to AL. Because the C/SIDE compiler only reports one error at a time; it can be very hard to predict when an upgrade will be completed.


With the ForNAV Converter, this issue has been simplified into a one-step process where the cleanup is done in Visual Studio Code after the conversion. Working with Visual Studio Code is a huge benefit compared to C/SIDE because you get much better tools to do cross-object fixing of code, and a lot of bugs in the original code are highlighted. This is especially common in CalcFormulas where the expression is only validated in C/SIDE if it is changed and in normal installations there will be a lot of CalcFormulas with references to fields that do not exist anymore.


As well as helping you get to a known state faster, the ForNAV Converter also has a lot of advantages compared to using ConvertToNewSyntax or txt2al:

  • One-stop conversion of txt to AL from Microsoft Dynamics NAV to Business Central. (We support all NAV versions, however, variable names that are not double-quoted and overlaps with reserved names, plus some legacy properties that are not supported in 2018, will make the conversion fail.)
  • Built-in creation of table and page extensions derived from a txt baseline application.
  • The txt does not have to be imported and compiled on Business Central before the conversion. This means that cleanup can be done in Visual Studio Code in a more efficient way than doing it in C/SIDE.
  • Creation of meaningful names for UI elements that do not have a name property.
  • Dotnet references that also exist in the base app are included – but commented out.
  • Keys on table extensions are commented out because they are not supported in Business Central.
  • UsageCategorys are defined based on Menusuites.
  • The Application Area is set to basic if not defined on a UI element.
  • Codeunit delta files are converted to an .al skeleton.
  • Codeunit 1 events are mapped automatically.

You do not need a ForNAV license to convert from txt to AL with the ForNAV Converter; it is free to use.

Use the ForNAV Converter to convert from txt to AL

To convert from txt to AL, producing the AL source code, translation files, and layouts based on a txt input file:

  1. In the Tabledefinition file name, web service or app file field, enter the path to the Visual Studio Code app files with the *.app file filter.
  2. In the Input file field, enter the path to the input txt file or use wildcards to select more txt files.
  3. In the Output file field, enter the path to the output AL file (if you have selected the Split output to one file per object check box on the Advanced tab, only the folder name is used.)
  4. In the NAV Compatibility field, click Business Central Cloud (AL-extension).
  5. To convert your reports to ForNAV, select the Convert RDLC reports to ForNAV reports check box. Leave this check box blank if you want to keep the reports as RDLC.

    Processing-only reports are not converted to ForNAV reports.


On the Advanced tab, there are additional options:

  1. To generate a file per object, select the Split output to one file per object check box. This is recommended to get a better overview in the source code when working in Visual Studio Code.
  2. In the Application baseline objects field, you can enter a txt baseline app. This results in the creation of delta files for pages and tables.
  3. Select the Use alternative naming of control check box to create more readable names for UI elements, where a name has not been defined.  This is recommended because standard Microsoft naming is based on Source expression and CaptionML, which can be incomprehensive to use as names.

Any questions or feedback? Simply write an email to