Business Central cost vs self-hosted Odoo or ERPNext

Business Central charges per user and adds partner services, while self-hosted Odoo or ERPNext moves the cost into infrastructure, implementation, upgrades and internal skills. This page shows which components move and how to model them with your own numbers.

On this page

Where does Business Central cost more or less than self-hosted Odoo or ERPNext?

Self-hosting removes the per-user subscription, but it adds infrastructure, implementation, migration and upkeep. Business Central is licensed per user, and the Microsoft or partner quote you receive sets that recurring line. Self-hosted ERPNext carries no license fee, since the GPL-3.0 software is free to install and run, and the ERPNext pricing page states that self-hosting is free. Odoo Community is also free to self-host under LGPLv3. Odoo Enterprise is not: it requires a paid subscription, and that subscription is what unlocks the features and upgrade service most mid-sized buyers expect. The net result depends on your user count, which editions and apps you need, partner day rates, and how much of the work your own staff can carry.

Hosting is the first component to price. ERPNext on Frappe Cloud starts at 5 US dollars per month for shared sites and 20 US dollars per month for shared servers, according to the ERPNext pricing page, while dedicated servers start at 125 US dollars per month. If you run your own servers or cloud accounts, the recurring cost is your infrastructure, backups, monitoring and the staff who patch them. Business Central online hosting is included in the subscription, but Business Central on premises shifts server, SQL Server and upgrade work onto you. Ask your Microsoft partner to split the Business Central quote into licenses, hosting and implementation so you can compare line by line.

The largest one-time costs usually sit in migration and customization, not in licensing. Ask each implementer for a fixed-scope quote covering data extraction, mapping of the chart of accounts and posting groups, the import of ledgers, items and customers, and the rebuild of any AL extensions as Odoo Python modules or Frappe apps and server scripts. Confirm whether your partner rates include testing and cutover. Odoo's upgrade service requires an Enterprise subscription for on-premise use, and Odoo's standard support covers three years per major release, so budget for a recurring upgrade cycle. Ask for the annual cost of that cycle, your internal skills plan and a named owner for security patches before you compare totals.

Which cost components move between Business Central and self-hosted open source

This table sets each cost component of Business Central against its counterpart in self-hosted Odoo or ERPNext, showing whether it is one-time or recurring and who gets paid. Use it to build your own comparison from your quote, your environment and your internal staffing, since Business Central prices are not published here. The main takeaway is that the license line is only one part of the total, and hosting, upgrades and extension rework often decide the outcome.

Cost componentBusiness Central (Microsoft and partners)Self-hosted Odoo or ERPNext
Software licenseRecurring per-user subscription to Microsoft, billed through the partner or Microsoft; confirm plan mix in your quoteOdoo Community or ERPNext has no license fee; Odoo Enterprise is a recurring per-user subscription to Odoo, see Odoo's pricing page for plan structure
Hosting and infrastructureRecurring. Online is Microsoft-hosted; on premises means your servers, SQL Server, backups and patchingRecurring cloud or data center costs paid to your infrastructure provider. Frappe Cloud is an optional paid host, so confirm whether you need it
ImplementationOne-time fees paid to a Microsoft partner for setup, configuration and data load, quoted from the written scopeOne-time fees paid to an implementation partner or your internal team; ERPNext implementation is available through certified partners
Data migrationOne-time. Partner effort to extract data, for example from a BACPAC export, and map dimensions, posting groups and the chart of accountsOne-time. Mapping to Odoo External IDs or ERPNext Data Import templates; cost rises with data volume and history depth
Customization and extensionsOne-time build plus recurring rework, because AL extensions must be retested and adapted at each release waveOne-time build in Odoo Python modules or Frappe apps and server scripts; ongoing maintenance paid to whoever owns the code
Upgrades and release currencyRecurring. Business Central on premises must stay current to remain supported, so each wave needs partner or internal testingRecurring but schedulable. Odoo's standard support covers three years per major version; ERPNext's supported versions are listed on Frappe's policy page
Support and warrantyRecurring, through your Microsoft partner's support agreement; confirm response terms in writingRecurring if you buy it. Odoo Enterprise or a Frappe Cloud support plan carries vendor warranty; community support is free but carries no SLA
Internal skills and staff timeRecurring. Administrators and functional consultants with AL or Power Platform familiarity, plus time for each releaseRecurring. Staff with Python, PostgreSQL or MariaDB, and Linux or Docker operations; often the largest hidden cost if skills are absent

What moves the Business Central and open-source comparison

