# AX 2012 Customization Remediation Effort Calculator

> Source: https://netray.co/tools/ax-2012-customization-remediation-effort-calculator
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Free Tools

## Short answer

Converts counts of overlayered objects, custom reports, integrations and ISV modules into hours, cost and calendar weeks for D365 Finance and Operations remediation.

## Category

microsoft-dynamics

## Erp

Microsoft Dynamics AX 2012

## Audience

- AX developer
- Project manager
- IT director

## Tool

**Kind:** calculator

**Currency:** $

**Inputs:**

#### Overlayered objects

**Key:** overlay_count

**Type:** number

**Default:** 140

**Min:** 0

**Step:** 5

**Unit:** objects

**Help:** Classes, tables, forms and other elements modified in a higher layer.

#### Hours per overlayered object

**Key:** overlay_hours

**Type:** number

**Default:** 6

**Min:** 0

**Step:** 0.5

**Unit:** hours

**Help:** Rework into extensions or event handlers.

#### Custom reports

**Key:** report_count

**Type:** number

**Default:** 45

**Min:** 0

**Step:** 1

**Unit:** reports

#### Hours per report

**Key:** report_hours

**Type:** number

**Default:** 16

**Min:** 0

**Step:** 1

**Unit:** hours

#### Integrations and interfaces

**Key:** integ_count

**Type:** number

**Default:** 12

**Min:** 0

**Step:** 1

**Unit:** interfaces

#### Hours per integration

**Key:** integ_hours

**Type:** number

**Default:** 60

**Min:** 0

**Step:** 5

**Unit:** hours

#### ISV or add-on modules

**Key:** isv_count

**Type:** number

**Default:** 8

**Min:** 0

**Step:** 1

**Unit:** modules

#### Hours per ISV replacement

**Key:** isv_hours

**Type:** number

**Default:** 40

**Min:** 0

**Step:** 5

**Unit:** hours

#### Testing and fixing uplift

**Key:** test_factor

**Type:** slider

**Default:** 35

**Min:** 0

**Max:** 100

**Step:** 1

**Unit:** %

#### Contingency

**Key:** contingency

**Type:** slider

**Default:** 20

**Min:** 0

**Max:** 60

**Step:** 1

**Unit:** %

#### Blended hourly rate

**Key:** rate

**Type:** number

**Default:** 85

**Min:** 0

**Step:** 5

**Unit:** per hour

#### Developers on the team

**Key:** team

**Type:** number

**Default:** 4

**Min:** 1

**Step:** 1

**Unit:** people

**Outputs:**

#### Development hours

**Key:** dev_hours

**Expr:** overlay_count * overlay_hours + report_count * report_hours + integ_count * integ_hours + isv_count * isv_hours

**Format:** number

#### Testing hours

**Key:** test_hours

**Expr:** dev_hours * test_factor / 100

**Format:** number

#### Total hours with contingency

**Key:** total_hours

**Expr:** (dev_hours + test_hours) * (1 + contingency / 100)

**Format:** integer

**Primary:** true

#### Estimated cost

**Key:** cost

**Expr:** total_hours * rate

**Format:** currency

**Primary:** true

#### Calendar duration

**Key:** weeks

**Expr:** total_hours / (team * 32)

**Format:** weeks

**Description:** Assumes 32 productive hours per developer per week.

**Chart:**

#### Cost vs contingency

**Type:** line

**X:** contingency

**From:** 0

**To:** 60

**Steps:** 13

**Series:**

- cost

**Disclaimer:** Hours per object vary widely. Calibrate them with a pilot on ten representative objects before committing a budget.

## Content

**Intro:** AX 2012 customisations were built by overlayering, which D365 Finance and Operations does not allow. Every modified object must be rebuilt as an extension, a new class or a retired requirement. This calculator turns an inventory into a defensible effort range.

**Sections:**

#### How to use it

**Body:** Start from a real inventory: run a best practice and layer comparison on your AX model, export object counts by layer, and count custom reports and interfaces from the business. Set hours per object from a small pilot rather than from a guess. Then adjust testing and contingency to match how well documented the code is.

**Bullets:**

- Count by layer, not by feeling
- Pilot ten objects first
- Split simple and complex objects
- Review ISV vendors for D365 versions

#### The method

**Body:** Development hours are the sum of count times hours for each category. Testing is a percentage uplift on development. Contingency multiplies the sum. Cost is hours times the blended rate, and duration is hours divided by team size times 32 productive hours per week. Retired requirements reduce counts directly, so rationalise first.

#### Common mistakes

**Body:** Teams usually under-count reports and integrations, and they forget that some customisations disappear because standard D365 now covers the need. Run the estimate twice: once for everything, once after a business review that retires unused features. The difference is often the best argument for a fit-gap workshop.

**Cta:** Netray can help scan code and layer exports to produce the object counts this calculator needs. You can use the calculator on its own.

**Faq:**

#### Why are overlays a problem for D365?

**Answer:** D365 Finance and Operations does not support modifying Microsoft code in a higher layer. Changes must be implemented through extensions, event handlers or new objects, so each overlayered element needs rework or retirement.

#### What hours per object are realistic?

**Answer:** Simple field additions can take an hour or two, while deep logic changes in core classes can take days. That spread is why a pilot on a sample set is the best way to calibrate.

#### Does this include data migration?

**Answer:** No. Data migration is a separate work stream. See the cutover window calculator in this set for volume and timing.

#### How much contingency should I add?

**Answer:** Twenty percent suits well-documented code with a pilot behind the numbers. Use thirty to fifty percent when documentation is thin or the original developers have left.

## Search terms

ax 2012 to d365 effort estimate, ax 2012 overlayering to extensions, ax 2012 code upgrade estimate, dynamics ax upgrade cost, ax 2012 customization remediation, d365 finance and operations code upgrade hours

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