Dynamics GP end of support: Business Central or open-source ERP

Dynamics GP support ends December 31, 2029, with security patches until April 30, 2031. Here is how staying on GP, moving to Business Central, or re-implementing on self-hosted Odoo or ERPNext compare, and what decides between them.

On this page

Dynamics GP end of support: what your deadline actually requires

The choice between staying on Dynamics GP, moving to Business Central, and re-implementing on self-hosted Odoo or ERPNext turns on four criteria: where your data must reside, how much control you need over hosting, what the licensing commits you to over the coming years, and how much customization your GP site carries. Self-hosted Odoo or ERPNext is one of those three paths, and it should be judged against the same criteria as the other two. Dynamics GP support ends on December 31, 2029, and security patches continue until April 30, 2031. Security patch coverage runs longer than general support, which gives you time to finish a move, but your project plan should use the earlier date as the deadline.

Start by setting the criteria in writing. Inventory the GP components the business relies on, including third-party add-ons, custom reports and integrations, and record which of them hold regulated or personal data and where that data may sit. Business Central can run online, with data stored in the Microsoft cloud, or on premises, so confirm with your compliance and security owners which deployment option your data policy allows. Then test the exit terms. Microsoft does not support creating a working on-premises Business Central environment from a BACPAC exported from the online service, so ask how you would leave a cloud subscription before you commit to one.

Whichever path you choose, the open-source options carry their own lifecycles, so treat upgrades as recurring work. Odoo supports each major version for three years, followed by two years to complete the upgrade, and Odoo 19.0 has standard support until September 2028. ERPNext version 15 is supported until the end of 2027 and version 16 until the end of 2029, and customers must be on a listed version to receive warranty coverage from Frappe. Confirm the current versions and support dates on the vendor pages before you set a cutover date, and ask any implementation partner to state in the written scope how upgrades after go-live will be handled.

What the end-of-support decision requires from you

Your exit timeline depends on dates, data and people as much as on the platform. The five cards below cover what your team must settle before comparing Business Central with self-hosted Odoo or ERPNext, from the support horizon to the owner of the cutover.

Confirm the dated support horizon

Dynamics GP support ends December 31, 2029, and security patches continue until April 30, 2031. Those dates set the latest point for a cutover that still has vendor cover, so the business case should treat the years between them as a separate risk period. Ask Microsoft in writing which GP modules, add-ons and third-party integrations fall under those dates, and confirm the terms that apply to your own agreement.

Extract data from the GP databases

GP stores company data in company databases and shared configuration in a system database, both on SQL Server. Your DBA should inventory which tables hold masters, open transactions and posted history for each company, then list custom fields, reports and add-on tables that carry business data. Agree the extraction method and sign-off for each extract before choosing a target platform, because that inventory drives the scope of the migration.

Decide how much history to carry

Odoo imports data into any business object from Excel or CSV files and recommends External IDs when importing from a third-party application, so records can keep a reference to their GP keys. ERPNext's Data Import tool also takes CSV or Excel files with child table rows, but its documentation advises importing only a few thousand records at a time, so large transaction histories become a batch planning task. Set the history cutoff with your auditors and decide which older years stay readable in a separate archive.

Match hosting to residency rules

Business Central online stores data in the Microsoft cloud, and Business Central can also run on premises, so the residency answer depends on the deployment you choose. Microsoft documents that online databases can be exported as BACPAC files only with a paid subscription, up to 10 times per month per environment, and does not support building a working on-premises environment from that export. With Odoo or ERPNext, you choose the region, data center or air-gapped network, so confirm which locations your regulators accept before the design is fixed.

Name an owner for cutover

Someone must own the cutover date, the parallel month end and the sign-off on trial balances, with authority over finance, IT and any implementation partner at the same time. Run at least one full month end in parallel and reconcile balances, open receivables and open payables before the GP period closes. Also decide who carries the platform after go-live: Odoo on-premise upgrades require an Enterprise subscription, and ERPNext warranty coverage requires a matching Frappe Cloud support plan.

Staying on GP, Business Central or self-hosted open-source ERP

Staying on Dynamics GP keeps the current SQL Server databases, Windows clients and add-ons in place, and day-to-day operations change very little. The fixed constraint is the calendar: standard support ends December 31, 2029, and security patches continue until April 30, 2031. Staying is usually a bridge, because the replacement decision and its execution still have to fit inside that window.

  • What it keeps: the existing general ledger, receivables, payables and inventory setup, the people trained on it, and the ISV add-ons your sites rely on, for as long as those vendors support the GP version you run.
  • What it changes: very little in the near term, but the support calendar becomes the driver. Each year of delay reduces the time left for data cleanup, testing and parallel month ends.
  • What bounds it: support ends December 31, 2029, and security patches end April 30, 2031. After that point, you run an unsupported ERP on infrastructure you own, and the security risk sits with your team.
  • What to confirm: with Microsoft and each ISV, which GP release and add-on versions are covered, and whether any add-on has its own end date earlier than GP's.

