QuickBooks Desktop end of sale: what it means if your books must stay on your own systems
If your books must stay on systems you control, self-hosted Odoo, ERPNext or Dolibarr can keep them inside your own infrastructure. Intuit stopped selling QuickBooks Desktop Pro Plus and Premier Plus to new US subscribers after September 30, 2024, and directs those users to QuickBooks Online, a hosted service. QuickBooks Desktop Enterprise remains on sale, so the decision centers on data location, access control and who performs backups and upgrades, not on whether a comparable feature set exists. Start by pulling your renewal date and the terms of your current agreement, then get written confirmation from Intuit of what happens to your company files and support if you do not renew. Those answers set your deadline.
Each option meets the constraint differently. Odoo Community is published under LGPLv3, while the Enterprise edition adds features such as Odoo Studio and the upgrade service for on-premise databases, and it activates with a subscription code. ERPNext is GPL-3.0 and can run on your servers with Docker Compose or the bench command line tool, using MariaDB or PostgreSQL. Dolibarr is GPL-3.0 PHP software that runs on MySQL, MariaDB or PostgreSQL behind any PHP web server, and it fits best when your needs center on invoicing, stock and simpler accounting. Confirm with each vendor which features your staff depend on, such as multi-user access, payroll or reporting, because the open-source edition may not include all of them.
Before you choose, check three things in your own environment. First, decide who will patch, back up and restore the database and web tier, since that work moves from Intuit to your team or a partner. Second, confirm the support window for the version you plan to run. Odoo documents three years of standard support for each major release, followed by two years to complete an upgrade, and you can review the current dates in its standard and extended support documentation. Third, run a test restore of a copy of your data in a non-production environment before you depend on it. Document where the database and backups physically sit now, because your auditors and internal reviewers will ask.
What a self-hosted books constraint requires
Moving ledgers off a desktop file and onto a server you run changes who owns the database, the patches and the exit path. The cards below cover the decisions that a self-hosted books system forces, so you can check each one before a QuickBooks Desktop renewal date arrives.
Where the ledger database lives
A self-hosted ERP keeps the ledger in a database server such as PostgreSQL or MariaDB, not in a single company file on a workstation. Decide whether that server sits in your data center, a private cloud account or a partner-managed environment, and who can reach it. Confirm backup frequency, encryption at rest and restore testing before you enter a full year of transactions. For Odoo, check which database backends and hosting modes your chosen edition supports.
Who administers the server
Someone must own the operating system, database, application updates and user accounts after go-live. Name a primary and a backup administrator, and write down who approves changes to accounting configuration. Ask a partner whether support is fixed-scope or a retainer, and what happens during an accountant's year-end close. Ongoing administration is the main recurring cost of self-hosting, so budget it as a role, not a one-time task.
Supported versions and patch cadence
Odoo documents three years of standard support for each major version, with security patches provided only during that window. ERPNext and Frappe publish their own supported version lists, and Frappe warranty coverage depends on running a listed version. Pick a major version whose support runs well past your planned go-live, and schedule minor updates on a fixed cadence rather than when something breaks.
Major upgrades and test copies
Major version upgrades are not optional on hosted Odoo, and every upgrade changes the schema that your reports and custom code depend on. Use a duplicated database for each upgrade rehearsal, and reconcile trial balances, open invoices and inventory valuation before accepting the result. Odoo's upgrade service requires an Enterprise subscription for on-premise use, so check whether the Community edition can meet your needs without that step.
Access control and authentication
QuickBooks Desktop relies on user logins inside a company file, while a web ERP exposes the ledger to your network and identity provider. Decide which roles can post, approve, void and reopen periods, and whether staff sign in through LDAP or single sign-on. Document the segregation of duties for payments and journal entries, then test that the roles behave as written before production.
Data export and exit path
Keep an exit path in writing before you commit. Export lists, transactions, attachments and opening balances in formats you can reopen without the original software, such as CSV or Excel. Odoo and ERPNext import CSV or Excel with templates, and ERPNext advises importing a few thousand records at a time, so plan batches and reconcile totals after each one. Test the export as a routine task, not only when you leave.
Which self-hosted option fits which bookkeeping situation
A single legal entity with one set of books, a modest chart of accounts and a few users usually needs accounting, invoicing and basic purchasing more than a full manufacturing suite. ERPNext and Odoo both cover general ledger and receivables, and Dolibarr covers invoicing and stock with modules you switch on as needed. Start by listing the reports your accountant runs every month, then test whether each platform produces them without custom work.
- ERPNext: GPL-3.0 licensed and built on the Frappe Framework, with self-hosting through Docker Compose or the bench command line tool, or managed hosting on Frappe Cloud.
- Odoo: LGPLv3 for the Community edition, which covers accounting, but the Enterprise features and upgrade service require a subscription if you run it on premises.
- Dolibarr: GPL-3.0 licensed PHP application on MySQL, MariaDB or PostgreSQL, suited to a lean setup on your own server or a partner-hosted instance.
- Hosting path: Each platform can run on your own servers or virtual machines. Confirm which hosting option your accountant and IT team can support over the long term.
- Data entry: Check how your opening balances and customer lists will load, using the import tools described in each vendor's documentation.
Confirm the reports, the number of users and the hosting model with your accountant before you choose a platform.
Firms that run several legal entities, consolidate results, or track stock across locations and manufacturing steps need an integrated system where inventory, purchasing and accounting share one data model. Odoo and ERPNext are built for this breadth. Odoo's multi-company capability is documented as part of the Custom plan on its pricing page, so confirm the license level before you design around it.
- Odoo: LGPLv3 Community core with a paid Enterprise edition. Multi-company, Odoo Studio and external API access appear in the Custom plan, and on-premise deployment requires an Enterprise subscription.
- ERPNext: GPL-3.0 licensed, with accounting, inventory, manufacturing and projects in one application, and self-hosting or Frappe Cloud hosting.
- Dolibarr: Stock and manufacturing (MRP) modules exist, but a multi-entity consolidation model is a design question to test before committing.
- Migration volume: The ERPNext Data Import tool is documented for a few thousand records per batch, so plan larger item and transaction loads in stages.
- Upgrade cadence: Odoo's upgrade service and ERPNext's release cycle both require a tested upgrade plan for production.
Ask each vendor or partner to demonstrate your intercompany transactions and stock valuation method on a test database before you sign a scope.
A small team that issues invoices and quotes, tracks a limited product catalog and wants a simple system is often better served by a focused tool than by a full ERP. Dolibarr is the closest match for this situation, with modules for invoicing, stock, proposals and orders, and a light footprint that can run on modest hardware. Its prerequisites page estimates about 150 MB for program files and 35 MB for an initial database, plus space for documents.
- Dolibarr modules: Invoicing, stock, proposals and orders are enabled individually, so you only switch on what the team uses.
- License: GPL-3.0 licensed, supported by the Dolibarr Association founded in 2009.
- Database and web server: MySQL 5.7.7 or newer, MariaDB 10.3 or newer, or PostgreSQL 9.1.0 or newer, on any web server that runs PHP.
- Hosting path: On your own machine, with Docker, or through a SaaS partner such as DoliCloud if you prefer not to run the server.
- Add-ons: Some needs may require add-ons from the DoliStore marketplace, so review each one before relying on it.
Check whether the team's accounting exports must go to a separate accounting package before you choose a simple invoicing tool.
How Odoo, ERPNext and Dolibarr meet self-hosting, and where they fall short
This table compares Odoo, ERPNext and Dolibarr on the points that matter when you replace QuickBooks Desktop with a system you run yourself: license, hosting path, database support, edition limits, upgrade obligations and accounting depth. Read each row as a question to put to the platform and to your own environment before you commit.
| Requirement | Odoo | ERPNext | Dolibarr |
|---|---|---|---|
| License | LGPLv3 for Community; Enterprise is a paid subscription with closed source | GPL-3.0 for ERPNext; Frappe Framework under MIT | GPL-3.0, supported by the Dolibarr Association |
| Self-hosting path | Packaged installers or source install; Enterprise activated with a subscription code | Docker Compose, manual install with bench, or Frappe Cloud | On premises, virtual or dedicated machines, Docker, or a partner SaaS |
| Database support | PostgreSQL | MariaDB or PostgreSQL | MySQL, MariaDB or PostgreSQL; Microsoft SQL Server is experimental |
| Edition limits for on-premise | On-premise requires the Custom plan; multi-company, Studio and custom modules sit in Custom | No edition split in the sources reviewed; confirm current scope with Frappe | Enable only the modules you need; add-ons come from the DoliStore marketplace |
| Upgrade obligations | Major versions supported three years plus two years to upgrade; upgrade service needs Enterprise | Version 14 is end of life; confirm the supported version and Frappe Cloud support plan for warranty | Maintenance releases continue on older lines; plan your own upgrade cycle and testing |
| Accounting depth | Accounting is one app in a wider suite; confirm the features your accountant needs | Full accounting, with accounting dimensions in place of QuickBooks classes | Invoicing and accounting modules; confirm the depth against the modules you need |
| Customization | Odoo Studio and custom modules on the Custom plan | Server Scripts are disabled by default from version 15 and must be enabled with server_script_enabled | Module Builder provides low-code extension of the application |
How to deploy self-hosted accounting on your own servers
This sequence takes a self-hosted ERP from a confirmed version and support window to a tested, backed-up system that holds a trial import of your books before cutover. Each step ends with a check you can record for your own sign-off.
Confirm the target version and support window
Choose the platform (Odoo, ERPNext or Dolibarr) and the major version you will run, then check its support dates on the vendor's support page before any build work starts. For Odoo, the documentation says each major version gets three years of standard support followed by two more years to complete an upgrade, and on Odoo Online and Odoo.sh major upgrades are mandatory every two years. For ERPNext, confirm that the version is listed as supported on Frappe's supported versions page. Owner: your finance lead with the implementation partner. Done when the version, its end-of-support date and the upgrade plan are written into the project scope.
Choose the install method and sizing
Pick one installation route: a Docker Compose setup, the bench command line tool for ERPNext, a packaged installer, or a source installation for Odoo. Compare the options against your team's operating skills, since Docker Compose and bench both put patching and restarts on your staff. Dolibarr's prerequisites list MySQL 5.7.7 or newer, MariaDB 10.3 or newer, or PostgreSQL 9.1.0 or newer, with a PHP web server such as Apache or Nginx. Ask your partner to confirm sizing for your user count and document storage in writing. Done when the install method and server specification are approved.
Deploy the database, cache, workers and web tier
Build the environment on your own cloud account, data center or air-gapped network. For ERPNext, the production images in the frappe_docker repository include MariaDB, Redis, background workers, the scheduler, Socket.io and Nginx; the single-file demo setup is meant only for short evaluations and must not carry real books. For Odoo, deploy PostgreSQL, the application server and a reverse proxy. Restrict database ports to the application network and keep secrets out of image files. Done when every service starts cleanly, the web login page loads over TLS and the database is reachable only from the application tier.
Set up backups and a neutralized test copy
Schedule automated database and file backups and test a restore on a separate host before you rely on them. For Odoo, use database duplication with neutralization to create test copies, so that scheduled actions, outgoing mail and payment connectors do not fire against live counterparties. Apply the same discipline to ERPNext by disabling outgoing email and integrations on the copy. Record the backup schedule, retention period and the date of the last successful restore test. Done when a restored copy opens and its balances match the source.
Configure identity with LDAP or social login
Connect the system to your directory so staff sign in with corporate credentials and access is removed when people leave. Odoo documents LDAP authentication, ERPNext documents LDAP integration, and Frappe documents social login keys for OAuth providers. Confirm which of these your identity provider supports and test with a non-administrator account first. Keep at least one local administrator account documented for recovery. Done when a test user signs in through the directory, a disabled account is refused, and the recovery account is recorded in the password vault.
Set up roles, chart of accounts and server scripts
Configure the company, fiscal calendar, chart of accounts, tax codes and user roles in the test copy, and have your accountant sign off on the structure. Limit who can change posted entries and who can manage customizations. In ERPNext, Server Scripts are disabled by default from version 15 onward and must be enabled with the server_script_enabled setting, so review any scripts with your partner before enabling them. Done when the accountant has approved the chart of accounts and the role matrix is documented.
Run a trial import and reconcile
Import a sample of customers, vendors, items and opening balances from your QuickBooks Desktop export into the test copy. Odoo imports Excel and CSV files into any business object and recommends External IDs for data from third-party applications. ERPNext's Data Import tool uses downloadable templates and the documentation advises importing only a few thousand records at a time, so split large files into batches. Reconcile trial balances, open receivables and payables, and inventory counts against the source reports. Done when the variances are zero or explained and each batch is logged.
Cut over with a signed go-live record
Before cutover, run a final backup, freeze entries in QuickBooks Desktop, re-run the import on the final extract and repeat the reconciliation. Confirm that your renewal or subscription end date does not force an early shutdown of your access to the export. Record the go-live date, the people who signed off and the rollback point in the project file. Done when the trial balance in production matches the frozen source and the signed record is stored with the backup.
Moving historical data out of QuickBooks Desktop before renewal
The target systems import CSV or Excel files, so the move starts with a clean set of files, not with the software. Odoo can import data into any business object from .xlsx or .csv files, and its documentation recommends External IDs when the source is a third-party application, so each customer, vendor, item and account keeps a stable identifier that later imports can match against. ERPNext's Data Import tool works from downloadable templates and also updates existing records, but its documentation advises importing only a few thousand records at a time. Plan the load in batches, sequence masters (accounts, customers, vendors, items) before transactions, and keep a log of which file went in when.
The export path and file types you can pull from QuickBooks Desktop are covered on the sibling page on exporting QuickBooks Desktop data, so this section assumes you already have those files. What matters here is what you bring over. Opening balances and historical transactions must be reconciled against the QuickBooks Desktop reports at the cutover date, and your accountant should sign off on the trial balance, open receivables and payables, and fixed asset balances in the new system before the subscription ends. Confirm with your accountant how much history must remain accessible and in what form, since a self-hosted system does not carry the desktop file's audit trail automatically.
Treat the renewal date as the deadline for validation, not for the first import. Run at least one full test load in a non-production copy, compare its totals with the desktop file, and keep the QuickBooks Desktop company file and its backup in a read-only archive for the retention period your accountant and auditors specify. Ask your implementation partner to document each mapping and each reconciliation step, so the evidence exists when someone asks how a balance was carried forward.
Evidence auditors and accountants ask for after the move
Once books move from QuickBooks Desktop to a self-hosted system, the auditor or accountant will want proof that the new ledger is complete, that only the right people can change it, and that it can be restored and kept on supported software. The cards below cover the artifacts that usually answer those questions. Confirm each specific control requirement with your auditor or accountant, not from this page.
Chart of accounts mapping
A document that maps every account in your QuickBooks Desktop chart to its counterpart in the new system, including account types, numbering, and any accounts merged or retired. Keep it signed off by the person who owns the books. Check that opening balances tie to the final QuickBooks Desktop trial balance at the cutover date, and that classes or locations have a documented home in the new structure, such as accounting dimensions in ERPNext or analytic accounts in Odoo. Ask your accountant which mapping format they expect.
Import reconciliation reports
Reports that compare record counts and totals in each source export against what the new system holds after import. Cover customers, vendors, items, open invoices and opening balances separately. Reconcile totals, not just row counts, and keep the rejected-row log with the explanation for each correction. ERPNext's Data Import tool recommends importing a few thousand records at a time, so plan batches and keep one reconciliation per batch.
Access control records
A current list of who holds which role in the new system, with the date each grant was approved and by whom. Include the removal of anyone who left the bookkeeping team and any shared or generic accounts, which auditors often flag. Separate the people who create vendors and payments from the people who approve them, and document how that separation is enforced in the software rather than by convention.
LDAP or SSO configuration
Records of how logins are tied to your directory, including the directory server, the attributes used for user mapping, the login method and the date the configuration was last tested. Odoo documents LDAP authentication and ERPNext documents LDAP integration and social login keys, so confirm which one your version supports and whether local passwords remain enabled as a fallback. Keep the configuration export and a note on who can change it.
Backup and restore test results
Evidence that backups are taken on schedule and that at least one has been restored into a separate environment and checked. Record the date, the backup source, the restore target, the time taken, and which records were compared afterwards. A backup that has never been restored is not evidence of recovery. Confirm with your auditor how often restore tests must run and how long backups must be kept.
Version and patch record
A log of the software version in production, the date each update was applied, and the security patches installed. Check that the version is still within its vendor support window before cutover. Odoo documents three years of standard support per major version, and Frappe publishes a supported versions list for ERPNext, so record the end-of-support date for your release. Auditors ask about this because unsupported software is hard to defend.
Questions buyers ask before hiring outside help
What drives the cost of moving off QuickBooks Desktop to a self-hosted ERP?
The cost is a set of separate components, and the software license is usually the smallest of them. Odoo Community and ERPNext are free to self-host, and Dolibarr is GPL-licensed, so the recurring costs sit in hosting, setup, data migration, accountant time and ongoing maintenance. The ERPNext pricing page states that self-hosting is free, while Frappe Cloud shared site hosting starts at 5 US dollars per month. Odoo's pricing page lists per-user monthly prices for its paid plans, and only the Custom plan can run on Odoo.sh or on-premise. Ask any partner for a quote that lists each component separately, with one-time work (setup, migration, training) on one line and recurring work (hosting, support, upgrades) on another, so you can compare it with your current QuickBooks renewals and any payroll add-ons.
Can we run a QuickBooks Desktop to self-hosted ERP migration ourselves?
Some teams can, particularly those with a small chart of accounts, few open items and an accountant who already knows the new system. The tools to do it exist: Odoo imports data into any business object from Excel or CSV files, and ERPNext's Data Import tool imports and updates records from CSV or Excel files using downloadable templates. The harder parts are mapping accounts and opening balances, rebuilding customer and vendor records, and checking that totals reconcile after each load. Exporting from QuickBooks Desktop is also limited, since the exports of lists and transactions depend on the format you choose. Decide early which parts your staff will own and which parts need outside help, and confirm the approach with your accountant before you cut over.
How long does a migration take, and what changes the timeline?
The timeline depends mainly on data volume, the number of entities and users, and how much history you carry over. ERPNext's documentation advises importing only a few thousand records at a time, so a large customer or item list is split into several passes, each followed by checks. Odoo's upgrade documentation recommends testing an upgraded database before production, and a similar test cycle applies to a first migration. Scope changes the timeline more than data volume does: adding inventory, manufacturing, multi-company or custom reports adds design and testing work. Odoo's support covers each major version for three years, so plan your go-live around a supported release. Ask for a written schedule with milestones, a test cutover and a named sign-off step.
What does our staff need to provide during the project?
Your team supplies the business knowledge that no outside engineer can infer. Expect to need a finance lead who can approve the chart of accounts, sales tax and payment mappings, and the opening balances at a cutover date. Someone from operations should confirm how inventory, orders and invoices flow today. Your accountant or bookkeeper will check reconciliations for the test loads and the first closed period. Admins also need time for user access, backups and the first routine tasks after go-live. Ask the implementer to list these roles in the statement of work, with the hours or days you should expect each person to commit, so the project does not stall waiting for approvals.
Does Frappe Cloud or DoliCloud remove the self-hosting work?
Managed hosting removes the server work, but it does not remove the migration, configuration, or the accounting review. Frappe Cloud hosts ERPNext for a monthly fee, with shared site hosting starting at 5 US dollars per month and dedicated servers starting at 125 US dollars per month, according to the ERPNext pricing page. Frappe's supported versions policy also says customers must be on a listed version and subscribed to a matching Frappe Cloud support plan to receive warranty coverage. DoliCloud offers Dolibarr as SaaS, with a Basic plan at 14 euros per user per month and a Premium plan from 45 euros per month, according to its website. The trade-off is that you give up direct control over the environment, and some customizations, such as Server Scripts, are restricted on public shared benches. Confirm those limits before you choose a hosting model.
What ongoing maintenance does a self-hosted ERP need after go-live?
A self-hosted ERP needs regular patching, backups, monitoring, user administration and upgrades. Odoo's standard support covers each major version for three years, and Odoo Online and Odoo.sh require major upgrades every two years, so you should budget for at least one upgrade cycle during the life of the system. ERPNext's supported versions and frequent minor releases mean a patch routine is needed even when the core stays put. Dolibarr releases new lines regularly, and older lines still receive maintenance, which helps when you plan the upgrade window. Ask any implementer for a written operations plan that covers backup restore tests, upgrade testing, the on-call contact and the cost of retainer support.
Which parts of the migration are most likely to break?
The most common failures involve opening balances, open invoices, multi-currency or tax settings, and duplicate customer or vendor records. A migration that looks clean at the summary level can still leave totals off by small amounts once detailed transactions are loaded. Imports fail quietly when the external identifiers do not match, which is why Odoo recommends External IDs when importing from a third-party application. Custom reports and integrations with payroll or banking tools often break last, because they depend on field names and exports from the old system. Ask for a reconciliation step after each load, a parallel-run period, and a documented rollback plan before you approve the cutover.
What does DeployOpen cover in a migration engagement?
DeployOpen plans, implements, customizes, integrates, hardens, backs up, upgrades, documents and supports self-hosted open-source platforms inside your own infrastructure, including cloud accounts, data centers or air-gapped networks. Most engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts. Ongoing support, upgrades and continuous testing are available as retainers. DeployOpen does not publish a price list, and a quote follows from the written scope. DeployOpen prepares systems, controls and evidence for compliance assessments, but it does not issue audit reports or certifications. Ask for a written scope that names the accounting data to migrate, the reconciliation steps and the handover documentation.
When Dolibarr, ERPNext or Odoo is the right answer
Choose the smallest option whose accounting depth and hosting model match your constraint. Start by listing what the books must do: single-entity invoicing and stock, multi-entity consolidation, job costing, manufacturing, or a shared ledger for several users at several sites. Dolibarr is the lightest fit for invoicing, stock, proposals and orders, and it can run on your own server with MySQL, MariaDB or PostgreSQL. ERPNext fits companies that need accounting dimensions, purchasing, projects and manufacturing in one system and can run it with Docker or the bench tool in their own infrastructure. Odoo fits companies that expect the ledger to sit alongside CRM, inventory and HR, but its hosting model is the constraint that decides the edition. Confirm the hosting rule with Odoo before you plan the budget, because Odoo on-premise requires an Enterprise subscription and, according to Odoo's pricing page, only the Custom plan can be hosted on Odoo.sh or on-premise.
The second check is the accounting depth your accountant needs in practice, not in the feature list. Run a short trial of your own chart of accounts, tax codes, bank feeds and month-end close in each candidate before you choose. Ask whether the module you depend on is part of the core product or comes from an add-on, since add-ons add a maintenance line and a version to track. Also confirm who will handle upgrades. Odoo's standard support covers three years after each major release, and on Odoo Online and Odoo.sh major upgrades are mandatory every two years, so a self-hosted Odoo needs a named owner for those cycles.
Keep the decision reversible. If the business only needs a ledger and invoices for now, a smaller system can be the right answer even if you expect to outgrow it, provided your data export and opening balances are clean. Document the reason for the choice, the hosting location and the person who runs backups and upgrades. A partner can help with the scoped setup, data migration and hardening, and the written scope should state which of these three systems you are implementing, where it runs and who owns each recurring task.
How DeployOpen deploys self-hosted accounting under your constraint
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 QuickBooks Desktop end of sale, we start by confirming which system fits your books, your data and your renewal date, then build it in your environment.
How we scope
- Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts.
- We confirm which Odoo, ERPNext or Dolibarr fit matches your accounting, inventory and user needs before any build.
- The written scope lists the data sources to export, the opening balances to capture and the hosting environment to use.
How we build
- We install and configure the chosen platform in your infrastructure, including database, web tier and backup services.
- We test data imports from your exported files in a non-production copy before any production load.
- We integrate authentication, user roles and any add-ons your accounting processes require, then harden the deployment.
How we hand over
- You receive documentation of the build, configuration, import steps and reconciliation checks your accountant can review.
- We document backup and restore procedures, and we test them with you before handover.
- Compliance readiness material covers system and control evidence only; independent auditors issue any audit reports or attestations.
How we support
- Ongoing support, upgrades and continuous testing are available as a retainer after handover.
- Retainers can cover platform upgrades that follow each vendor's supported version schedule, tested before production.
- Ask us in your quote to define response expectations, upgrade windows and who maintains the system after the first year.