Five factors decide whether the comparison favors Business Central or a self-hosted Odoo or ERPNext deployment. Most of them change the recurring cost, and a few change whether the open-source route is viable at all.

User count and premium functions

Business Central is licensed per user, so headcount and the number of people who need premium functions set the recurring license line. Manufacturing and other premium areas push users onto higher plans, which raises the total faster than headcount alone. On the Odoo side, check which users need Enterprise features, because Odoo's pricing is also per user per month. Count named users by function before comparing any plan list, and ask your partner to price each role separately.

Odoo edition for multi-company and integration

Multi-company, Odoo Studio, external API access and custom modules are included only in Odoo's Custom plan, according to Odoo's pricing page. Hosting on Odoo.sh or on premises is also limited to that plan. If your group needs several legal entities or an integration layer through the API, that requirement moves the Odoo quote from a self-serve price to a negotiated one. Confirm the exact edition and its per-user price in writing before you compare totals.

Data volume and import method

The ERPNext Data Import tool handles CSV and Excel files, and its documentation advises importing only a few thousand records at a time. Large historical ledgers, item masters and transaction histories therefore require scripted batches, staging and reconciliation, which is labor you pay for once. Odoo's import also accepts Excel and CSV and recommends External IDs for third-party data. Estimate record counts by object before you ask a partner for a migration quote, since volume drives migration effort more than license fees.

Availability and hosting responsibility

Business Central online carries Microsoft's hosting and availability, while a self-hosted Odoo or ERPNext moves uptime, backups, patching and failover onto your infrastructure team or your managed service provider. Set the required recovery and uptime targets first, then price the on-call rota, redundant database and backup tooling needed to meet them. Ask the partner which environments, including staging and disaster recovery, are part of the quote and which are your responsibility after go-live.

In-house Python and Frappe skills

Odoo customization is written in Python modules, and ERPNext customization uses Frappe apps, with server scripts available for simpler logic. Since version 15, Frappe server scripts are disabled by default and need the server_script_enabled setting, and Frappe Cloud public shared benches do not allow them. If your team already writes AL extensions, expect a skills gap and budget for training or a partner. Without in-house developers, the recurring cost of customization and upgrade fixes will sit with an external provider.

How Odoo Enterprise and Community change the license line

The first cost question for Odoo is which edition you actually need, because the two editions carry different license terms. Odoo Community is licensed under LGPL-3.0, and its source is on GitHub. Odoo Enterprise is a paid edition built on Community, with additional features and support, and its source code is not publicly available. Using Enterprise requires a subscription or partner access. Odoo's own editions page describes Enterprise as adding features such as Odoo Studio, functional support, version upgrades and Odoo Online or Odoo.sh hosting, so the license line falls between features you can self-host for free and features you pay for per user.

Hosting choice narrows the options further. According to Odoo's pricing page, only the Custom plan can be hosted on Odoo.sh or on-premise, and only the Custom plan includes multi-company, Odoo Studio, external API access and custom modules. If your plan depends on any of these, the on-premise line on your quote is a Custom-plan line. On-premise Enterprise also needs a subscription to use the Odoo upgrade documentation upgrade service, and the Community edition has no access to that service. Confirm with Odoo which features, hosting option and upgrade access your organization needs, and ask for the per-user price at that exact tier.

ERPNext takes a different position on the license line. It is GPL-3.0 licensed, and the ERPNext pricing page states that self-hosting is free. The cost you carry instead is infrastructure, operations and support you buy from a partner or from Frappe Cloud. Before you compare totals, list the Odoo features your business depends on, mark which ones sit in Enterprise or Custom, and map each ERPNext module to its equivalent. Then ask each vendor or partner to quote the same scope, including the upgrade path your supported version will need.

How to build the cost comparison with your own numbers