Check the SQL Server and Windows versions under GP against your hosting plan, and ask Microsoft and your partner in writing whether any support exists beyond those dates before you rely on it.

How each option meets the constraints, and where it falls short

This table compares where each option keeps data, how it is licensed, how long it receives support, and how data leaves it. Read the support column first if your constraint is a fixed end date, and the export column first if your constraint is exit cost. The main takeaway: Business Central and Odoo Enterprise carry vendor-set upgrade and export limits, while ERPNext and Odoo Community depend more on your own patching and upgrade discipline.

OptionWhere data lives and licensingSupport horizonExport options and main trade-offs
Dynamics GPOn premises, in your SQL Server company and system databases. Licensed under your existing Microsoft agreement; confirm terms with your partner.Support ends December 31, 2029. Security patches continue until April 30, 2031.Direct SQL Server access to company databases. Trade-off: ISV add-ons and custom reports must be re-mapped before any move.
Business CentralMicrosoft cloud when deployed online, or your own premises. Subscription per user under Microsoft licensing.Microsoft ships on six-month release waves. Confirm the version you would land on and its support window with Microsoft.Online BACPAC export needs a paid subscription, up to 10 times per month per environment. Microsoft does not support restoring it to a working on-premises environment.
Self-hosted Odoo CommunityYour servers. Code is LGPL-3.0 licensed. Community has no access to the upgrade service.Major versions get three years of standard support, but documented on-premise coverage is for Enterprise. Confirm Community patch coverage.CSV and Excel import into any business object, with External IDs for third-party data. Trade-off: every major upgrade is a project you plan and test yourselves.
Self-hosted Odoo EnterpriseYour servers, by packaged installer or source. A subscription code activates each database. Enterprise source code is not public.Standard support runs three years per major version. Paid extended support on premise covers select versions only, and security patches stop after standard support.Same CSV and Excel import. On-premise upgrade service requires an Enterprise subscription. Test the upgraded database before it goes to production.
Self-hosted ERPNextYour servers, by Docker Compose, Frappe's production images or bench. ERPNext is GPL-3.0 and Frappe Framework is MIT. Self-hosting is free per the pricing page.Version 16 is supported to end of 2029 and version 15 to end of 2027. Version 14 ended January 31, 2026. Self-hosted patches depend on staying on a listed version.Data Import for CSV or Excel, in batches of a few thousand records. Trade-off: Server Scripts are disabled by default from version 15, so custom logic needs review.

Which open-source ERP fits a GP site with add-ons and customization

The choice between self-hosted Odoo and ERPNext for a GP site turns on three questions: which edition you can license, how much custom code you need, and whether your add-ons have a replacement. On the Odoo side, the Community edition is LGPL-3.0 licensed, but the Enterprise source is not public and requires a subscription. The Odoo pricing page states that only the Custom plan can be hosted on Odoo.sh or on-premise, and that only Custom includes multi-company, Odoo Studio, external API access and custom modules. If your GP site runs multiple legal entities or depends on custom modules, confirm in writing which Odoo plan covers that set of requirements on your own servers before you compare costs. ERPNext is GPL-3.0 licensed with no paid edition for self-hosting, so the licensing question shifts to the hosting and support model you choose.

Customization is where the two platforms diverge most for a GP site. In ERPNext, Server Scripts run Python on document events or as API endpoints, but from version 15 they are disabled by default and must be enabled with the server_script_enabled setting, and Frappe Cloud public shared benches do not allow them. Any GP customization that depends on server-side logic must be re-built as a supported app or a deliberately enabled script on infrastructure you control. Confirm which version you plan to run against the Frappe supported versions page, since version 14 is already past end of life.

GP add-on ISV products are the item most often underestimated. Most third-party GP add-ons do not have a direct equivalent in Odoo or ERPNext, so each one needs a named replacement, a built-in feature, or a custom build, with its own testing and maintenance. List every add-on, its data, its users and its month-end role before you shortlist a platform. A short written inventory of add-ons, customizations and required entity structure will show whether Odoo Custom, ERPNext with a custom app, or both are needed.

How to deploy self-hosted Odoo or ERPNext under your data controls

