# Dynamics NAV to Business Central On-Prem Upgrade Effort Calculator

> Source: https://netray.co/tools/dynamics-nav-to-business-central-code-upgrade-effort-calculator
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Free Tools

## Short answer

Count your modified and new objects, set per-object hours, and see code, data, test and total effort for the NAV to BC14 to v25 to current upgrade path.

## Category

microsoft-dynamics

## Erp

Microsoft Dynamics NAV

## Audience

- NAV developer
- IT manager
- Business Central partner

## Tool

**Kind:** calculator

**Inputs:**

#### Modified standard tables

**Key:** modified_tables

**Type:** number

**Default:** 40

**Min:** 0

**Step:** 1

**Unit:** objects

#### New custom tables

**Key:** new_tables

**Type:** number

**Default:** 15

**Min:** 0

**Step:** 1

**Unit:** objects

#### Modified standard pages

**Key:** modified_pages

**Type:** number

**Default:** 60

**Min:** 0

**Step:** 1

**Unit:** objects

#### New custom pages

**Key:** new_pages

**Type:** number

**Default:** 25

**Min:** 0

**Step:** 1

**Unit:** objects

#### Modified standard codeunits

**Key:** modified_codeunits

**Type:** number

**Default:** 30

**Min:** 0

**Step:** 1

**Unit:** objects

#### New custom codeunits

**Key:** new_codeunits

**Type:** number

**Default:** 12

**Min:** 0

**Step:** 1

**Unit:** objects

#### Custom or modified reports (RDLC/Word layouts)

**Key:** reports_custom

**Type:** number

**Default:** 35

**Min:** 0

**Step:** 1

**Unit:** reports

#### XMLports and converted dataports

**Key:** dataports_xmlports

**Type:** number

**Default:** 8

**Min:** 0

**Step:** 1

**Unit:** objects

#### Hours per modified object

**Key:** hours_per_modified_object

**Type:** number

**Default:** 4

**Min:** 0

**Step:** 0.5

**Unit:** hours

**Help:** Rule of thumb: move the change into an event subscriber or table/page extension and retest

#### Hours per new object

**Key:** hours_per_new_object

**Type:** number

**Default:** 1.5

**Min:** 0

**Step:** 0.5

**Unit:** hours

**Help:** Txt2Al conversion and compile fixes for objects you own

#### Hours per report

**Key:** hours_per_report

**Type:** number

**Default:** 3

**Min:** 0

**Step:** 0.5

**Unit:** hours

#### Companies

**Key:** companies

**Type:** number

**Default:** 3

**Min:** 1

**Step:** 1

#### Data upgrade hours per company

**Key:** data_upgrade_hours_per_company

**Type:** number

**Default:** 16

**Min:** 0

**Step:** 1

**Unit:** hours

**Help:** Upgrade code, test runs and fixes for one company over a two-hop run

#### Testing effort

**Key:** test_pct

**Type:** slider

**Default:** 35

**Min:** 20

**Max:** 60

**Step:** 5

**Unit:** %

#### Starting point

**Key:** hop_count

**Type:** select

**Default:** 3

**Options:**

##### NAV 2015-2018: v14, v25, current (3 hops)

**Value:** 3

##### BC14 to BC24: v25, current (2 hops)

**Value:** 2

**Outputs:**

#### Objects and reports in scope

**Key:** objects_total

**Expr:** modified_tables + new_tables + modified_pages + new_pages + modified_codeunits + new_codeunits + reports_custom + dataports_xmlports

**Format:** integer

#### Code conversion hours

**Key:** code_hours

**Expr:** (modified_tables + modified_pages + modified_codeunits) * hours_per_modified_object + (new_tables + new_pages + new_codeunits) * hours_per_new_object + reports_custom * hours_per_report + dataports_xmlports * hours_per_modified_object

**Format:** hours

#### Data upgrade hours

**Key:** data_hours

**Expr:** companies * data_upgrade_hours_per_company * hop_count * 0.5

**Format:** hours

**Description:** Base hours cover a two-hop run; each extra hop adds half again

#### Testing hours

**Key:** test_hours

**Expr:** (code_hours + data_hours) * test_pct / 100

**Format:** hours

#### Total effort

**Key:** total_hours

**Expr:** code_hours + data_hours + test_hours

**Format:** hours

**Primary:** true

#### Duration at 35 hours per week (one person)

**Key:** total_weeks

**Expr:** total_hours / 35

**Format:** weeks

**Chart:**