This sequence turns a list of users and modules into a five-year cost model in which every line traces to a written quote, an invoice or your own environment. Use it to compare Business Central against self-hosted Odoo or ERPNext on the same basis.

  1. List users and roles before pricing anything

    Start by exporting a list of everyone who logs into the current ERP, grouped by role: finance, purchasing, sales, warehouse, manufacturing, service, executives and read-only reporting users. Mark which people create or post transactions and which only view data, because Business Central licensing and Odoo plan limits both depend on how users are classified. Confirm the classification rules with the vendor in writing, since the role categories differ between platforms. The step is done when every active account sits in one role, with a count per role and a note on any shared or service accounts.

  2. Map required modules to each platform's plans and apps

    Write down every process the business runs on the ERP, such as general ledger, receivables, payables, inventory, manufacturing, service management and reporting. For Business Central, match each process to the plan that includes it, and ask the Microsoft partner to confirm which plan covers manufacturing and service features. For Odoo, list the applications and the edition needed, and for ERPNext, list the modules and any Frappe apps. The output is one matrix with processes in rows and the licensed plan or app in columns, marked as included, add-on or not available. Items marked not available become gaps to resolve during the scoping stage.

  3. Price the Business Central subscription from a written quote

    Request a written quote from a Microsoft partner that lists each user type, the plan per user, the number of users per plan, the deployment model (online or on premises), and any environments such as production, sandbox or test. Ask the partner to state which costs are fixed and which change with headcount, and whether the quote includes Microsoft's per-user fees or only the partner's services. Record the monthly and annual totals in your model with the quote date and a reference number. The step is done when the subscription line can be traced to a document you can show an auditor or a board member.

  4. Estimate hosting from a chosen topology

    Choose a hosting model for each candidate: Business Central online carries Microsoft's cloud cost inside the subscription, while self-hosted Odoo or ERPNext needs servers, database, backup storage, network and monitoring in your own cloud or data center. For ERPNext, compare a Frappe Cloud plan, with pricing on the ERPNext pricing page, against a Docker Compose or bench deployment in your own environment. Ask your infrastructure team or a hosting partner for quotes based on that topology, including production, staging and test copies. The output is a hosting line item per year with its assumptions, such as instance sizes, storage and backup retention, written down.

  5. Add implementation and migration as one-time items

    List every one-time cost separately: discovery, data extraction, mapping and cleansing, configuration, rebuilding customizations, testing, user training, cutover and parallel running. Ask each implementation partner for a fixed-scope written proposal with deliverables, because scope drives the figure more than the platform does. For Business Central, include the cost of exporting data under Microsoft's BACPAC limits and of rebuilding AL extensions. For Odoo or ERPNext, include import work using the platform's import tools, which advise working in batches, and any Python or Frappe customizations. Mark each item as one-time so it is not repeated in the recurring totals.

  6. Add upgrades, support and licensing as recurring items

    Record the recurring costs that follow the platform for the full horizon: subscriptions, hosting, backup storage, monitoring, security patching, upgrade projects and support contracts. Business Central upgrades arrive on Microsoft's release waves, so budget for regression testing and extension updates on that cadence. For Odoo, check which support tier applies to your version and deployment, since the standard support period and the extended support options differ, and confirm the Enterprise subscription fees if you run the Enterprise edition. For ERPNext, confirm which versions are currently supported and whether you want a Frappe support plan. Ask each vendor or partner to state renewal and price-change terms in writing.

  7. Run a five-year view and test the sensitivity

    Combine the one-time and recurring items into a five-year table, with one column per platform and one row per cost component, and show both the total and the annual cost. Then vary the inputs that move the result most, such as user count, growth in users, the number of upgrade cycles and the hosting size, and record how each change affects the totals. Label any scenario you create as illustrative and do not present it as a forecast. The output is a model in which every figure links to a quote, invoice or internal estimate, reviewed by finance and IT before any decision is made.

How hosting choices change the infrastructure line

With Business Central online, Microsoft runs the service and stores the data in the Microsoft cloud, so the infrastructure line is mostly folded into the per-user subscription. Your organization still pays for the surrounding work: administration, access reviews, and any integration hosting you add. Data leaves the tenant only through the tools Microsoft provides, and those tools have limits you should plan around.

  • Included hosting: Servers, database operations and platform patching sit inside the subscription, so there is no separate hosting bill for the ERP itself.
  • BACPAC exports: Database exports to an Azure standard storage account are available only with a paid subscription and up to 10 times per month per environment, according to Microsoft Learn.
  • Azure storage you pay for: The export target is an Azure storage account, which you own and pay for separately.
  • No return to on-premises: Microsoft does not support creating a working on-premises environment from a BACPAC exported from the online service.
  • Exit planning: Any migration out of the online service depends on the export schedule and the SQL work needed to read the file.

Ask your Microsoft partner to confirm the export frequency and storage terms in your tenant before you plan a cutover.

Common questions about Business Central and open-source ERP cost

How much effort does a migration from Business Central to Odoo or ERPNext usually take?

Effort depends mostly on how much data, customization and process change you carry across, not on the target platform alone. Start by counting the companies, legal entities, chart of accounts structures, dimensions, posting groups, open items and custom AL extensions that must be rebuilt. Data loading is usually the smaller share of the work than mapping and testing. No fixed duration is given here because none is supported by a researched source. Ask any provider for a written scope that lists data objects, extensions, integrations, test cycles and cutover steps before agreeing to a timeline.

