Incorporating GST [CU17] in NAV 2016

With Microsoft releasing GST -Indian localization for Dynamics NAV, Dynamics community is all excited and jumped to work on it and so did I. Of course, the first step was to upgrade the database with GST objects. This also lead me to think about what approach to follow such that it  be simple and  effective for all the different customers those looking for upgrading to GST. Some of the customers are in latest version of NAV, while there are customers who are also on older versions for which it is highly unlikely that Microsoft is going to release an update for GST.

Those who are starting with a fresh implementation, can directly download of CU 17 (build 48067) setup and install and are ready to go. For those who are way ahead in their implementation phase with an older version of NAV or have already gone Live, will have to go through an upgrade process with GST.

Upgrading GST means to merging the changes done to objects for GST to the existing objects. Changes to GST will impact most of the areas of the product for e.g. Masters, Business logic, Screens etc and in all these area there will also be custom codes that will make the merging a little challenging. The intention of this post was to cover how to approach merging of objects in Dynamics NAV. Below approaches can be taken up for upgrading to GST.

  • Merging all the custom code to GST changes
  • Merging all the GST changes to Custom implementation
  • Mix of approach 1 and 2

While deciding upon the approach, some of considerations that will influence decisions are the effort involved, availability of Resources, time required etc. For e.g. bringing all the customer changes to GST would mean to have different upgrade strategy to each customer, while bring the GST changes to different implementation will mean having a uniform approach for upgrading process. For making these decision points that needs to considered are

  • Type of Import option i.e. Merging feature supported by Dynamics NAV
  • Objects that have been impacted by GST changes

Type of Import options (Merging features available in Dynamics NAV)

While importing the objects to Dynamics NAV, following options are available:

  1. Create: The new object will be added to the database. This option is only valid if no such object already exists.
  2. Replace: The existing object will be replaced by the new object.
  3. Merge: Existing<-New: Only valid for tables. All fields in the existing table will remain and any additional fields from the new object will be added.
  4. Merge: New<-Existing: Only valid for tables. All fields in the new table will be imported and any additional fields in the existing table will be added to the new table.
  5. There are two more “Skip” and “Delete”

Steps involved in merging objects are –

Step 1: Import the GST objects to the existing Database, which will appear as a list in Import worksheet. All new tables will have “Create” option set in field “Action” as shown in below image –

Step 2: Patch also has changes to existing standard tables and in the Import worksheet they will appear with option “Replace” in field “Action”. All those standard tables that are not modified or customized can straight away be set to “Replace” as shown in below image

Step 3: Those standard Tables that are customized, set the “Action” field with option “Merge: Existing<-New”. For e.g. in case Vendor table is customized. Go to the Vendor table line in Import worksheet and in Action field, select option “Merge: Existing<-New” as shown in below image –

Merging using Action “Merge:Existing<-New”

While merging with option “Merge:Existing<-New”, system considered are Global variables, Local C/AL function including local variables and Table properties. Similarly from New table items considered are New fields, Field properties that are different and Trigger level code on field level including local variables.

Fields are merged based on the field number. The following scenarios are possible:

  1. The field is located in the old object, but not in the new. The field will remain as it was.
  2. The field is located in the new object, but not in the old. The field will be added.
  3. The field is located in both objects. If the properties are different in the new object, these new properties will be used.

Sample Walk-through of Vendor table Merge

Below are List of new fields added as part of GST changes to Vendor table.

Field No. Field Name
16600 GST Registration No.
16609 GST Vendor Type
16610 Associated Enterprises

Changes to Existing Field

Field No. Field Name
13717 State Code

‘State Code’ field has new C/AL included in Trigger as shown in below image –

Below are steps to import GST changes to Vendor Table –

Step 1: Create a .FOB of Table 23 GST changes and Import. On importing .FOB, an error may popup as shown in below image. This is due of code existing in Triggers of New fields as well as existing fields. To resolve the error, one of the approach would be to open the object in GST Build (48067) and comment all the C/AL code existing in Trigger related to GST changes and save and compile another .FOB

Step 2: Import .FOB with Option “Merge: Existing<-New”. Merging will create all the new fields and also the triggers in the new fields. It may not bring the C/AL trigger for field “State Code” and this will have to be manually merged.

Step 3: Uncomment all the GST changes and recompile the object.

Step 4: After the Merge, it is always better to do a text compare and check what is missing and change it manually.

Objects Impacted by GST changes

Below is list of new table that are part of GST patch

Type No. Name
Table 1531 Workflow Step Argument Archive
Table 16400 GST Registration Nos.
Table 16401 GST Accounting Period
Table 16402 GST Accounting Sub Period
Table 16403 GST Claim Setoff
Table 16404 GST Group
Table 16405 GST Component
Table 16406 GST Posting Setup
Table 16407 GST Configuration
Table 16408 GST Setup
Table 16411 HSN/SAC
Table 16412 Detailed GST Entry Buffer
Table 16418 GST Ledger Entry
Table 16419 Detailed GST Ledger Entry
Table 16420 GST Posting Buffer
Table 16421 GST Calculation Buffer
Table 16422 Adv. GST Calculation Buffer
Table 16423 GST Application Buffer
Table 16424 GST Liability Line
Table 16425 Posted GST Liability Line
Table 16426 e-Commerce Merchant Id
Table 16429 GST Recon. Mapping
Table 16430 GST Reconciliation Lines
Table 16431 Periodic GSTR-2A Data
Table 16432 Posted GST Reconciliation
Table 16433 GST Reconciliation
Table 16434 GST Credit Adjustment Journal
Table 16435 Invoice Adjustment Journal
Table 16436 GST Payment Buffer

A Sample list of existing standard Tables that are modified as part of GST –

Type No. Name
Table 3 Payment Terms
Table 4 Currency
Table 5 Finance Charge Terms
Table 6 Customer Price Group
Table 8 Language
Table 9 Country/Region
Table 13 Salesperson/Purchaser
Table 14 Location
Table 15 G/L Account
Table 17 G/L Entry
Table 18 Customer
Table 21 Cust. Ledger Entry
Table 23 Vendor
Table 25 Vendor Ledger Entry
Table 27 Item
Table 32 Item Ledger Entry
Table 36 Sales Header

There is no fixed way or right way of merging objects from new releases, intention is to provide an overview of what is possible so that upgrades become very smooth affair. This is very critical as GST in India has to be implemented to most of the customers and within a given time frame. I believe this post will bridge that gap.

One Reply to “Incorporating GST [CU17] in NAV 2016”

Comment