New: Odoo and Dynamics 365 cost calculators.Estimate your costs

Who manages ERP after go-live

A full-time ERP systems analyst does not replace the vendor's support rules.

FlecticUpdated 21 min read

A full-time ERP systems analyst does not replace the vendor's support rules. Robert Half's 2027 US salary guide puts the national starting midpoint for an ERP Systems Analyst at 133,750 USD, inside a range of 110,000 to 158,000 USD, as of October 2026. That hire can run users, permissions, and the close. The hire still cannot stand in for the Business Central partner who is the frontline of support, and cannot stand in for paid maintenance of Odoo custom code. For a company of 20 to 100 people, the workable model is an internal owner plus a named partner for code, upgrades, and escalation.

License cost is a separate, smaller line. As of October 2026, Business Central Essentials is 80.00 USD per user per month, paid yearly. A year of that license for eight full users is 7,680 USD. The analyst midpoint is more than seventeen times that license spend, and the analyst still cannot open a Microsoft break-fix case alone. Name the split before you post the job.

What an ERP administrator costs in the US

Robert Half publishes starting compensation benchmarks, not total cash and not a loaded cost of hire. As of October 2026, the 2027 US figures are:

  • ERP Systems Analyst (Low: 110,000 USD · Mid: 133,750 USD · High: 158,000 USD)
  • ERP Business Analyst (Low: 103,750 USD · Mid: 126,500 USD · High: 145,750 USD)

The government series is wider than the job you would post. The May 2023 Occupational Employment and Wage Statistics for Computer Systems Analysts (SOC 15-1211) shows a median of 103,800 USD, a mean of 110,800 USD, and a 10th to 90th percentile band of 63,230 to 165,700 USD. That occupation includes analysts who never touch an ERP. Use it as a floor check on the Robert Half ERP titles, and budget the ERP-specific range when the person will own Business Central or Odoo.

Canada does not get a converted copy of the US range. Robert Half's 2027 Canada technology guide projects ERP/CRM consultant pay to grow 3.0 percent, above the 1.8 percent average it projects for technology roles, and it names Microsoft Dynamics 365 as an enterprise-systems skill employers pay more for. Price a Canadian hire from a current local offer, and keep license math in Canadian dollars. As of October 2026, Business Central Essentials in Canada is 108.50 CAD per user per month, paid yearly, plus applicable tax. Premium is 149.20 CAD and Team Members is 10.90 CAD on the same basis.

Assume a 25-person US distributor, 8 people on Business Central Essentials and 17 on Team Members. At October 2026 US list prices, Essentials is 80.00 USD and Team Members is 8.00 USD per user per month, paid yearly. Monthly list is 640 USD plus 136 USD, or 776 USD. The yearly license bill is 9,312 USD. The Robert Half ERP Systems Analyst midpoint of 133,750 USD is about fourteen times that license bill. Premium at 110.00 USD per user per month would raise the eight full users from 7,680 USD a year to 10,560 USD, and the analyst line would still dominate. Hiring the analyst and also paying a partner to do the analyst's weekly work is the double payment. Hiring only the analyst and assuming Microsoft or Odoo will cover custom code is the other one.

What the admin owns each week and what stays with a partner

Week to week, the internal admin is the person users already call. The partner is the person who changes code and who can escalate inside the vendor's rules. Write the split into the support contract and into the job description so both sides can see it.

  • New users, permission sets, and license assignment (Internal admin: Owns · Partner: Consults when a role needs a higher license)
  • Customers, vendors, items, and posting groups (Internal admin: Owns · Partner: Consults when the chart or dimensions change)
  • Period-close checklist and recurring vendor questions (Internal admin: Owns · Partner: Joins when a posting error needs a fix in code)
  • Sandbox copy and test script before a Business Central update (Internal admin: Owns the calendar and the test · Partner: Fixes code that fails the compatibility check)
  • Odoo Studio changes on the Custom plan (Internal admin: Can own, if trained · Partner: Reviews when a Studio change should become a module)
  • AL changes, Python changes, and per-tenant extension code (Internal admin: Does not own · Partner: Owns)
  • Marketplace app conflicts and extension compatibility (Internal admin: Reports what broke in test · Partner: Owns the fix)
  • Business Central cases that must reach Microsoft (Internal admin: Opens the business ticket with the partner · Partner: Triages and escalates)
  • Odoo custom-module upgrades and performance work (Internal admin: Describes the symptom on a copy of production · Partner: Owns the hours)

