Quick answer: What should an ERP budget include?
Budget for software subscriptions or licenses plus implementation, internal staff time, data migration, integrations, training, environments, support, upgrade-related testing and legacy-system retirement. Separate one-time costs from recurring costs, document what each quote excludes, and test growth and complexity assumptions.
Use two views: external cash spending for funding decisions and total resource cost, including allocated employee time, for comparing options. Keep contingency visible rather than hiding it inside estimates.
1. Define what your five-year ERP budget covers
Before requesting prices, write a one-page scope statement. For a small or midsize organization, this should identify:
- Business processes and modules included at launch.
- Companies, locations and countries in scope.
- User roles and expected access requirements.
- Systems that must exchange data with the ERP.
- Data to migrate and historical information to retain elsewhere.
- Deployment model and planned go-live timing.
Define the five-year clock, too. Does Year 1 begin with the first implementation payment or with go-live? For this article’s model, Year 1 starts when implementation spending begins, and all five years include subscription costs. Replace that assumption with your actual billing schedule.
Keep benefits separate. Proposed productivity savings or revenue improvements belong in the business case, not as unexplained deductions from ownership costs.
Build two totals:
External cash spending includes vendor invoices, contractors, incremental hiring, overtime and other additional payments.
Total resource cost adds the value of existing employees’ project and operating time. Label that allocation clearly: an employee’s time can be a project resource cost without being an additional cash payment.
This distinction also helps prevent double counting. If temporary staff cover a finance manager’s normal duties, explain whether the model includes the manager’s allocated project time, the temporary worker’s cost, or both—and why.
2. Turn the subscription quote into a licensing worksheet
Do not start with employee headcount alone. Create a role-to-license worksheet showing what each group needs to do, the proposed license type, quantity, price basis and unresolved entitlement questions.
As a current illustration—not a recommendation—Microsoft’s U.S. pricing page lists Dynamics 365 Business Central online Essentials at $80 per user/month, Premium at $110, and Team Members at $8, each paid yearly, checked October 26, 2026. Team Members provides limited access; it is not interchangeable with a full-user license. These figures are subscription prices, not implementation or five-year project quotes. (microsoft.com)
Microsoft’s licensing guidance also distinguishes user, device and tenant subscriptions. It explicitly says that the guide does not replace binding licensing documents. Use published guidance to frame questions, then confirm the applicable rights and commercial terms in the purchasing documents. (microsoft.com)
Ask suppliers to document:
- Which tasks each proposed license permits.
- Whether quoted amounts are monthly equivalents or monthly payments.
- Commitment length, renewal terms and seat-reduction rules.
- Included modules, environments, storage and support.
- Separately charged extensions, connectors and usage-based services.
- Pricing assumptions for additional users and capacity.
Use a separate line for each chargeable item. Do not assume that a feature appearing in a demonstration is included in the quoted subscription.
For example, Microsoft’s current Business Central pricing page distinguishes base plans from Copilot Credits used to run agents and states that an Azure subscription is required for agents. Treat such usage-based services as an explicit budget decision rather than an assumed inclusion. (microsoft.com)
3. Budget the implementation work and internal effort
Use the following cost register as a planning template. The categories are prompts for your estimates, not claims that every project requires every charge.
| Cost category | Initial work to estimate | Recurring or later work to estimate |
|---|---|---|
| Implementation | Process workshops, configuration, project management, reports, security design | Additional phases and approved changes |
| Internal staff | Decisions, data cleanup, testing, training and cutover | Administration, process ownership and release reviews |
| Migration | Extraction, mapping, cleansing, trial loads and reconciliation | Later acquisitions or additional migration phases |
| Integrations | Design, build, authentication, error handling and testing | Monitoring, incident resolution and maintenance |
| Training | Role-based materials, practice sessions and launch support | New hires and changed workflows |
| Environments | Setup and any chargeable test capacity | Additional capacity and environment administration |
| Support | Launch support and service setup | Vendor support, partner support and internal help |
| Updates | Initial regression-test preparation | Testing, extension remediation and documentation |
| Legacy systems | Cutover overlap and archive setup | Retained access, retrieval and eventual retirement |
For each row, assign an owner, quantity, rate, timing and evidence source. Mark estimates as quoted, internally estimated or unresolved.
Estimate internal effort from tasks rather than an arbitrary percentage of consulting fees:
Internal resource cost = planned hours × fully loaded hourly cost
For example, 800 hypothetical hours × $75 = $60,000. This is a calculation example, not a staffing benchmark.
For migration, split the estimate into configuration data, master records, open transactions and any historical records in scope. Ask who extracts, cleans, loads and reconciles each group. Keep trial migrations and finance sign-off visible as work packages.
For integrations, estimate more than the initial connection. Ask who owns failed-message investigation, reconciliation, changes to connected systems and ongoing support.
4. Check who pays for environments, operations and updates
Cloud deployment does not mean every operational responsibility disappears. Microsoft’s shared-responsibility guidance assigns customer data, configurations and identities to the customer across its cloud deployment models, while infrastructure responsibilities differ by service type. Budget the work your organization retains, even where hosting is included. (learn.microsoft.com)
For each shortlisted deployment, create a responsibility table covering access administration, environment management, monitoring, recovery procedures, updates and support escalation. Record the responsible party and whether its work is included, separately charged or internally staffed.
Check environment entitlements before adding hosting charges. Business Central’s published documentation, for example, includes one production environment and three sandboxes with Essentials and Premium subscriptions. Additional production environments are purchasable. An included environment should not be priced again as a separate subscription expense, although administering it still requires effort. (learn.microsoft.com)
Do not set upgrade-related labor to zero merely because the provider delivers updates. Microsoft recommends testing critical Business Central business scenarios before production receives major or minor updates and actively testing extension compatibility. That supports a recurring testing and remediation allowance—not an assumed billable infrastructure upgrade. (learn.microsoft.com)
For an on-premises proposal, request explicit estimates for the infrastructure and operating work assigned to your organization. For a hosted proposal, check which of those responsibilities actually transfer under the service agreement.

