⚡ Book Your Consultation
⚡ Book Your Consultation

NAV to Business Central Migration: What Actually Goes Wrong

I have been called in to rescue failing Business Central implementations more times than I can count. The pattern is always the same: a company decided to migrate from Dynamics NAV, a partner started the project, and somewhere between kickoff and go-live everything broke. Data was missing, custom logic was gone, users refused to accept the new system, or the whole thing was abandoned after six months and a large invoice. This guide is not about how to do the migration right — there is a full step-by-step guide for that. This is about what specifically goes wrong, so you can recognise it before it costs you the project.

⚠️
How common is failure? Industry studies consistently put ERP project failure rates at 50–75%. NAV-to-BC migrations have a better success rate than greenfield implementations — but "better" still means a significant percentage of projects go significantly over budget, over time, or both. The reasons are almost always the same 7 mistakes. ما مدى شيوع الفشل؟ تضع دراسات الصناعة باستمرار معدلات فشل مشاريع ERP عند 50–75%. عمليات الترحيل من NAV إلى BC لها معدل نجاح أفضل من التطبيقات الجديدة — لكن "أفضل" لا يزال يعني أن نسبة كبيرة من المشاريع تتجاوز الميزانية أو الجدول الزمني أو كليهما. الأسباب هي دائماً نفس الأخطاء السبعة.

Mistake 1 — Treating It as a Technical Upgrade, Not a Business Project

The most fundamental mistake. The IT team or ERP partner frames the migration as a technical task — move the data, rewrite the custom code, swap the platform. Business users are not engaged until UAT. By that point, they are handed a system that was designed around assumptions made without them.

NAV implementations often contain business logic embedded in customisations that nobody has documented in years. Approval workflows, pricing rules, inventory posting logic, customer discount structures — all of these were built to solve a specific business problem at a specific time. When the migration team rewrites them in AL without consulting the business, they often rewrite the wrong thing. The code is technically correct but functionally wrong, and the users who discover this during UAT (or worse, after go-live) have no confidence in the system.

✅
The fix: Assign a business project owner — not an IT person — who is accountable for the migration outcome. Run business process workshops before any development begins. Document what each customisation does in business terms. Get sign-off on the business logic before the AL code is written. الحل: عيّن مسؤول مشروع من الأعمال — وليس شخصاً من تقنية المعلومات — يكون مسؤولاً عن نتيجة الترحيل. نظّم ورش عمل لعمليات الأعمال قبل بدء أي تطوير. وثّق ما يفعله كل تخصيص من حيث الأعمال. احصل على موافقة على منطق الأعمال قبل كتابة كود AL.

Mistake 2 — Migrating All Customisations Without Evaluating Them

NAV deployments accumulate customisations over years. Some are genuinely necessary; others were workarounds for limitations that Business Central has since resolved natively. A common pattern: a NAV system has 150 custom objects, and the migration partner migrates all 150 into BC as AL extensions — because it is faster and cheaper than evaluating each one.

The result is a BC system that replicates NAV's behaviour exactly, including all of its workarounds, obsolete logic, and accumulated technical debt. Users get a more expensive system that works the same way as the one they wanted to leave. They get none of BC's native improvements because they are all covered by custom code that overrides the standard behaviour.

✗
What gets migrated blindly: Custom approval workflows that BC's native approval system now handles; custom pricing logic that BC's price list feature covers; custom report layouts that can be replaced by Power BI; integration adapters for systems that BC now connects to natively. ما يُرحَّل بشكل أعمى: سير عمل الموافقة المخصص الذي يتولاه الآن نظام الموافقة الأصلي في BC؛ منطق التسعير المخصص الذي تغطيه ميزة قائمة الأسعار في BC؛ تخطيطات التقارير المخصصة التي يمكن استبدالها بـ Power BI؛ محولات التكامل للأنظمة التي يتصل بها BC الآن بشكل أصلي.
✓
What should be done instead: Run a customisation audit before migration. For each custom object, classify it: (a) retire — BC does this natively now; (b) redesign — the requirement is valid but the implementation can be improved; (c) migrate — genuinely custom logic with no BC equivalent. Only category (c) gets migrated as-is. ما يجب فعله بدلاً من ذلك: أجرِ تدقيقاً للتخصيصات قبل الترحيل. لكل كائن مخصص، صنّفه: (أ) تقاعد — BC يفعل هذا الآن بشكل أصلي؛ (ب) إعادة تصميم — المتطلب صالح لكن التطبيق يمكن تحسينه؛ (ج) ترحيل — منطق مخصص حقيقي لا مكافئ له في BC. فقط الفئة (ج) تُرحَّل كما هي.