Odoo Studio sits with the admin only on the Custom plan. Odoo hosting documentation says the Standard plan is Odoo Online only, and Odoo Online hosts databases without custom modules. A Studio change, a custom module, multi-company, the external API, Odoo.sh, or on-premise requires Custom.

What Microsoft support will and will not do

Microsoft's technical support overview says each Business Central customer has a partner who assists with technical support, and that the reselling partner is the frontline: the partner triages the request and either resolves it or escalates to Microsoft. That is the vendor's model for Business Central. It describes how Microsoft routes support. It does not describe our status.

Break-fix is narrow. Microsoft defines it as technical failures during normal use in a standard Cronus environment. The same page says, "Understanding how functionality works isn’t a break-fix issue, but rather relates to training." Assisted training is outside support plans. If your controller wants a walkthrough of deferrals, that hour is a partner or an internal trainer, and it is a separate purchase from the license.

Microsoft also states it does not help correct damaged Business Central data. Under the Service Provider License Agreement it has no legal obligation to change or correct data corrupted by malfunctioning software. If a posting job or an extension corrupts inventory or the general ledger, plan on a partner, a restore, or both. Do not plan on a Microsoft engineer editing the company.

Custom code narrows the case further. If the issue cannot be reproduced in a standard Cronus sandbox, or the cause is custom code, partner or ISV software, or the environment, Microsoft provides best-effort break-fix help and then closes the incident. Premier and Unified Support customers might continue as an advisory case. Public prices for those plans are a procurement question for your Microsoft agreement, so ask your reseller to show the plan name on the quote. To submit requests to Microsoft on your behalf, the partner user must be a delegated admin on the tenant and the partner company must hold the Advanced or Premier partner support plan.

Microsoft's US pricing page tells buyers to "Contact a partner to purchase or to get an assessment, consulting services, or additional pricing." Read that as a routing rule for licenses and services. The people test is still the one that matters: named consultants, hours in the first phase, references at your size, a written phase plan, and code your company can keep if you change firms. Our ERP implementation work is scoped that way, with discovery, configuration, migration, training, and a named owner for the weeks after go-live.

Who sets Business Central updates, apps, and partner access

Business Central online ships two major updates a year, generally available on the first workday of April and October. Microsoft's update timeline gives each release an update period of five calendar months, then a one-month grace period, then an enforced period. In the enforced period, incompatible extensions can be uninstalled so the update can succeed. Extension data is not deleted. Someone must be named to fix or remove the extension before that period.

An internal admin or a partner sets each environment's update window. Update management requires a window of at least six hours. The default is 8:00 PM to 6:00 AM local time for the environment's country or region. During the update, users and sign-in attempts are blocked with the message "Service is under maintenance." The admin owns the calendar: pick the window, take a sandbox copy, and run the close and the warehouse scenarios before production moves. The partner owns any per-tenant extension that fails that test. If both assume the other booked the sandbox, you find out on a Monday when sign-in is blocked.

Internal admins are tenant users with at least the Dynamics 365 Business Central Administrator role in Microsoft Entra. They open the admin center from Settings, then Admin Center, or from the tenant admin URL. A partner reaches the same center through a Granular Delegated Administration Privileges relationship that includes a required Entra role. Delegated administrators do not need a Business Central license or a guest account in your tenant. You can give a partner operational access without buying them an Essentials seat. You should still list that access, and you should still be able to remove it.

Administrators can upload and schedule per-tenant extensions from the admin center. Installing a new global Marketplace app is done from marketplace.microsoft.com, not by uploading the file in the admin center. App update cadence does not control per-tenant extension updates. A Marketplace app can move on Microsoft's cadence while your extension sits still until someone publishes a new build. Put both on the same test checklist.

Leaving a partner is allowed, and it is a cleanup job. Microsoft says the company must clear support contact details, notification recipients, Application Insights keys, and authorized Entra apps the old partner set. The new partner fills those fields again. Do that in the same week you end the contract, or the old firm still receives tenant notifications. The first weeks after go-live are the wrong time to discover this. Our note on ERP hypercare after go-live covers the handover list while the implementation team is still in the building.

What an Odoo subscription includes after go-live