#### Total hours vs hours per modified object

**Type:** line

**X:** hours_per_modified_object

**From:** 1

**To:** 10

**Steps:** 10

**Series:**

- total_hours

**Disclaimer:** Per-object hours are rules of thumb from partner practice, not Microsoft figures. Replace them with your own after converting a sample of objects.

## Content

**Intro:** This calculator estimates the effort to take a customised Dynamics NAV 2015 to 2018 system to Business Central on-premises, where C/AL modifications must become AL extensions and data must pass through BC14 and v25. Enter your object counts and per-object hours and read code, data, test and total hours.

**Sections:**

#### The upgrade path this models

**Body:** Microsoft's supported path from NAV 2015, 2016, 2017 or 2018 to current Business Central on-premises is indirect. You first do a technical upgrade to Business Central Spring 2019 (v14), the last version that runs C/AL. From there the application must be converted to AL: export objects as text, convert them with the Txt2Al tool, and move modifications to standard objects into extensions. Starting with 2025 release wave 1 (v26), v14 cannot upgrade directly to the latest release, so data goes v14 to 2024 release wave 2 (v25) to the target, for example v29. Each hop is a separate data upgrade run.

**Bullets:**

- NAV 2015-2018: v14, then v25, then current (3 hops)
- BC14 to BC24: v25, then current (2 hops)
- BC v25 and later: direct to current

#### How the formula works

**Body:** Code hours = (modified tables + pages + codeunits) x hours per modified object + (new tables + pages + codeunits) x hours per new object + reports x hours per report + XMLports x hours per modified object. Modified standard objects cost more because the change must be redesigned as an event subscriber, table extension or page extension; new objects mostly convert with Txt2Al and need compile fixes. Data hours = companies x hours per company x hops x 0.5, so the default per-company figure represents a two-hop run and a third hop adds half. Testing is a percentage of code plus data. Weeks assume one person at 35 hours.

#### Worked example

**Body:** With the defaults, 130 modified objects at 4 hours give 520 hours, 52 new objects at 1.5 hours give 78, 35 reports at 3 hours give 105 and 8 XMLports give 32, so code is 735 hours. Three companies at 16 hours over 3 hops give 72 data hours. Testing at 35 percent of 807 adds about 282, for a total near 1,089 hours, roughly 31 person-weeks. Move hours per modified object from 4 to 6 and the total rises by about 370 hours (138 objects x 2 hours plus 35 percent testing), which is why measuring a sample first matters.

#### Gotchas

**Body:** Object counts from the NAV object designer include objects you modified only slightly; filter by Modified and review version tags to count realistically. Code that edits standard posting codeunits is the most expensive to move, because it needs an event or a redesign. Dataports from older versions must already be XMLports by NAV 2013. Licence changes matter too: confirm your licence covers BC on-premises before you plan the timeline. Run at least one full test upgrade of the largest company to time the data hops.

**Cta:** If you want users to query NAV or the upgraded Business Central in plain English on your own servers during and after the move, we can set that up.

**Faq:**

#### Can I upgrade NAV 2016 directly to the latest Business Central?

**Answer:** No. Microsoft's upgrade paths require NAV 2016 to go to Business Central Spring 2019 (v14) first, then to 2024 release wave 2 (v25), then to the target release. The path also requires converting the application from C/AL to AL, which is where most of the effort sits.

#### How long does a NAV 2018 to Business Central upgrade take?

**Answer:** It depends mainly on how many standard objects were modified. A lightly customised system may take a few hundred hours; a heavily modified one can take well over a thousand. Use this calculator with your object counts, then convert a sample of objects to replace the default hours with your own.

#### What is Txt2Al?

**Answer:** Txt2Al is Microsoft's command-line converter that turns C/AL objects exported as text from the NAV or BC14 development environment into AL files. It handles syntax conversion; it does not turn modifications of standard objects into extensions, which a developer has to redesign.

#### What is the difference between Dynamics NAV and Business Central?

**Answer:** Business Central is the successor to NAV. From v15 it uses AL and extensions only, with no C/AL, and runs in the web client. It is available as Microsoft-hosted SaaS or on-premises. NAV versions use C/AL and the Windows client, and customisations change standard objects directly.

## Search terms

upgrade dynamics nav to business central, upgrade dynamics nav 2016 to business central, upgrade dynamics nav 2018 to business central, dynamics nav vs business central, nav to bc upgrade cost, c/al to al conversion effort, txt2al conversion

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