This sequence takes a finance team from choosing a supported version to a cut over where GP history, balances and access rules sit on infrastructure the organization controls.

  1. Confirm the target version and support window

    The finance lead and the platform owner choose the Odoo or ERPNext major version before any hosting work starts. For Odoo, check the standard support end dates on the Odoo support documentation, since standard support covers the first three years after a major release and security patches are only provided during that window. For ERPNext, confirm the version appears on Frappe's supported versions page, because a version past end of life carries no Frappe warranty coverage. Record the chosen version, its support end date and the date you plan to upgrade again, since Odoo SaaS and on-premise upgrades are on a fixed cycle. Done when a signed note names the version and its end of support date, and the upgrade calendar is in the change log.

  2. Choose the hosting method and build the environment

    The platform team selects how the application runs inside your own data center or cloud account. Odoo can be installed from a packaged installer or from source, and an Enterprise subscription code is entered to activate an on-premise Enterprise database. ERPNext can run with Docker Compose using production images, through the bench command line tool, or on Frappe Cloud, which keeps hosting outside your infrastructure. Where data residency rules apply, the choice of Frappe Cloud should be treated as a third-party hosting decision and reviewed by compliance. Done when a written architecture note covers where the application server, database, backups and mail relay sit, and who holds administrator access to each.

  3. Set up database, cache and service tiers

    The infrastructure team builds the database and supporting services, then separates them into tiers. For Odoo, the database is PostgreSQL. For ERPNext, the database is MariaDB or PostgreSQL, with Redis, background workers, the scheduler and the web tier running as separate services in the Compose setup. Restrict database ports to the application network, enforce TLS for connections, and create separate accounts for application and administrative access. Note that the single-file demo setup in frappe_docker is intended for short-lived evaluation only and must not be used for the production system. Done when the staging stack starts cleanly, backups run on a schedule to a location separate from the database host, and a restore has been tested on a copy.

  4. Configure identity with LDAP or social login

    The identity team connects the ERP to the directory your staff already use, so user lifecycle and password policy stay under one control. Odoo supports LDAP authentication, and ERPNext documents LDAP integration and Social Login Key configuration for OAuth-style providers. Decide which accounts are local break-glass administrators, store their credentials in your secrets manager, and map directory groups to ERP roles before any finance user logs in. Confirm that leavers are disabled in the directory and that the ERP stops accepting their sessions. Done when a test user from each role can sign in through the directory, and a user removed from the directory is refused access in the test system.

  5. Extract GP data and prepare import files

    The data team pulls masters, open transactions and the history you have decided to keep out of the company and system SQL Server databases of Dynamics GP. Work from a read-only copy of the GP databases, not the live system. Prepare one file per object (customers, vendors, items, chart of accounts, open receivables and payables, opening balances) using the templates for the target application, and assign stable external identifiers so later loads update rather than duplicate records. Keep the raw extract in an archive location with access logging. Done when row counts for each object match the GP source and a second person has signed off the mapping of GP account segments to target accounts or accounting dimensions.

  6. Import masters in batches and test with duplicates

    The implementation team loads the prepared files into the staging system in small batches. ERPNext's Data Import tool advises importing only a few thousand records at a time, and Odoo's import tool accepts Excel and CSV files with External IDs recommended for third-party data, so both are loaded in controlled groups with error logs reviewed after each run. Keep test copies off production data: for Odoo, use database duplication with neutralization so outgoing email, payment integrations and scheduled actions are disabled in the copy. Done when each batch reconciles to its source counts and the error log is cleared or explained by the finance lead.

  7. Run parallel month end and validate trial balances

    Finance runs the close in both GP and the new system for at least one full period, using the same cut-off dates and the same source transactions. Compare trial balances, subledger totals for receivables and payables, inventory valuation and bank reconciliations line by line. Investigate every difference to a specific transaction, mapping rule or rounding treatment, and log the cause. Any scripts or custom logic added on the ERP side should be reviewed for whether it is permitted on that hosting model, since ERPNext Server Scripts are disabled by default from version 15 and Frappe Cloud public shared benches do not allow them. Done when the trial balances agree or every difference has a documented and approved explanation.

  8. Cut over and archive the GP environment

    The project owner schedules the cutover after the parallel close is accepted and the open items are re-confirmed on the production date. Freeze GP entry, run the final extract, load the delta, and reconcile the opening balances to the closing GP trial balance. Switch user access, update the backup schedule to cover the production database, and place the GP databases in read-only mode with a verified backup kept for audit retrieval. Done when the sign-off record names the cutover date, the reconciliation evidence is stored with the archive, and auditors have been told where the historical GP data is kept.

Evidence an auditor will ask for during a GP exit