Odoo pricing includes, on Standard and Custom, unlimited email support Monday to Friday, 24 hours a day, 5 days a week, in English, French, Spanish, or Dutch, plus eLearning. Upgrades of the standard product are included. The page states: "What's not included in these plans: Implementation service and access to Odoo expert services. Maintenance of custom code."

As of October 2026, yearly billing is 31.10 USD per user per month for Standard and 61.00 USD for Custom. The yearly discount applies for 12 months to the initial users ordered. Monthly billing is shown as 38.90 USD and 76.20 USD. A Light User is 8.90 USD and is sold after a meeting with an Odoo advisor. Odoo.sh hosting is extra on Custom, and the hosting price is a line you confirm on your own order.

The hosting fork decides who can change what. Standard and Odoo Online cannot run non-standard apps. Custom code means the Custom plan, plus either Odoo.sh or on-premise, plus maintenance of those extra modules. Odoo hosting notes say non-standard apps must be uninstalled before a database can move to Odoo Online. A company that built three custom modules cannot move those modules onto Standard.

Odoo also describes who usually buys implementation. Companies with fewer than 50 employees usually buy implementation from Odoo through Success Packs. Companies above 50 employees usually use a partner for local project management. That sentence is about the project, and it is not a rule that a partner must run the system after go-live. A 40-person firm can still keep an internal admin and buy hours only for custom work. A 70-person firm can still refuse a retainer that duplicates that admin. Odoo implementation for a company this size is a phase plan with a named internal owner, whether the build was done with Odoo or with a local firm. Dynamics 365 implementation follows the same ownership test on the Microsoft side.

Success Packs are project hours

Success Pack prices are easy to misread as a monthly support plan. They are blocks of consulting time. As of October 2026, new-customer packs are:

  • Starter (Hours: 4 · New-customer price: 493.00 USD · Returning-customer price: 580.00 USD)
  • Basic (Hours: 25 · New-customer price: 3,060.00 USD · Returning-customer price: 3,600.00 USD)
  • Standard (Hours: 50 · New-customer price: 5,950.00 USD · Returning-customer price: 7,000.00 USD)
  • Custom (Hours: 100 · New-customer price: 10,625.00 USD · Returning-customer price: 12,500.00 USD)
  • Pro (Hours: 200 · New-customer price: 21,250.00 USD · Returning-customer price: 25,000.00 USD)

New customers get 15 percent off the first pack. The Custom pack includes app customization. The Pro pack bills travel time and travel expenses separately for onsite work. Odoo says performance issues need a success pack of at least 50 hours. A slow inventory valuation is a 5,950 USD pack for a new customer, or 7,000 USD if you are returning, and it is spent hours, not a standing monthly fee. Extra monthly charges apply for maintenance of extra modules or lines of code, and that monthly rate is written into the contract when you sign. For how retainers, hour banks, and hypercare differ once the project ends, see Odoo support options.

Assume 20 Odoo Custom users on yearly billing at 61.00 USD, the October 2026 list for initial users in the discount window. The subscription is 1,220 USD a month, or 14,640 USD for those twelve months. One Standard success pack at the new-customer price adds 5,950 USD and 50 hours. Together that is 20,590 USD before hosting and before any monthly maintenance on custom lines. It is still well under the US analyst midpoint of 133,750 USD. The pack runs out when the hours run out. The analyst does not gain the right to skip custom-module maintenance because the subscription is paid.

What the Odoo contract requires you to name

Odoo Enterprise Subscription Agreement version 13, dated 24 September 2026, requires the customer to "appoint 1 dedicated Customer contact person for the entire duration of the Agreement." That person is your admin or your finance lead. The customer may switch the main point of contact to another Odoo partner, or to Odoo SA, with 30 days' written notice.

Odoo SA commits to start handling bug submissions within 2 business days. Unlimited free tickets cover bugs and guidance on standard features and Covered Extra Modules. Development and customization questions need a separate service agreement. If you use a partner, that partner is the main contact, and Odoo subcontracts Covered Extra Module services to the partner. Your internal admin can still be the dedicated customer contact. The partner is the door for covered custom modules.