Mistake 3 — Poor Data Migration Planning

Data migration is consistently underestimated. Teams allocate a week for what actually takes three to four weeks when done properly. The problems compound: the source data is dirtier than anyone admitted, the target table structures in BC are different from NAV in ways that require transformation logic, and the migration runs need to be tested multiple times before the final cutover.

The most damaging scenario: a single production data migration run with no rehearsal, done the night before go-live. This is how you get a go-live that is delayed by weeks, or a live system with data integrity problems that take months to clean up.

01

Clean Data Before Migration, Not After

Audit source data quality in NAV before writing any migration scripts. Duplicate customers, inactive items with open transactions, inconsistent unit of measure codes — all of these cause migration failures or worse, silently migrate as bad data that takes months to find and fix.

02

Run at Least Three Full Migration Rehearsals

Run the complete migration process end-to-end at least three times against a copy of the production database — not a sample. Each run reveals new issues. By the third run, the process should be smooth and the cutover duration predictable to within 30 minutes.

03

Define and Test Data Validation Rules

Before go-live, define automated checks that confirm the migration succeeded: total customer count matches, open sales order value matches, inventory quantity matches. Run these checks after every migration rehearsal and after the production migration.

04

Plan for a Rollback Scenario

If the production migration reveals a critical data integrity problem at 2 AM before go-live, what happens? Define the rollback plan before you start: how long does reverting to NAV take, what is the trigger condition, and who makes the call. Not having this plan is how panicked decisions get made.

Mistake 4 — Insufficient UAT Time and Wrong Testers

User Acceptance Testing on BC migration projects is routinely compressed. The technical work took longer than planned, so UAT gets shortened from three weeks to one. The testers are often IT staff or a single "super user" rather than the actual end users who will work in the system every day.

The result is a go-live where real users encounter issues that UAT never found — not because the testers were incompetent, but because the people who actually do AP invoice entry, stock transfers, or POS end-of-day found scenarios that the UAT plan never included. These are not edge cases; they are the daily workflows that define whether the system is usable.

⚠️
The sign that UAT is being done wrong: If your UAT plan is a list of test cases that someone checks off one by one, rather than real users performing their actual daily work end-to-end, you will find the gaps at go-live instead of during testing. UAT should be performed by the same people who will use the system, doing the same tasks they do every day. علامة على أن UAT يُجرى بشكل خاطئ: إذا كانت خطة UAT الخاصة بك قائمة بحالات اختبار يتحقق منها شخص ما واحدة تلو الأخرى، بدلاً من أن يُؤدّي المستخدمون الفعليون عملهم اليومي الفعلي من البداية إلى النهاية، ستجد الثغرات عند الإطلاق بدلاً من أثناء الاختبار. يجب أن يُجرى UAT من قِبل نفس الأشخاص الذين سيستخدمون النظام، وهم يؤدّون نفس المهام التي يقومون بها كل يوم.

Mistake 5 — Underestimating C/AL to AL Complexity

Partners who have migrated a handful of small NAV systems often quote C/AL to AL rewrites as straightforward. For simple customisations, that is true. For systems with deep modifications — event subscribers, modified posting routines, custom codeunits that interact with multiple modules — the rewrite is significantly more complex than it appears.

The specific complexity that catches teams: in NAV's C/AL, modifications could directly alter base application code. In BC's AL extension model, modifications must use events and interfaces instead of directly modifying base objects. Translating complex C/AL modifications into well-designed event-driven AL code requires a developer who understands both the old pattern and the new architecture — not just one who can convert syntax.