Can our internal team run a self-hosted Odoo or ERPNext system without outside help?

Some teams can, but the answer depends on skills you already have. Running Odoo on premise needs Python, PostgreSQL and upgrade testing skills, and Enterprise use requires a subscription code. ERPNext can be installed with Docker Compose or the bench command line tool, and its production images use MariaDB, Redis, workers, a scheduler and Nginx. Someone must own backups, patching, minor releases every few weeks or months, major version upgrades and access control. If that roster is thin, a retainer for ongoing support and upgrades is often the realistic option.

What drives the implementation cost of an open-source ERP project?

Implementation cost is driven by scope rather than license fees, because Odoo Community and ERPNext are free to self-host. The main drivers are the number of modules in use, the depth of process redesign, the volume and quality of source data, the number of integrations with banks, payroll or e-commerce, and how many AL extensions must be rebuilt as Python modules or Frappe apps. Costs also rise with the number of test cycles and user training. Ask for a quote that prices each of these items separately so you can cut scope where it makes sense.

How do major upgrades recur on Odoo compared with ERPNext?

Odoo major versions receive standard support for three years, followed by two more years to complete the upgrade. On Odoo Online and Odoo.sh, major version upgrades are mandatory every two years, and minor versions arrive about every two months. For ERPNext, version 15 is supported until the end of 2027 and version 16 until the end of 2029, and both receive frequent minor releases. Self-hosted ERPNext lets you choose when to move to a supported version, but you must stay on a listed version to keep Frappe warranty coverage through a matching support plan. Budget upgrade testing as a recurring cost on either platform.

Does the Business Central BACPAC export limit block a migration?

The export limit does not block a migration on its own, but it affects planning. Business Central online databases can be exported as BACPAC files to Azure standard storage only with a paid subscription, and up to 10 times per month per environment. Microsoft does not support creating a working on-premises Business Central environment from that BACPAC. For a migration, you need an export to load into SQL Server for data extraction, so schedule exports early and plan test extracts around the monthly cap. Confirm the current rules in Microsoft's documentation before you rely on them.

What should a fixed-scope quote for an ERP migration contain?

A fixed-scope quote should state the scope, deliverables and timeline in writing before work starts. Ask for the modules and entities in scope, the data objects to migrate with their source and target mapping, the customizations to rebuild, the integrations, the testing and acceptance criteria, the cutover plan and the rollback approach. It should also list what is excluded, who supplies the infrastructure, what training is included and the terms for post-go-live support. DeployOpen works from a written scope of this kind and does not publish a price list, so a quote follows from that scope.

What does Business Central cost compared with self-hosting Odoo or ERPNext?

The comparison is by component: Business Central charges per-user plans from Microsoft and partners, while self-hosted Odoo Community and ERPNext carry no software license fee. Self-hosting still costs infrastructure, backups, monitoring, upgrade testing, customization and support. Odoo Enterprise and Odoo Online or Odoo.sh add subscription costs, and ERPNext hosting on Frappe Cloud starts at 5 US dollars per month for shared site hosting according to the ERPNext pricing page. Build a multi-year model with each component listed, and compare it with your current Business Central plan costs and partner fees.

Costs teams forget on each side

Licence fees are the line item most teams compare first, and they are rarely the largest. The costs that surprise buyers sit on both sides: rework and upgrades on the Business Central side, and operations, testing and support on the self-hosted side. Each card below names one of these items and says how to confirm its size in your own environment.

Partner rates for AL rework

Business Central extensions written in AL must be reworked when Microsoft's release waves change the platform, and most small and midsize customers pay a partner to do that work. Partner rates are set per partner, not by Microsoft, so the cost recurs with every wave you adopt. Ask each partner for a fixed-scope estimate covering your installed extensions, the test cycle, and who signs off the upgrade.

Premium plan upgrades

Users who need manufacturing or deeper functions may have to move from the Essentials plan to the Premium plan, and that change is a recurring per-user cost that grows with headcount. Review the user list each renewal, because role-based licences are easy to under-count. Confirm current plan contents and per-user prices with Microsoft or your licence reseller before comparing totals.

Forced update testing

Business Central receives scheduled platform updates, and each one needs regression testing of your extensions, integrations and reports before it reaches production. That testing time is usually staff or partner time, and it repeats on every wave. Ask whether your extension set has automated tests and who owns the test environment that receives each preview.

Backups and restore testing