Covered Extra Module maintenance is a monthly fee per 100 lines of code, rounded up, counted by the product's cloc command. The agreement says the rate is specified in writing when the contract is signed. If a covered module lacked maintenance for the prior 12 months, Odoo may charge a one-time fee for each missing month at upgrade. Stopping the maintenance line to shrink this year's invoice reappears as a catch-up bill when you need the version upgrade. Ask each bidder to price that maintenance as its own line, in currency per 100 lines, before you accept custom modules.

Version age has its own charge. If a database is older than the three most recent major versions, once a year and no earlier than six months after a new major release, the customer agrees to pay an extra fee equal to 25 percent of the annualized subscription, based on the current per-user price and user counts. On renewal, charges can rise by up to 7 percent per year of the previous term if they sit below the current list price. An admin who keeps the database inside the three most recent major versions avoids the 25 percent fee. A partner who upgrades custom modules is what makes that possible once the database is no longer standard code.

Standard support lasts the first three years after a major release and covers Odoo Online, Odoo.sh, and on-premise. Odoo 17.0 standard support ended September 2026. Odoo 16.0 standard support ended September 2025. If the database is still on 17.0, book the upgrade test now. The admin owns the calendar, the partner lifts custom modules, and extended support is a separate fee only for on-premise (any version) and Odoo.sh (a limited number of versions).

Odoo's Cloud SLA sets a 99.9 percent monthly uptime target. The 99.9 percent figure is a nonbinding target of at most 45 minutes of unplanned downtime per month, excluding planned maintenance. Plan a warehouse workaround for a single-server loss of up to 24 hours of data and 6 hours of recovery, and for 24 hours on both in a data-center loss.

On licensing, Odoo's license terms say Enterprise Edition software may be used, modified, and executed after modification only with a valid subscription for the correct number of users. Publishing or selling copies of the Enterprise software is forbidden. Customers may write their own modules and distribute those modules under a compatible license. You can own the modules you paid to build. You cannot treat the Enterprise product itself as something your admin may copy onto an unlicensed server.

How to choose the split without paying twice

Score the candidates on named people, hours, references, a phase plan, and code ownership. A badge on a directory page does not tell you who answers the phone in October when an extension blocks the update.

Use this order.

  1. List the weekly tasks from the table above and mark each one admin, partner, or shared. Shared means the admin prepares the case and the partner changes the system.
  2. Price the admin as a salary band, using the Robert Half ERP title if the person lives in the ERP, and keep the BLS analyst series as context only. Add a loaded-cost factor from your own payroll, because the published figures are starting pay.
  3. Price partner work as hours you can see. For Odoo, map likely work onto a Success Pack size, and add a written per-100-lines maintenance rate. For Business Central, ask for the hours to test and repair per-tenant extensions at each April and October release, plus a rate for data repair, because Microsoft will not do that repair.
  4. Confirm the legal door. On Business Central, the partner who escalates needs delegated admin rights and an Advanced or Premier partner support plan. On Odoo, name the dedicated customer contact and decide whether the partner is the main contact for Covered Extra Modules.
  5. Write the exit. Business Central partner changes require the notification and app cleanup in the admin center. Odoo contact changes need 30 days' written notice. Keep a copy of custom code and of the configuration notes in your own storage.
  6. Staff the first month after go-live as a named roster, with the admin on the close and the partner on defects, and end that roster on a date.

If the system is not live yet, decide the owner during the build. The target we use for a first usable phase is 8 to 12 weeks, and the support roster should be named before that phase ends. A 20-person company rarely needs a full-time analyst on day one. A controller or operations lead can hold users, permissions, and the close for the first year, with a partner on a small hour bank. An 80-person company with custom pricing, several warehouses, and a version upgrade due inside twelve months usually does need a majority-time admin, because the weekly queue will crowd out a controller's close. Either way, custom code, extension compatibility, and vendor escalation stay on a partner contract with a named person and a rate.

What to lock in the month after go-live