5. Build an illustrative five-year spreadsheet
The following model demonstrates the method. Every amount is hypothetical, in U.S. dollars, and is neither a vendor quote nor a market benchmark.
Assumptions:
- Forty licensed users throughout the base case.
- An invented blended subscription rate of $100 per user/month.
- Implementation and initial migration occur in Year 1.
- Later years include ongoing internal effort, support and testing.
- No inflation, price increases, taxes, financing costs or discounting.
- Internal labor is allocated resource cost, not automatically incremental cash.
- Benefits are excluded.
Amounts below are in $000.
| Cost line | Year 1 | Year 2 | Year 3 | Year 4 | Year 5 | Total |
|---|---|---|---|---|---|---|
| ERP subscriptions | 48 | 48 | 48 | 48 | 48 | 240 |
| Implementation services | 120 | 0 | 0 | 0 | 0 | 120 |
| Internal staff allocation | 60 | 18 | 18 | 18 | 18 | 132 |
| Initial migration | 30 | 0 | 0 | 0 | 0 | 30 |
| Integration build and maintenance | 40 | 12 | 12 | 12 | 12 | 88 |
| Training and adoption | 16 | 5 | 5 | 5 | 5 | 36 |
| Extra environments and capacity | 6 | 6 | 6 | 6 | 6 | 30 |
| External support | 18 | 18 | 18 | 18 | 18 | 90 |
| Update testing and remediation | 8 | 8 | 8 | 8 | 8 | 40 |
| Legacy overlap, archive and exit work | 10 | 0 | 0 | 0 | 10 | 20 |
| Base resource cost | 456 | 115 | 115 | 115 | 125 | 926 |
The environment allowance represents assumed additional chargeable requirements; remove it if your required capacity is included.
In a spreadsheet, use columns B–F for Years 1–5 and G for the five-year total:
- Subscription expense:
Users × Monthly rate × Billable months - Row total:
=SUM(B2:F2) - Annual total: sum the cost rows in that year’s column.
Keep assumptions on a separate worksheet and reference those cells instead of typing the same rate repeatedly.
The model totals $926,000, including $132,000 of allocated internal labor. Excluding that allocation leaves $794,000 of modeled external spending. Reclassify any overtime, backfill or incremental hiring appropriately.
Add contingency transparently. Suppose management chooses a 15% illustrative reserve on implementation, initial migration and integration build:
15% × ($120,000 + $30,000 + $40,000) = $28,500
The resulting planning envelope is $954,500. The percentage is an example policy choice, not a recommended universal allowance.

6. Test user growth and integration complexity separately
A useful sensitivity analysis changes identifiable assumptions rather than increasing every row by the same percentage.
User-growth scenario
Change annual user counts from a flat 40 to 40, 45, 50, 55 and 60, keeping the hypothetical $100 monthly rate.
Annual subscriptions become $48,000, $54,000, $60,000, $66,000 and $72,000: a five-year total of $300,000, or $60,000 above the base case.
This isolates license growth. It does not include additional training, administration or capacity; assess those separately.
Integration-complexity scenario
Assume design review identifies:
- $30,000 more integration build work in Year 1.
- $8,000 more annual maintenance in Years 2–5.
That adds $62,000. Applying the same illustrative 15% reserve to the additional build adds $4,500, producing a $66,500 increase.
If both scenarios occur, the planning envelope becomes:
$954,500 + $60,000 + $66,500 = $1,081,000
These are consequences of chosen assumptions, not predictions. Ask the implementation team to replace them with estimates tied to interface designs, transaction volumes and support responsibilities.
Also test renewal price increases and delayed go-live separately. A delay scenario should identify affected months and costs—not simply add a blanket percentage.
7. Run these checks before signing
Use this final review to catch omissions and double counting:
- Same scope: Are competing proposals covering the same processes, users, integrations and migration obligations?
- Clear exclusions: Is each excluded task assigned to someone and budgeted?
- Valid license mapping: Has each role’s required activity been checked against its proposed entitlement?
- Real billing dates: Does the cash-flow schedule reflect advance payments and implementation-period subscriptions?
- Visible internal effort: Have process owners approved time commitments for decisions, testing and training?
- No duplicate services: Are support, maintenance and update-testing lines distinct?
- Defined migration completion: Are reconciliation, trial loads and acceptance responsibilities documented?
- Priced legacy exit: Have you requested archive, export and retained-access estimates rather than assuming them free?
- Explained contingency: Does each reserve relate to a named uncertainty with an owner?
- Renewal review: Is someone responsible for refreshing quantities, rates and capacity assumptions?
The decision is not simply which subscription looks cheapest. Compare five-year scope, external funding needs, internal workload and exposure to changing assumptions. A defensible budget makes those choices visible before the contract commits you to them.