A GP exit is judged on what you can show, not on what you say happened. The cards below cover the records that connect the old Dynamics GP company to the new ledger, and the access and change trail behind them. DeployOpen prepares this evidence, but independent auditors decide whether it is sufficient.

Extraction logs and row counts

Each extract from the GP SQL Server databases should have a log showing the source company, the date and time, the user or service account that ran it, and the record counts per table. Keep the logs with the files they produced. Ask whether every extract was rerun after any GP period was reopened, because a late posting that the extract missed will break the reconciliation later.

Trial balance and open item reconciliation

Show that the trial balance in the new system matches GP at the agreed cutover date, account by account, and that open receivables and payables agree to their aging reports. Record every difference and its explanation, such as a mapping choice or a rounding rule. Auditors will test the reconciliations, so sign them with a named preparer and reviewer.

User access and role mapping

Document which GP security roles and user IDs map to which roles in the target system, and who approved each mapping. Segregation of duties conflicts that existed in GP, such as one person able to enter and approve payments, should be listed and either resolved or accepted in writing. Confirm how the target system's authentication is configured, including any directory integration, before go-live.

Backup and restore test results

A backup is only evidence once a restore has been performed. Record the date of each test restore of the new production database, the restored version, and the reconciliation run against it. Keep the same discipline for the GP databases before decommissioning, so the team can prove the source data was recoverable.

Read-only GP archive

Retain a read-only copy of the GP databases and reports for the retention period your auditors and regulators require, and document where it is stored, who can access it, and how access is logged. Test that the archive can still be opened after the GP server is retired. Confirm the retention period with your records and legal owners rather than assuming a default.

Cutover change records

Keep a dated change log for every configuration, script, data load and permission change made during the cutover, with the approver for each. Note the rollback plan and whether it was exercised. Support for Dynamics GP ends December 31, 2029, and security patches end April 30, 2031, so the records should also show how the target system will be patched and upgraded after go-live.

Questions buyers ask before choosing a Dynamics GP exit path

What decides between Business Central and self-hosted Odoo or ERPNext?

The deciding factors are where the data must live, how much customization and GP add-on functionality you need to keep, and how much of the run cost you want to carry yourself. Business Central stays on Microsoft's online or on-premises deployment model and is a subscription product, so your licensing follows Microsoft's terms. Self-hosted Odoo or ERPNext runs in your own infrastructure, and the open-source core carries no per-user license fee. Odoo's Community edition is LGPLv3 and ERPNext is GPL-3.0, but features like Odoo Studio, multi-company and the upgrade service depend on Odoo's paid tiers, so confirm which features your process needs before deciding. Map your GP modules, add-ons and reporting against each option before choosing.

What are the cost drivers for each path, and what should I ask for in a quote?

Costs fall into licensing, hosting, implementation, data migration, customization, testing and internal staff time. Business Central costs recur through per-user subscriptions and any partner migration fees. Self-hosted Odoo or ERPNext has no license fee for the open-source core, so the recurring costs are your infrastructure, support and any subscriptions you choose. The ERPNext pricing page lists self-hosting as free, with Frappe Cloud shared site hosting starting at 5 US dollars per month and dedicated servers at 125 US dollars per month, as a reference if you prefer managed hosting. Ask any provider for a written scope covering modules, number of companies, data volumes, integrations, add-on replacements, testing cycles and post-go-live support, so that quotes can be compared line by line.

How long does a re-implementation take, and what drives the timeline?

No supplied source gives a standard duration, so treat any timeline as an estimate to be built from your scope. The main drivers are the number of GP companies and modules in use, how many GP add-ons must be replaced or rebuilt, how clean your masters and open transactions are, how much history you load, and how many parallel month-end cycles you run before cutover. Data extraction from the GP SQL Server databases and validation of trial balances often take longer than the configuration itself. Ask your implementation partner for a phased plan with named milestones and acceptance criteria, and check it against your fiscal calendar so cutover does not land in a close period.

What does the work require from our finance and IT teams?

Finance owns the design decisions and the acceptance tests, and IT owns the infrastructure, identity and data extraction. Finance must map GP account segments to the target structure, sign off on master data and opening balances, and run parallel month ends. IT must provision and patch the servers or containers, set up databases, backups and access controls, and connect identity sources if you use LDAP or social login. Both teams need to agree on who maintains the chart of accounts and the process owners after go-live. Ask any partner to list each client-side role and time commitment in the written scope.

Can our internal team do the re-implementation without an outside partner?