Treat the first month as a handover with dates on it.

  1. Name the internal admin in writing, including a backup for vacation. On Odoo, that name is also the dedicated customer contact in the subscription.
  2. List every user and license. On Business Central, confirm who is Essentials or Premium and who is a Team Member at 8.00 USD, and remove unused full users before the yearly renewal. On Odoo, confirm Standard versus Custom and whether the user count matches the subscription, because Enterprise use after modification requires a valid subscription for the correct number of users.
  3. Book the next release test. For Business Central, set an update window of at least six hours and run the sandbox before the five-month window gets short. For Odoo, check whether you are inside the three-year standard support window. Odoo 17.0 standard support ended September 2026.
  4. Inventory custom work: per-tenant extensions, Marketplace apps, Odoo Studio customizations, and custom modules with a line count. Ask the partner for the maintenance status of each covered module so a 12-month gap does not become a catch-up fee at upgrade.
  5. Run one restore conversation. Microsoft will not correct damaged Business Central data. Odoo's published disaster objectives are 24 hours of data for a single-server loss, with a 6-hour recovery time, and 24 hours for both on a data-center loss. Decide who declares the incident and who talks to the warehouse if you must re-key a day of shipments.
  6. Review the split at day 30. Tasks the admin never touched go back to the partner. Tasks the partner handled that are only permissions and master data come in-house. That review is what keeps the next invoice matched to the job you thought you bought.

The decision is a staffing plan with two names on it. Pay the salary when the weekly queue is real. Pay the partner for code, upgrades, escalation, and the repairs the vendor has already said it will not do.

How Flectic can help

Flectic implements Odoo or Dynamics 365 for companies of 20 to 100 people in the US and Canada, and every phase has a defined scope and price in writing before it starts. Configure first. We customize only where the business case pays for it. Compare the split in this guide with the ERP implementation service, then Book a free discovery call with Flectic.

Sources

Frequently asked questions

Where can I get implementation services, and how much does it cost?

Odoo sells implementation-style consulting as Success Packs. As of October 2026, new-customer packs run from 4 hours at 493 USD to 200 hours at 21,250 USD. Returning customers pay more for the same hours, and performance work needs a pack of at least 50 hours. Companies under 50 employees usually buy that implementation from Odoo through Success Packs, and companies above 50 usually use a partner for local project management. That split is about the project, not who runs the system after go-live. Use the task split in this article, and staff a scoped phase with a named internal owner, before you treat a pack as the operating model.

What should I do if I have performance issues?

Odoo directs performance issues to a Success Pack of at least 50 hours. At October 2026 new-customer prices that pack is 5,950 USD, and the returning-customer price is 7,000 USD. Have the partner reproduce the slowdown on a copy of your database and name the fix in the hour estimate. Subscription email support covers bugs and guidance on standard features, and it does not replace that performance pack.

Does Microsoft support cover how-to questions, or only break-fix?

Microsoft treats Business Central break-fix as a technical failure during normal use in a standard Cronus environment. How the product works, and assisted training, sit outside that definition and outside support plans. If the issue cannot be reproduced in a standard sandbox, or it comes from custom code, partner or ISV software, or the environment, Microsoft gives best-effort help and then closes the incident, with a possible advisory path for Premier and Unified Support customers.

Can our Odoo database with custom modules stay on Odoo Online?

Custom modules cannot stay on Odoo Online. The Standard plan is Odoo Online only, and that hosting does not run custom modules. Studio, multi-company, the external API, Odoo.sh, and on-premise require the Custom plan. Non-standard apps have to be uninstalled before a database can move to Odoo Online, so a custom build stays on Custom with Odoo.sh or on-premise, plus contractual maintenance for the extra code.

What happens to Odoo support and upgrades if we stop paying maintenance on custom modules?

Standard-product upgrades stay inside the subscription, and bug handling for standard features still starts within two business days. Covered extra modules are different. Maintenance is a monthly fee per 100 lines of code, and if a covered module had no maintenance for the prior 12 months, Odoo may charge a one-time fee for each missing month when you upgrade. Development questions also need their own service agreement.

Can we leave our Business Central partner, and what access do we have to clean up?

You can change partners. An internal user with the Dynamics 365 Business Central Administrator role can open the admin center and clear the support contacts, notification recipients, Application Insights keys, and authorized Entra apps the old partner set. Microsoft expects the new partner to fill those fields again. Delegated partner admins reach the admin center without a Business Central license, so remove that relationship or the old firm can still see the tenant.

Is the Odoo 99.9 percent uptime figure a commitment we can enforce?

Odoo publishes a 99.9 percent monthly uptime target and says that lines up with at most 45 minutes of unplanned downtime per month, excluding planned maintenance. The same page says the uptime and recovery objectives are not legally binding. Plan the warehouse and the close around the published disaster objectives as well: 24 hours of data loss and 6 hours to recover for a single server, and 24 hours for both in a full data-center loss.