Common Underestimation
Assumed Custom posting routine rewrite: 2 days. Direct port of C/AL logic to AL procedures. المفترض إعادة كتابة روتين النشر المخصص: يومان. نقل مباشر لمنطق C/AL إلى إجراءات AL.
Reality 1–2 weeks. Must identify all BC base events that replace the direct modification, redesign as event subscribers, test against all scenarios the original code covered. الواقع 1–2 أسابيع. يجب تحديد جميع أحداث قاعدة BC التي تستبدل التعديل المباشر، وإعادة التصميم كمشتركين في الأحداث، والاختبار مقابل جميع السيناريوهات التي غطّاها الكود الأصلي.
Hidden Complexity
Assumed Custom report migration: straightforward RDLC port. 3 days. المفترض ترحيل تقرير مخصص: نقل RDLC مباشر. 3 أيام.
Reality Complex if reports use C/AL data items or modifications that no longer exist in BC's data model. Data sources must be rebuilt, which often reveals that the original logic was poorly documented. الواقع معقد إذا كانت التقارير تستخدم عناصر بيانات C/AL أو تعديلات لم تعد موجودة في نموذج بيانات BC. يجب إعادة بناء مصادر البيانات، مما يكشف في الغالب أن المنطق الأصلي كان موثّقاً بشكل سيئ.
Third-Party Extensions
Assumed Partner will port existing NAV third-party add-ons to BC. المفترض سيقوم الشريك بنقل إضافات NAV الخارجية الحالية إلى BC.
Reality Third-party add-ons must be replaced with their BC-compatible AppSource versions, or rebuilt from scratch. Not all NAV ISV solutions have BC equivalents — this requires research before the project starts. الواقع يجب استبدال الإضافات الخارجية بإصداراتها المتوافقة مع BC من AppSource، أو إعادة بنائها من الصفر. ليس لدى جميع حلول ISV لـ NAV مكافئات في BC — وهذا يتطلب بحثاً قبل بدء المشروع.

Mistake 6 — No Parallel Running Period

Going live on BC while immediately switching off NAV is high-risk. The more financially significant the operations running through NAV (high-volume transactions, complex inventory, live integrations), the more critical it is to run both systems in parallel for at least 2–4 weeks post-go-live.

Parallel running means posting transactions in both systems and reconciling the outputs. It is operationally costly — finance teams do twice the work for a period — but it provides a real-world verification that BC is producing the same results as NAV for the same inputs. It also provides a fallback: if a critical issue is found in BC during parallel running, operations have not been disrupted.

Mistake 7 — Skipping Post-Go-Live Hypercare

The project does not end at go-live. The first 30–60 days after going live on BC are when the most issues emerge — user questions that training did not cover, edge cases in business logic that UAT missed, performance issues that only appear under real transaction volumes.

Projects where the migration partner reduces their involvement immediately after go-live consistently have worse outcomes than projects with a structured hypercare period — where the partner remains fully available for 4–6 weeks post-go-live to resolve issues within hours, not the standard support SLA of days.

📋
What hypercare should include: Daily standup with key users for the first 2 weeks; dedicated support response within 2 hours for any issue; weekly performance review comparing BC output against NAV reference data; user feedback sessions to capture adoption blockers before they become permanent habits. ما يجب أن تشمله مرحلة الرعاية المكثفة: اجتماع يومي قصير مع المستخدمين الرئيسيين لأول أسبوعين؛ استجابة دعم مخصصة خلال ساعتين لأي مشكلة؛ مراجعة أداء أسبوعية تقارن مخرجات BC مع البيانات المرجعية في NAV؛ جلسات ملاحظات المستخدمين لرصد عقبات التبنّي قبل أن تصبح عادات دائمة.

The Pattern Behind All 7 Mistakes

Every one of these mistakes has the same root cause: treating a migration as a technical event rather than a business transformation. The technology — migrating data, rewriting code, configuring BC — is the easier part. The hard part is ensuring that the business still works correctly when the platform changes, and that users trust and adopt the new system.

If you are currently in a NAV-to-BC migration project and recognise 3 or more of these patterns, the project is at risk. The earlier you identify and address them, the lower the cost of course correction. Waiting until go-live to discover that data migration was under-tested or that UAT was performed by the wrong people is how the "failed ERP implementation" stories start.

If you are evaluating a migration project and want an independent assessment of your current plan and team's approach, that is exactly the kind of diagnostic engagement I run — typically a one-day review that produces a risk-ranked list of what needs attention before the project continues.

🔍

Is Your NAV-to-BC Migration at Risk?

Book a free 45-minute call. Tell me where you are in the project — I will tell you what the highest-risk elements are based on what I typically see go wrong.

Book Free Migration Review
📖
Want the full process, not just the mistakes? Read the complete step-by-step NAV to Business Central Migration Guide — covers pre-migration assessment, data migration, AL development, UAT, and go-live planning from start to finish. هل تريد العملية الكاملة وليس فقط الأخطاء؟ اقرأ الدليل الكامل خطوة بخطوة لترحيل NAV إلى Business Central — يغطي تقييم ما قبل الترحيل وترحيل البيانات وتطوير AL وUAT وتخطيط الإطلاق من البداية إلى النهاية.
READY TO MOVE FORWARD?

Let's Talk About Your ERP.

No sales pitch. No generic demos. A real conversation about your specific situation — and what it would take to fix it.

Free 45-min discovery call
No commitment, no pitch
Response within <4 hours
150+ projects delivered · 12+ years BC & LS Central · every go-live on or ahead of schedule