On the self-hosted side, you own backups for the PostgreSQL or MariaDB database, file attachments and configuration. A backup that has never been restored does not protect the ledger. Budget for storage, off-site copies and a scheduled restore test, and confirm the database engine and backup tooling your chosen platform documents.

Monitoring and security patching

Someone must watch the servers, the application, the scheduler and the background workers, and apply security fixes promptly. Odoo says security patches are provided only during standard support, which makes a supported version a condition of patching, not a courtesy. Confirm which versions are in support on the date you plan to go live and who is on call for them.

Test environments and staff release notes

A self-hosted ERP needs a staging copy that mirrors production before each upgrade or module change, plus staff time to read release notes and decide what affects your processes. Odoo's upgrade guidance recommends testing an upgraded test database before production. Ask your implementer how the test copy is refreshed and who records the findings.

Frappe Cloud support plan for warranty

ERPNext self-hosting is free, but Frappe's supported versions policy ties warranty coverage to running a listed version and holding a matching Frappe Cloud support plan. If you self-host and still want Frappe's warranty, that plan is a recurring cost to add to your model. Confirm with Frappe which support terms apply to your deployment before you assume the warranty exists.

What a migration adds to the first-year cost

Migration is usually the largest single line in the first year, and it is one-time. It covers extracting data from Business Central, mapping the chart of accounts and dimensions to the target model, loading records into Odoo or ERPNext, rebuilding customizations and testing the result before cutover. Each of these is a separate piece of work with its own owner, so ask for them as separate line items in any quote rather than a single migration figure. The extraction route decides much of the rest, so settle it early. A Business Central online database can be exported as a BACPAC file to an Azure standard storage account, but only with a paid subscription and up to 10 times per month per environment, according to Microsoft's database export documentation. Microsoft does not support restoring that file into a working on-premises Business Central, so a BACPAC is an extraction source for a SQL Server staging copy, not a path back to on-premises. Confirm with your partner whether they will work from the BACPAC, from an on-premises SQL database, or from both, and who is paid for each step.

On the target side, ask how the chart of accounts, dimensions, posting groups and master data will be mapped and signed off by your finance owner before any load runs. In Odoo, the documentation recommends External IDs when importing from a third-party application, so cross-references can be kept stable across batches. In ERPNext, the Data Import tool works from downloadable templates, and its documentation advises importing only a few thousand records at a time, so plan several staged loads with reconciliation after each one. Ask for the reconciliation method: trial balance, open item counts and sample transaction checks. Finally, request a line-by-line inventory of AL extensions, reports and integrations, and decide which are rebuilt as Odoo Python modules or Frappe apps and server scripts, which are retired, and which need a replacement connector. Note that Server Scripts are disabled by default from version 15 and must be enabled with server_script_enabled, and Frappe Cloud public shared benches do not allow them, so confirm the hosting model before you design customizations. Confirm also the test cycles, cutover window and rollback plan written into the fixed scope.

How DeployOpen scopes a fixed-price open-source ERP implementation

DeployOpen is a Chainscore Labs company that plans, implements, customizes, integrates, hardens, backs up, upgrades, documents and supports self-hosted open-source platforms inside your own infrastructure. For a Business Central cost comparison, we start by agreeing in writing which licenses, hosting, release work, data migration and support lines your scope actually covers.

How we scope

  • Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts.
  • We inventory current Business Central licenses, add-ons, partner services and hosting so the comparison uses your real cost lines.
  • We record which Odoo edition or ERPNext hosting path fits your user count, companies and modules, and what each one requires.
  • We confirm with your vendors the current license terms, support windows and export options that affect the cost model.

How we build

  • We deploy Odoo or ERPNext in your cloud account, data center or air-gapped network, following the scope document.
  • We configure users, companies, chart of accounts and access controls, and document each decision for your finance and IT teams.
  • We test migrated ledgers, items and customers against source extracts, reconciling totals before any cutover is approved.
  • We run security testing on the deployed platform and integrations, and record findings and fixes in the project file.

How we hand over

  • You receive runbooks for installation, upgrades, backups and restores, sized to the scope agreed at the start.
  • We document the recurring cost drivers, including hosting, upgrade effort and support, so your quote comparison stays current.
  • Knowledge transfer sessions walk your administrators through daily operations, release testing and access reviews.

How we support

  • Ongoing support, upgrades and continuous testing are available as retainers after handover.
  • Retainer scope is agreed in writing, covering the platform versions you run and the release cycle you choose to follow.
  • We prepare systems, controls and evidence for compliance assessments, while independent auditors and certification bodies issue any reports.

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.