Will Your ERP Still Fit When You Double in Size?
ERP scalability is the difference between a system that absorbs growth and one you have to rip out in three years. Here is how Microsoft Dynamics 365 and Odoo actually scale — the real documented limits, the published triggers, and what to plan for before you hit a ceiling.
What ERP Scalability Actually Means
ERP scalability is a system's ability to accommodate growth — in users, transactions, data volume, entities, or business processes — without performance degradation or fundamental rearchitecture. Vendor marketing uses the word loosely, so it helps to break it into three distinct layers that scale independently.
Technical scalability is infrastructure elasticity: more CPU, RAM, or app-server instances behind a load balancer. Functional scalability is the ability to add new modules, entities, or legal structures through configuration rather than a rebuild. Operational scalability covers workflows, governance, and reporting — can you onboard a new subsidiary, a new currency, or a new warehouse without a project every time.
SMEs typically outgrow an entry-level tool like QuickBooks or Xero on complexity rather than raw size. QuickBooks Online Advanced caps at 25 billable users per company, and Intuit's own Enterprise documentation notes that list-based performance degradation becomes likely as you approach the platform's roughly one-million-name and one-million-item list thresholds — not a fixed megabyte ceiling. Multi-entity consolidation in those tools requires separate subscriptions or files with no native intercompany eliminations or real-time consolidated reporting. Those are the signals that 'scalability' has stopped being abstract and started costing you hours.
- Technical scalability — vertical (scale-up: add CPU/RAM to one instance) and horizontal (scale-out: add more instances behind a load balancer). ERP databases tend to scale vertically; application tiers scale horizontally.
- Functional scalability — add modules, companies, or entities through configuration, not reimplementation.
- Operational scalability — workflows, approvals, multi-company governance, and consolidated reporting that survive adding subsidiaries, currencies, or locations.
How Microsoft Dynamics 365 Scales
Microsoft positions Business Central as the business management solution for small and mid-sized organizations, with Finance plus Supply Chain Management (F&O / F&SCM) as the enterprise tier above it. Critically, there is no published numeric threshold that forces an upgrade from Business Central to F&O — larger organizations typically scale Business Central by adding environments rather than migrating.
Business Central online has no fixed operational limit on the total number of users. Microsoft's service-scalability telemetry states the average customer runs 20–30 full users, that thousands of customers have more than 100 users, and that some run well over 1,000 — with 105% year-over-year growth in the >100-user customer segment in 2023. Real per-environment throughput examples from the same telemetry page include 5,000 sales invoices posted in one hour, 52,500 sales invoices posted in a single day (2.6 million item lines), 256,000 general journal lines posted in one day, and 10 million web service calls in a single day peaking at one million per hour. Microsoft is explicit that these are sample measurements, not published upper bounds or service limits.
Capacity is governed, not unlimited. The hard ceiling most SMEs hit first is 300 companies per environment — organizations needing more distribute companies across multiple production environments, a common pattern for branch or country rollouts. Tenant storage starts at an 80 GB base plus per-license allowances (2 GB Essentials, 3 GB Premium, 1 GB Device, 5 GB Partner Sandbox), with a 3 TB per-environment compressed data cap. Exceeding tenant quota blocks new environments and copies but does not interrupt live transactions. On the API side, per-user limits rolled out starting late December 2023 cap OData at 5 concurrent requests and 6,000 requests per 5-minute sliding window, with a roughly 100-connection ceiling, an 8-minute operation timeout, and a 350 MB max payload.
For multi-site and international growth, Business Central supports a hub-and-spoke model via Company Hub, intercompany postings, and financial consolidation from multiple companies — even mixed systems — with 40+ localized country/region versions available as extensions. Dynamics 365 Finance adds 'Consolidate online' (rolling daily balances into a consolidation company), Financial reporting with drill-down and multi-currency hierarchies, and elimination rules processed during consolidation or via proposals. The move from BC to F&O is a functional-fit assessment, not a limit-driven trigger.
- No fixed user cap — real customers run 1,000+ users on Business Central online (Microsoft telemetry sample).
- 300 companies per environment — distribute across environments to grow beyond it.
- 80 GB base tenant storage + per-license add-ons; 3 TB per-environment data cap.
- Per-user API limits: 5 concurrent OData requests, 6,000 per 5-minute window, ~100 connections, 350 MB max payload.
How Odoo Scales Across Three Tiers
Odoo runs the same Enterprise core across three deployment tiers, and choosing the right tier is the single biggest scalability decision an Odoo customer makes. Each tier has a different ceiling and a different set of constraints.
Odoo Online is the managed SaaS entry tier. Per-database storage is capped at 100 GB under Odoo's documented storage limits, external API access (JSON/XML-RPC) is restricted to the Custom plan, and custom modules or non-standard Odoo Apps Store apps are not allowed. It is the fastest path to live but the least flexible at scale. Odoo.sh is the PaaS tier for Custom-plan users who need custom modules, community apps, or Apps Store apps: GitHub integration, dev/staging/production branches, SSH access, automated CI testing on every commit, database replication, backups, and email gateways. Odoo.sh storage caps at 512 GB on shared hosting and 4 TB on dedicated hosting. On-premise is the self-hosted tier with no Odoo-imposed storage caps — scaling is bounded only by your hardware, PostgreSQL tuning, and architecture choices.
Worker scaling follows a documented rule of thumb across all self-managed tiers: roughly one worker per six concurrent users, with a production worker count of (number of CPUs × 2) + 1. On-premise, multi-process mode plus Redis for caching and sessions, an nginx reverse proxy, and optional load-balanced multi-server or Kubernetes deployments push capacity much higher — Odoo is largely stateless at the web and application layer. The important caveat: adding workers does not automatically fix slow code. Scaling the application tier without addressing inefficient queries or custom modules just spreads the problem across more processes.
Functionally, Odoo supports multi-company configurations under one database with selective data sharing — partners and products can be shared while financials, warehouses, and taxes stay separated — and authorized users can access multiple companies simultaneously. Odoo supports 167 currencies with automatic conversion and exchange-difference entries, which matters for international SMEs.
- Odoo Online (SaaS) — 100 GB database cap, no custom modules, external API only on Custom plan.
- Odoo.sh (PaaS) — Git-based dev, CI, worker scaling; shared hosting 512 GB / dedicated hosting 4 TB.
- On-premise — no Odoo-imposed storage caps; multi-process + Redis + nginx + optional load balancing.
Triggers That Signal You Have Outgrown Your Tier
Recognizing the trigger early is the difference between a planned migration and a panicked one. The signals differ by platform, but they cluster around the same themes: customization needs, integration pressure, storage growth, and multi-entity complexity.
On Odoo Online, the trigger to move to Odoo.sh or on-premise is well documented: you need custom modules or third-party Apps Store apps (forbidden on Online), you are pushing past the 100 GB database cap, you have heavy external API or third-party integrations, you need Odoo Studio combined with multi-company, or you want Git-based dev workflows with staging. Any one of these points to Odoo.sh at minimum. A critical migration constraint to plan for: Odoo Online's intermediary versions (for example 19.x where x is not zero) are not supported on Odoo.sh or on-premise — you must first upgrade to the next major version (x.0), waiting for its release if necessary.
On Dynamics 365, the trigger is rarely a hard limit. It is functional depth. When your supply chain, manufacturing, or global regulatory complexity exceeds what Business Central's multi-environment model can practically manage, an assessment with an implementation partner will point you toward Finance and Supply Chain Management. The decision is partner- and assessment-driven, not limit-driven, which is why early planning matters more than hitting a threshold.
On entry-level tools — QuickBooks, Xero — the triggers are blunter: user seat caps, list-size slowdowns, manual multi-entity workarounds, and the absence of native intercompany eliminations or real-time consolidated reporting. If finance is spending a week every month consolidating spreadsheets across entities, you have already passed the trigger point.
| Trigger | Dynamics 365 response | Odoo response |
|---|---|---|
| Need custom modules / Studio + multi-company | Add environment or configure extensions (BC) | Move from Online to Odoo.sh or on-premise |
| Approaching 100 GB / 300 companies / storage quota | Add production environments; expand tenant storage pool | Move to Odoo.sh (512 GB–4 TB) or on-premise |
| Heavy external API / integration load | Tune per-user API limits; architect async patterns | Move to Custom plan (Online) or Odoo.sh / on-premise |
| Multi-entity financial consolidation | Company Hub + intercompany + consolidation (BC or Finance) | Multi-company in one DB; or consolidate across instances |
| Enterprise functional depth needed | Assess migration from BC to Finance + SCM | Stay on Odoo Enterprise; scale horizontally on-premise |
Planning for Scalability Before You Need It
Scalability is cheapest when you design for it on day one and most expensive when you retrofit it under pressure. The SMEs that scale cleanly share a few planning habits regardless of platform.
First, model your entity structure up front. Whether you end up with three Business Central environments for three countries, an Odoo multi-company setup with shared partners and separated financials, or a consolidated Finance instance, the decision drives licensing, integration, and reporting architecture. Second, instrument early. Per-user API limits, worker counts, and storage consumption are all observable before they become incidents — telemetry should drive capacity decisions, not gut feel.
Third, treat customization as a scaling decision. On Odoo Online, a single custom module forces a tier migration. On Business Central, extensions and per-environment company distribution let you grow without re-platforming. On both, keeping the core clean and pushing complexity into well-isolated extensions preserves your ability to upgrade. Fourth, build a refresh cadence into your ERP governance: capacity reviews every quarter, a documented migration trigger list, and a relationship with an implementation partner who can run an assessment before you hit a wall.
Finally, understand the difference between vertical and horizontal scaling for your specific workload. ERP databases scale more easily vertically; application tiers scale horizontally. Cloud ERPs like Business Central apply both automatically on Azure; self-managed Odoo deployments require you to make the call deliberately. A partner-led architecture review is the single highest-leverage planning step an SME can take — it surfaces the ceilings you have not hit yet and the ones you are about to.
- 01Model your entity and growth structure
Map subsidiaries, countries, and legal entities before you configure. This drives environment count, licensing, and consolidation architecture on both D365 and Odoo.
- 02Instrument capacity from day one
Track storage, API usage, worker load, and transaction volumes. Telemetry should trigger capacity decisions before users feel slowdowns.
- 03Keep the core clean
Isolate customization in extensions or custom modules. On Odoo, any custom code forces a tier choice; on BC, clean extensions preserve upgradeability.
- 04Run quarterly capacity and trigger reviews
Maintain a documented list of migration triggers per platform. Review against actual usage each quarter with your implementation partner.
- 05Get a partner-led architecture assessment
An experienced implementation partner surfaces ceilings you have not hit and recommends whether to scale in-tier or plan a tier migration.
Frequently asked questions
What is the difference between vertical and horizontal ERP scalability?
Vertical scaling (scale-up) adds CPU and RAM to a single instance; horizontal scaling (scale-out) adds more instances or nodes behind a load balancer. ERP databases tend to scale more easily vertically, while application tiers scale horizontally. Cloud ERPs like Business Central apply both automatically on Azure; self-managed Odoo deployments require you to choose deliberately based on your workload.
How many users can Business Central and Odoo support?
Business Central online has no fixed user cap — Microsoft's service-scalability telemetry shows customers running well over 1,000 users, with the >100-user segment growing 105% year-over-year in 2023, against an average of 20–30 full users. Odoo has no per-user licensing cap on self-managed deployments; capacity is bounded by hardware and a rule of thumb of roughly one worker per six concurrent users, with a production worker count of (CPUs × 2) + 1. Odoo Online (SaaS) is capped by storage and API limits rather than seats.
When should an SME plan a tier or platform migration?
Plan a migration when you hit documented triggers, not hard limits. On Odoo Online, triggers include needing custom modules, exceeding the 100 GB database cap, heavy API integrations, or Odoo Studio with multi-company; you must also reach the next major (.0) version before moving to Odoo.sh or on-premise. On entry-level tools like QuickBooks, triggers include the 25-billable-user cap on QBO Advanced and list-size performance degradation. On Business Central, migration to Finance plus Supply Chain Management is a functional-fit assessment driven by enterprise depth, not a published threshold.
Does storage capacity affect live transactions if I exceed my quota?
On Business Central online, exceeding your tenant storage quota blocks creation of new environments and copies but does not interrupt live transactions on existing environments. The per-environment compressed data cap is 3 TB. On Odoo Online, the 100 GB per-database cap is documented under Odoo's storage limits; exceeding it requires moving to Odoo.sh (up to 512 GB shared or 4 TB dedicated) or on-premise.
Plan Your ERP's Growth Path Before You Hit a Ceiling
Flectic is a platform-neutral implementation partner for Microsoft Dynamics 365 and Odoo. We help SMEs across Canada, the UK, and the US design an ERP architecture that scales cleanly — from environment and entity modeling to capacity planning and tier-migration triggers. Our AI-accelerated delivery is designed to deliver up to 3x faster, so you grow without re-platforming under pressure. Book an ERP Readiness Call and we will map your next 18 months of growth onto the right platform and tier.
Sources
- ERP scalability spans technical (infrastructure elasticity), functional (new modules/entities via configuration), and operational (workflows, governance, reporting) layers. — https://www.panorama-consulting.com/evaluating-erp-scalability-when-every-vendor-promises-it/ (verified Vendor-neutral consulting definition of ERP scalability across three layers.)
- Business Central has no fixed user cap; service-scalability telemetry shows customers running well over 1,000 users, 105% YoY growth in >100-user segment in 2023, and real per-environment throughput of 52,500 invoices/day (2.6M item lines), 256,000 journal lines/day, and 10M web service calls/day peaking at 1M/hour; Microsoft states these are sample measurements, not service limits. — https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/service-scalability (verified Microsoft Learn official service scalability documentation with real customer telemetry samples; numbers quoted verbatim from the page.)
- Business Central online enforces a hard limit of 300 companies per environment and per-user API limits of 5 concurrent OData requests, 6,000 per 5-minute sliding window, ~100 connections, 8-minute operation timeout, and 350 MB max payload; per-user limits rolled out starting late December 2023. — https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/operational-limits-online (verified Microsoft Learn operational limits documentation for Business Central online, including the 300-company environment limit and per-user OData rate limits.)
- Business Central tenant storage is 80 GB base plus per-license allowances (2 GB Essentials, 3 GB Premium, 1 GB Device, 5 GB Partner Sandbox), with a 3 TB per-environment compressed data cap; exceeding tenant quota blocks new environments but not live transactions. — https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/tenant-admin-center-capacity (verified Microsoft Learn tenant admin center capacity documentation with exact per-license storage allowances.)
- Business Central supports multi-site hub-and-spoke via Company Hub, intercompany postings, financial consolidation, and 40+ localized country/region versions. — https://learn.microsoft.com/en-au/dynamics365/business-central/finance-multi-site-organizations (verified Microsoft Learn documentation on multi-site organizations in Business Central.)
- Business Central is positioned as a solution for small and mid-sized organizations with no published numeric threshold forcing upgrade to Finance and Operations. — https://learn.microsoft.com/en-us/dynamics365/business-central/welcome (verified Microsoft Learn Business Central welcome / positioning overview.)
- Odoo storage caps by hosting tier: Odoo Online 100 GB, Odoo.sh shared hosting 512 GB and dedicated hosting 4 TB, on-premise limited by infrastructure. — https://www.odoo.com/documentation/19.0/applications/general/integrations/cloud_storage.html (verified Official Odoo 19 Cloud Storage documentation; the authoritative page for per-tier storage limits (corrected from the draft's odoo_online/odoo_sh URLs, which cover features not caps).)
- Odoo Online disallows custom modules and modules from the Odoo Apps Store, and external API access (JSON/XML-RPC) is restricted to the Custom plan. — https://www.odoo.com/documentation/19.0/administration/odoo_online.html (verified Official Odoo 19 documentation for Odoo Online SaaS tier (custom-module restriction) plus external API plan restriction documented in the Odoo 19 developer external_api reference.)
- Odoo.sh provides Git-based dev with branches, staging, CI on commits, database replication, backups, and email gateways for Custom-plan users. — https://www.odoo.com/documentation/19.0/administration/odoo_sh.html (verified Official Odoo 19 documentation for Odoo.sh PaaS tier.)
- Odoo on-premise uses multi-process mode with a documented rule-of-thumb worker count of (CPUs × 2) + 1 and roughly 1 worker per 6 concurrent users. — https://www.odoo.com/documentation/19.0/administration/on_premise/deploy.html (verified Official Odoo 19 on-premise deployment documentation, Worker number calculation section, quoted verbatim.)
- Odoo supports multi-company configurations under one database with selective data sharing (partners/products shared, financials/warehouses/taxes separated), and 167 currencies with automatic conversion. — https://www.odoo.com/documentation/19.0/applications/general/companies/multi_company.html (verified Official Odoo 19 multi-company documentation; currency count (167) confirmed in Odoo 19 Foreign currencies documentation.)
- Odoo Online intermediary versions (e.g. 19.x where x is not zero) are not supported on Odoo.sh or on-premise; the database must first be upgraded to the next major version (x.0), waiting for its release if necessary. — https://www.odoo.com/documentation/19.0/administration/hosting.html (verified Official Odoo 19 hosting documentation, transfer/migration section; example given is transferring an Odoo 16.3 online database requires upgrading to 17.0 first. Reinforced by the standard/extended support page.)
- QuickBooks Online Advanced caps at 25 billable users per company (plus 3 accountant-firm users); no higher QBO tier offers more billable users. — https://quickbooks.intuit.com/learn-support/en-us/help-article/intuit-subscriptions/learn-usage-limits-quickbooks-online/L6THMltE4_US_en_US (verified Intuit's official QBO usage-limits help article (primary source; replaces the draft's competitor/vendor-advisory source).)
- QuickBooks Desktop Enterprise is sold up to a 40-user Diamond tier and documents that list-based performance degradation becomes likely as you approach roughly one-million names and one-million items; Intuit does not publish a fixed megabyte file-size degradation threshold. — https://quickbooks.intuit.com/desktop/enterprise/ (verified Intuit QuickBooks Desktop Enterprise product page; list-capacity and degradation notes quoted from the official specs. Corrects the draft's unverified '1.5-3 GB' third-party figure to Intuit's actual published list-size guidance.)
- Vertical scaling adds CPU/RAM to a single instance; horizontal scaling adds instances behind a load balancer; ERP databases scale vertically and app tiers horizontally. — https://learn.microsoft.com/en-us/azure/well-architected/performance-efficiency/scale-partition (verified Microsoft Azure Well-Architected Framework guidance on scaling and partitioning.)
- Dynamics 365 Finance supports consolidation via 'Consolidate online', Financial reporting, or import/export, with elimination rules processed during consolidation or via proposals. — https://learn.microsoft.com/en-us/dynamics365/finance/budgeting/consolidation-elimination-overview (verified Microsoft Learn documentation on financial consolidation and elimination in Dynamics 365 Finance.)