Your team can do it if it has experience with ERP configuration, SQL data extraction, Linux or container operations and a clear project owner, but most midsize teams find the migration and testing load is the constraint. Internal teams often underestimate reconciliation work, add-on replacement and the operational duties that continue after go-live, such as upgrades and backups. Odoo's upgrade documentation notes that on-premise upgrades use a tested upgraded database, so a dedicated test environment and a release calendar are needed. Assess your team's skills honestly against that list. DeployOpen plans, implements, integrates, hardens, backs up, upgrades and documents self-hosted platforms in your infrastructure under a fixed scope agreed in writing, and it offers retainers for ongoing support.

How do the security patch window and version support affect the timeline?

Microsoft's support dates for Dynamics GP set the outer limit for staying put: support ends December 31, 2029, with security patches until April 30, 2031. For the open-source options, the version you pick determines how long you have before the next forced upgrade. Odoo states that each major version gets three years of standard support, followed by two more years to finish the upgrade, and Odoo 20.0 has standard support planned until September 2029. Frappe states that version 16 is supported until the end of 2029 and version 15 until the end of 2027. Build your go-live date around a version that remains supported for several years after cutover, and plan upgrades into your operating budget from the start.

What happens to our Dynamics GP add-ons?

Third-party GP add-ons do not transfer to Odoo or ERPNext, so each one needs a replacement, a native module, a custom build or a process change. Start by inventorying every add-on, its vendor, its data tables and the reports and integrations it feeds, then rank them by business impact. Some functions may be covered by standard modules, while others will need custom development, which adds cost and test effort. Odoo's Community edition may not include every feature you need, so check the Enterprise and Custom plan features before committing. Ask the vendor of each add-on about data export and support for your current version, and keep a read-only archive of GP data for audits.

What should decide the path for your organization

The path you choose should follow from a few facts about your own organization, so start with data residency and hosting. Decide whether the ledger, customer records and payroll-adjacent data must stay in your data centers or an air-gapped network, or whether a cloud tenant is acceptable. Business Central can run online or on premises, and Odoo and ERPNext can both be self-hosted, but the hosting choice changes which options are open to you. Confirm the requirement with your compliance lead and your data protection officer before you compare vendors, and confirm with Microsoft in writing which deployment models your licence agreement covers.

Next, put recurring cost and lock-in on the same table. Ask Microsoft or a partner for the Business Central subscription per user, the migration fees and the terms for leaving the platform, and compare them with the internal and infrastructure costs of running Odoo or ERPNext yourself. Check whether you need Odoo Enterprise for features such as the upgrade service, and whether your GP add-on vendors certify their products on the target platform. Then review dependence on GP add-ons and customization depth: list every third-party product and custom report, and record whether each one has a supported replacement, a built-in equivalent or none. Count your internal capacity honestly, including who can maintain Python-based customizations and who will own upgrades after go-live. Finally, measure the time left before support ends on December 31, 2029, and mark the date when a migration would need to start to finish before that point.

How DeployOpen deploys open-source ERP for GP exits

DeployOpen plans, implements, integrates, hardens, backs up and documents self-hosted open-source ERP inside your own cloud accounts, data centers or air-gapped networks. For Dynamics GP end of support, we start with a written scope that decides between staying on GP, a Business Central path or a re-implementation on Odoo or ERPNext.

How we scope

  • Engagements are fixed-scope, with scope and deliverables agreed in writing before work starts.
  • The written scope lists GP modules in use, add-on products, company entities and reporting that must survive the move.
  • We confirm where the ERP will run, including network zones, identity integration and backup targets in your environment.
  • Ask for a scope that names which data is in scope for migration and which history stays in a read-only archive.

How we build

  • We install and configure the chosen platform in your infrastructure, using the self-hosting method your team already supports.
  • Chart of accounts, dimensions, master data and approval rules are mapped and built against your documented GP configuration.
  • Imports of customers, vendors, items and open transactions are rehearsed in test environments before any production load.
  • Trial balances and open sub-ledger totals are reconciled to GP reports at each test cycle, with differences documented.

How we hand over

  • Deliverables include configuration records, data mapping sheets, reconciliation evidence and runbooks written for your administrators.
  • Parallel month-end results and cutover checklists are documented so your finance team can sign off each step.
  • Backup, restore and upgrade procedures are tested and handed over, with the vendor's upgrade path described for your version.
  • Compliance evidence is prepared for your auditors, who issue their own reports; DeployOpen does not issue audit reports or certifications.

How we support

  • Ongoing support, upgrades and continuous testing are available as retainers after handover.
  • Upgrade planning follows the vendor's published support windows, so you know when each major version must be moved.
  • Security testing of the deployed ERP, including its integrations and APIs, can be scoped separately under the same written agreement.
  • Ask any provider to confirm in writing which versions are supported, who patches them and what your internal team still owns.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.