How to run an ERP RFP with questions for implementation partners
A finance or IT leader who must choose a partner for a self-hosted Odoo or ERPNext project needs answers that can be compared side by side. The questions on this page are neutral: they do not assume a platform, and they apply to any bidder. Ask every partner the same questions in the same order, and require written answers tied to your own scope, entities, process list and data set. A generic answer about methodology tells you little. An answer that names the modules you need, the processes you will configure, and the custom code you expect to build tells you whether the bidder has understood the work. DeployOpen's own answers to these questions are part of how it scopes work, and they are written against the client's stated requirements rather than a template.
The questions are organized by area. Start with the fit-gap method, because every later answer depends on it. Then ask which processes the partner will configure and which it will customize, and what each customization costs to keep through upgrades. Data questions come next: how opening balances, open items and history move across, who signs off reconciliations, and what happens to records you must retain. Finally, cover localization and tax ownership, training, and support after go-live. For each area, record who is responsible, what is delivered in writing, and what you must confirm in your own environment before a bid can be compared.
Read the answers with your own risk register open. Check that each bidder describes the same edition, plan and hosting model, since those choices limit which features and upgrade paths are available. Ask for the named roles who will do the work, not only the firm's credentials. Where a bidder says a capability is standard, ask them to show where it is documented or demonstrated in your edition. Keep the completed answers as part of the contract baseline, so that scope changes after award can be measured against what was promised.
Which question areas matter most for your scenario
A single legal entity starting on an ERP with no legacy system to unwind usually carries the lowest structural risk, so the RFP should focus on fit-gap discipline and the cost of change over time. The main exposure is scope creep: teams ask for many custom changes before they have tested standard processes. Weight your questions toward how the partner decides what to configure and what to build.
- Fit-gap method: Ask how the partner documents each process, which gaps they close with configuration, and how they record decisions that were accepted as standard.
- Configuration versus customization: Ask for a written split of standard settings, add-on modules and custom code, and how each category is kept upgradable.
- Opening balances: Even without history, ask how the partner loads opening balances and reconciles them to sign-off.
- Support after go-live: Ask how upgrades, fixes and changes are handled after the first year, and who holds the environment.
- Training plan: Ask which roles are trained, when, and how training material is updated after each release.
Check whether your entity has its own localization and tax needs, and confirm the partner's role in them before you compare fees.
A group with several legal entities needs questions about structure before features. Intercompany flows, separate charts of accounts, currencies and shared master data decide whether one instance or several is the safer choice. The RFP should ask partners to design the entity model before they quote configuration effort.
- Entity model: Ask how the partner would structure companies, charts of accounts and currencies, and where they would separate instances instead.
- Licensing for multi-company: Confirm which Odoo plan includes multi-company, and how ERPNext handles companies within one site, before you assume a feature is available.
- Intercompany transactions: Ask for worked examples of intercompany invoicing, eliminations and settlement, and who owns those rules.
- Master data governance: Ask how customers, suppliers and products are shared, who approves changes, and how duplicates are prevented.
- Localization and tax per entity: Ask who maintains tax rules for each country and how changes are tested before release.
Request a reference design from the partner, not only a feature list, and check how it handles a new subsidiary added after go-live.
Replacing a legacy ERP or accounting system shifts risk toward data. The RFP should test how the partner moves master data, balances and history, and how they prove the numbers match. Many projects underestimate how much custom logic the old system holds, so ask how that logic is found and retired.
- Migration approach: Ask how the partner sequences master data, open items, balances and history, and which history they would archive instead of migrate.
- Import tooling and batches: Ask which import tools they use, how batch sizes are set, and how trial loads are reconciled.
- Hidden logic: Ask how custom reports, scripts and interfaces in the legacy system are inventoried and assigned to standard features or new code.
- Cutover plan: Ask for the cutover steps, including a freeze window, reconciliation sign-off and rollback criteria.
- Parallel running: Ask whether the partner proposes a period when both systems run, and who signs off the variances.
The ERP data migration checklist covers these steps in more detail.
A regulated financial institution needs the RFP to test evidence as much as functionality. Requirements from the FTC Safeguards Rule, including encryption, multi-factor authentication, change management, activity logging and periodic testing, apply to the systems that hold customer information. Broker-dealers face record retention rules under SEC Rule 17a-4. The partner should show how they produce evidence, not only how they configure the system.
- Security controls: Ask how the partner implements encryption in transit and at rest, multi-factor authentication for every user, and logging of authorized user activity.
- Change management: Ask how configuration and code changes are approved, tested and recorded, and how that record is kept for assessors.
- Testing cadence: Ask how penetration testing and vulnerability assessments are scheduled and who performs them, since the FTC rule sets a baseline for institutions without continuous monitoring.
- Record retention: Ask how ledgers, bank statements and business communications are stored and retained for the periods your regulator requires, and how archives are protected.
- Access and segregation of duties: Ask how roles are defined, reviewed and removed, and how the partner documents controls for your auditors.
Remember that the partner prepares systems and evidence but does not issue audit reports or certifications. Confirm your regulator's expectations with your own compliance team.
What fit-gap method should a partner use before configuring Odoo or ERPNext?
What does a good fit-gap method look like for an Odoo or ERPNext project?
A sound fit-gap method checks each business process against standard functions before any configuration starts, then records every difference as a named decision. The partner should walk your processes end to end, mark each step as covered by standard features, configurable, requiring a workaround, or requiring custom code, and agree the classification with your process owners. Ask the partner to explain how they will handle steps that fall outside standard features, since those steps drive most of the later cost and upgrade effort. Confirm that the method covers finance, sales, purchasing, inventory and any industry-specific processes in your scope.
How should requirements be recorded and traced to standard ERP features?
Each requirement should have an identifier, a plain statement of the business need, the process it belongs to, the owner who approved it, and the standard feature or configuration that meets it. The partner should keep this traceability in a shared register so that a change request can be followed from the original need to the setting, module or custom code that delivers it. Ask how they link requirements to test cases, since that link is what lets you confirm nothing was dropped during configuration. A partner that cannot show this linkage will struggle to explain later why a feature behaves as it does.
How are fit-gap workshops run by business process?
Workshops should be organized by process, such as order to cash, procure to pay, record to report and inventory, rather than by software module, so that the discussion follows how work actually moves between teams. Each session should have a fixed agenda, a named facilitator, the process owner and the users who perform the work, and a written output within a short period after the session. Ask the partner how many workshops they expect for your scope and who must attend, and confirm that the schedule is part of the written scope rather than an informal estimate. Workshops that skip the exception paths, such as credit holds, returns or intercompany entries, tend to surface gaps only during testing.
What should a gap register contain, and who maintains it?
A gap register is the working list of every requirement the standard product does not meet directly. Each entry should describe the gap, the business impact, the options considered (configuration, process change, third-party add-on, or custom module), the chosen option, the estimated effort as stated by the partner, and the owner who accepted the trade-off. The partner should maintain the register during the project and review it at each steering meeting. Ask for a blank template and a populated sample so you can judge whether the register contains real decisions or only a list of features.
How should a partner document decisions and obtain sign-off?
Decisions should be captured in a sign-off record that names the decision, the process owner who approved it, the date, the alternatives rejected and the reason. Sign-off should happen before configuration begins for each process, and changes after that point should go through a formal change request with the same record. The partner should also state who in your organization has authority to accept residual gaps, since that authority is often unclear in multi-entity programs. Confirm that the sign-off record will be handed over as part of the deliverables and kept in your document system, not only in the partner's tools.
What does a good fit-gap answer look like in practice?
A strong answer names a process owner for each area, produces a written gap register with classified items, and ends each workshop with a sign-off record that lists the decisions taken. Ask the partner to provide a sample deliverable from a previous engagement with client details removed, or a fully illustrative example, so you can review the format and level of detail. Look for specific references to standard features, the reasons for each custom item, and the owner who accepted it. Vague summaries, feature lists without decisions, or registers with no owners are signs that the fit-gap will not hold up under testing or audit.
How much does a fit-gap phase cost, and what drives it?
The fit-gap phase is usually a one-time cost paid to the partner for analysis, workshops, documentation and sign-off, and it is priced from the written scope rather than from a published rate. The main drivers are the number of entities, currencies and countries, the number of processes in scope, how many workshops are needed, how many stakeholders must attend, and how many industry-specific processes require custom analysis. Ask the partner to separate fit-gap effort from configuration and custom development in the quote, so you can see what you pay for analysis and what you pay for building. DeployOpen does not publish prices, and a quote follows from the written scope agreed before work starts.
Can our own team run the fit-gap without an implementation partner?
Your team can run a fit-gap internally if it has process owners who know the work, someone who understands the standard Odoo or ERPNext functions, and time to maintain a register and sign-off record. The risk is that internal teams often map to the software they already know rather than to the standard features that exist, which pushes gaps into custom code. Many organizations use an external partner to challenge the classification and facilitate workshops while keeping decisions with their own owners. Confirm with any partner whether they will accept your existing templates or require their own, and who owns the final register.
How should opening balances and history be migrated?
Ask the partner to separate what moves into the new ERP from what stays in the legacy archive. Opening balances, open receivables and payables, open purchase and sales orders, and master data (customers, suppliers, items, chart of accounts) must load into Odoo or ERPNext so the first live period starts clean. Closed history is usually archived and queried on demand. Ask for a written list of every object type, the source system for each, the target document, and who decides whether a given item migrates or is archived. The reconciliation sign-off owner should be a named person on the finance side, not the implementation team.
The ERPNext Data Import tool loads and updates records from CSV or Excel files or public Google Sheets, using downloadable templates, and it supports child table rows such as invoice lines. The documentation advises importing only a few thousand records at a time. Ask how the partner batches larger loads, in what order (masters first, then open items, then balances), how each batch is validated, and how a failed batch is rolled back or corrected without duplicating records. For Odoo, ask which import method they use and how they confirm record counts. Scripted loads should be reviewed like any other custom code.
A credible answer includes repeated trial loads into a non-production copy, with each run producing reconciliation reports that compare record counts and control totals (for example, trial balance by account and period, open item totals by customer and supplier) against the legacy system. Ask for the number of trial loads planned, the reconciliation reports they will produce, the tolerance for differences, and how unexplained variances are logged and closed. Ask who signs off each report and what the cutover steps are on the final weekend. Treat any partner that cannot name these artifacts as a signal to request a sample before signing.
How are custom modules kept upgradable?
What does a partner do to keep custom ERP modules upgradable?
A credible partner keeps custom code in its own version-controlled repository, separated from the vendor core, and tests every change against a copy of production data before it moves forward. Custom behavior should live in separate modules or extensions that hook into documented extension points, so the vendor's core can be replaced during an upgrade without rewriting the business logic. Ask the partner to show the repository layout, the branching and review process, and the list of places where custom code touches standard objects. Each of these answers tells you how much work the next major version will require.
Why does Odoo on Odoo.sh or Odoo Online force regular major upgrades?
According to the Odoo upgrade documentation, major version upgrades are mandatory every two years on Odoo Online and Odoo.sh. That means custom modules must be planned as a recurring cost, not a one-time build. Odoo's upgrade service moves a database to a newer supported version using an upgraded test database, which the client should test before anything goes to production. Ask the partner how many custom modules they expect to adjust in each cycle and who owns that testing window.
Can on-premise Odoo custom modules be upgraded without an Enterprise subscription?
No. Per the Odoo upgrade documentation, using the upgrade service on premise requires an Enterprise subscription, and the Community edition has no access to that service. A Community-based deployment can still be upgraded, but the team must perform the migration of code and data itself, so the effort and skill required should be scoped before you commit. Ask the partner which edition they have assumed, who holds the subscription, and what happens to custom modules if the subscription lapses.
How should a test environment be set up for ERP upgrades?
Each upgrade should be rehearsed on a non-production copy that matches production in code, configuration and a recent data extract, with personal data masked where the rules require it. For Odoo, the upgraded test database is the primary rehearsal artifact, and it should pass the agreed test scripts before production is touched. Ask the partner to describe the environments (development, test, staging, production), how refreshes are scheduled, and who signs off the results. Database duplication with neutralization is one documented way to create test copies on premise.
How do supported version lists and release cadence affect ERPNext customizations?
ERPNext customers must run a listed version of the Frappe Framework and ERPNext, according to Frappe's supported versions policy. Per that page, version 14 reached end of life on January 31, 2026, version 15 is planned to be supported until the end of 2027, and version 16 until the end of 2029. Both supported majors receive frequent minor releases, for example v16.51.1 on October 15, 2026 and v15.123.0 on October 14, 2026, so the partner should plan routine minor-release testing as well as major migrations. Ask which version the design targets, when the next major move is planned, and whether the build avoids core file edits.
What should custom ERP code include before it goes live?
Custom code should ship with automated tests, documented dependencies, and a short description of each business rule it implements. Without tests, every upgrade becomes a manual regression exercise, and the team cannot prove that financial postings, tax calculations or approvals still behave as before. Ask the partner what test coverage they commit to for custom modules, which test data they use, and how failing tests are handled before a release. A partner who cannot describe their test approach should not be scoping upgrade work.
What should an upgrade estimate for custom modules include?
A useful upgrade estimate lists each custom module, the core objects it depends on, the changes expected in the next major version, the test cases to rerun, and the environments needed. It should also state the assumptions about the vendor's release notes and the partner's involvement in each cycle. Ask for the estimate in writing, with the basis for each line and a clear statement of what the client's team would own. The estimate is only as good as the module inventory behind it, so ask how that inventory is kept current.
Who pays for upgrades after go-live and how is that work agreed?
Upgrade work usually falls into three cost areas: vendor subscription or licensing needed to access upgrade tools, partner effort for code and test changes, and internal time for business testing and sign-off. The first is recurring, the second recurs with each major version, and the third is often underestimated. Ask the partner to separate these items in the quote, to state whether ongoing upgrades sit under a support retainer or a separate fixed scope, and to confirm how changes to custom modules are documented and approved.
Who owns localization, tax and statutory reporting?
Localization and tax are where ERP projects most often stall after go-live, because responsibility is split between the partner, the client's finance team and outside advisors. Ask the partner to state, for each area below, what it configures, what it only tests, and what must be confirmed by your tax advisor or a local partner before it goes live.
Chart of accounts and country packs
Ask who designs the chart of accounts for each legal entity, who maps it to statutory reporting lines, and whether the partner installs and configures the country localization for each jurisdiction. Odoo localization and ERPNext country setup differ in depth by country, so request the specific localization modules named in the quote and confirm their version against the release you will run.
Tax engine configuration
Confirm who enters tax codes, rates, exemptions and reverse-charge logic, and who documents each rule against the advisor's written position. Ask whether the partner configures rules in the standard tax settings or writes custom code, because custom tax logic is harder to keep correct across upgrades. Every rate must come from the client's advisor, not from the implementation team.
Statutory report and e-invoicing output
List every statutory return and its output format, then ask who builds each report, who reconciles its totals to the ledger, and who tests the file against the authority's current validation. E-invoice format and transmission are a separate item, so ask whether they are in scope or handled by a dedicated e-invoicing provider.
Who maintains rules when law changes
Ask how the partner learns of a change, how long it takes to update configuration in a test database, and whether that work is in the retainer or billed as a change request. Name who decides that a change is required: the client's advisor, the vendor's localization release, or the partner. Clarify this before go-live, not during the first filing deadline.
Who signs off tax configuration
Agree in writing who approves each tax setting before it reaches production: the client's tax lead, an external advisor, or a local partner in each country. Ask the partner to show the sign-off record it will keep, including the test cases and the approver's name and date, because auditors will ask for it. A configuration change without approval should be treated as a control exception.
Partner-owned and client-confirmed items
Ask the partner to split its responsibilities into two lists: items it configures and tests itself, and items that the client's tax advisor or a local partner must confirm. Require that the split appear in the statement of work, so neither side assumes the other has checked a rule. Any item missing from either list is a scope gap to close before signing.
What training plan comes with the implementation?
Does the implementation include role-based ERP training?
Role-based training is normally part of the written scope, and the roles come from the fit-gap workshops. Each role, such as accounts payable clerk, warehouse operator, approver or controller, gets a list of the screens, documents and approval steps it uses in the configured system. Training then covers those tasks using your own company data and your own approval rules, not generic demo content. Confirm in the quote which roles are covered, how many session groups are planned, and whether sessions are delivered on site, remotely or both.
What is train-the-trainer in an ERP rollout?
Train-the-trainer means the implementation team teaches a smaller group of your own super users, who then train colleagues in their departments. This reduces dependence on the implementation team after go-live and gives you people who can answer routine questions locally. Ask the partner how many super users they expect per function, what material they will hand over, and whether super users sit in the same sessions as the implementation consultants so they learn the configuration reasons, not just the button clicks.
How much sandbox practice is included before go-live?
Practice happens in a non-production copy of the system, usually a training database that contains configured processes and sample or anonymized data. Users need repeatable practice on the same transactions they will run in production, such as a purchase order through receipt and vendor bill, or an order through delivery and invoice. Ask how many practice environments are provided, how they are refreshed when configuration changes after testing, and how personal data is masked in them, since a copy of production data carries the same privacy obligations as the original.
Who owns the training materials after the project ends?
Ask for training materials to be delivered into your own documentation system, in editable formats, and linked to your configuration record. Typical items are role guides, process maps, screenshots from your configured system, short recordings and a list of known exceptions. Materials that stay only inside the partner's tools become expensive to update later. Confirm in writing who holds the source files, whether they can be edited by your staff, and how they are versioned against each release of the platform.
How is training repeated for new hires and after upgrades?
Training should be repeatable without the implementation team. Plan an onboarding path for new hires that uses the role guides and the sandbox, and a named internal owner who approves changes to those guides. After each platform upgrade, the super users should test the changed screens in the upgraded test environment before production, then update the guides and run a short briefing. Odoo states that on-premise and cloud upgrades should be tested on an upgraded test database before production, so ask how the partner will support that cycle and whether it is in the fixed scope or a retainer.
How does training link to the cutover plan?
Training should be scheduled backward from the cutover date, not as a separate workstream. Users need to be trained on the configured system close enough to go-live that they remember the steps, yet early enough to practice the migrated data and the first closing period. The cutover plan should name which roles are needed during the freeze, which users handle the first live transactions and who supports them during the first weeks. Ask the partner to show this sequence in the project plan and to state what happens if a role is not trained by the planned date.
What should a training plan cost and what drives it?
Training cost depends on the number of roles, the number of users per role, the number of sites and languages, and whether sessions are live or recorded. Your own staff time is a cost too, because super users and approvers must release hours for practice and review. Ask for the training effort to be itemized in the quote, with session counts, material deliverables, sandbox refreshes and any post-go-live refresher sessions. No price or duration should be assumed until those items are written into the scope.
What support looks like after go-live
After go-live, the sequence moves the system from close attention to a predictable routine: defects are sorted, each upgrade is tested before it reaches production, security patches are applied inside the support window, and the ongoing scope is written down so both sides know who does what.
Run hypercare with a named defect queue
For the first weeks after cutover, the implementation team stays close to finance, operations and IT users. Every issue is logged in one shared queue with a reporter, a module, a severity and a link to the process owner who signed off the design. Hypercare exits when the queue holds only low-severity items and the open period has closed cleanly. Ask your partner to show the queue, its severity definitions and the exit criteria they will use before go-live, not after.
Triage defects by root cause
Each reported issue is classified as a configuration error, a data problem, a custom module defect, a user training gap or a platform bug. The classification decides who fixes it and whether the fix belongs in the configuration baseline, the custom code or the vendor's upstream project. Configuration fixes are recorded as parameter changes so they appear in the change log. The step is complete when every open item has an owner, a severity and a root-cause label. Ask how triage results feed back into the test scripts.
Confirm which version is supported
Before any upgrade work, check the platform's support status. For Odoo, standard support covers three years after a major release on Odoo Online, Odoo.sh and on-premise, including security updates and bug fixes. Odoo 20.0 standard support runs to September 2029, and Odoo 17.0 standard support ended in September 2026. Extended support is limited to Odoo.sh and on-premise for select versions, and security patches are provided only during standard support. For ERPNext, warranty coverage from Frappe requires a listed version and a matching Frappe Cloud support plan. Ask your partner to confirm the support window in writing for your exact version and hosting model.
Test each minor and major release
Before any minor or major upgrade reaches production, the upgraded copy of the database is tested against the regression suite, the custom module test cases and the month-end and tax reports. For Odoo, the upgrade service produces a test database that must be validated first, and on Odoo Online and Odoo.sh major upgrades are mandatory every two years. Odoo SaaS releases arrive every two to three months. For ERPNext, both supported major versions receive frequent minor releases, so the same gate applies to each. The step closes with a signed test report that names what was tested, what failed and what was accepted as a known issue.
Apply security patches inside the window
Security patches are handled as a separate track with a documented intake, impact review and deployment record. The partner checks each advisory against your hosting model, applies it to a staging copy, runs the security regression tests and then schedules production deployment with a rollback plan. Because Odoo provides security patches only during standard support, the record should show the support status at each patch date. The step produces a patch log that auditors and security teams can read. Ask who is authorized to approve an emergency patch and how quickly the partner says it can act.
Manage change through a controlled release calendar
Functional changes, custom module releases, configuration updates and platform upgrades share one calendar. Each change has a request, an approver who is not the developer, a test result and a deployment record. Segregation of duties is checked at each release, and the configuration baseline is updated so the next upgrade starts from a known state. The step is complete when the calendar, approvals and deployment records can be produced for a single period on request. Ask how the partner separates development, test and production access.
Agree fixed-scope work and retainer scope
Separate the work into two lists. Fixed-scope items are defined deliverables with an agreed scope, such as a specific upgrade, a new report or a migration of a legacy module, and they are quoted in writing before work starts. Retainer items cover ongoing support, routine patch handling, upgrade testing and continuous monitoring, and they are defined by monthly capacity, response expectations and included activities. Ask for the retainer terms in writing, including what is excluded, how overflow is priced and what happens when a platform version leaves support.
Review service and plan the next cycle
On a regular cadence, the partner and the business owner review open defects, release history, patch compliance, support status and upcoming version dates. The review sets priorities for the next release cycle and updates the risk register where a version is approaching the end of its window. The step closes with a written review note and an agreed backlog. Ask for a sample review note from another engagement, with client details removed, so you can judge the depth of the review before you sign.
Which answers should worry you in an ERP partner
Partner answers reveal how an ERP project will be run long before go-live. The red flags below cluster around four risks: unclear scope, data that cannot be proven correct, custom code nobody can upgrade, and support nobody has written down.
No written fit-gap method
A partner who says fit-gap is done by workshops alone, without a documented list of processes, gaps and decisions, cannot show what will be configured, what will be customized and what will be dropped. Ask for the template they use, who signs off each process, and how a gap is priced and approved before build starts. If the answer is a verbal walkthrough, expect scope changes later.
Promise of no customization
A promise that the ERP will need no customization usually means gaps have been hidden or pushed into spreadsheets and manual steps. Ask which processes the partner has mapped to standard features, which ones rely on workarounds, and who owns those workarounds after go-live. Illustrative check: ask them to name three processes that required a change to standard behavior in a previous project.
Migration without reconciliation sign-off
Opening balances and history that are loaded without a reconciliation sign-off by the finance owner leave the ledger unverified at cutover. Ask who prepares the trial loads, what totals must match between the legacy system and the new one, and who signs before the cutover. No named signatory means no agreed definition of a correct migration.
Custom code with no upgrade plan
Custom modules that are not built to follow the platform's upgrade path become a fixed version that nobody can move. Ask how custom code is isolated from core files, how it is tested against each new release, who carries the upgrade effort, and whether the source is held in the client's repository. The Odoo upgrade service, for example, produces an upgraded test database that must be tested before production, so the partner should plan that test step in writing.
Localization and tax owned by no one
When a partner cannot say who maintains tax rates, statutory reports and local chart of accounts after go-live, those duties fall to the client's finance team by default. Ask whether localization is delivered as a named component, who updates it when rules change, and who tests the tax reports against a sample of filings. Confirm the scope in writing for each country and entity in the project.
Training treated as a one-day session
A single training day for finance, warehouse and approvers rarely covers role-specific tasks, month-end procedures or exception handling. Ask for a training plan by role, the materials that will remain after the project, how training is tested before go-live, and who trains new joiners later. Treat a plan with no follow-up as an unfunded risk to adoption.
Support with no written scope
Support described as available whenever needed, without written service hours, response categories and exclusions, leaves the client unsure who fixes a failed upgrade or a broken report. Ask what the support covers after go-live, how security patches are handled for the chosen version, and what is billed separately. For Odoo, standard support on each major release has a defined end date, so ask the partner to tie support terms to the version lifecycle.
How to score partner responses
This table lists the main question areas for an ERP implementation partner, what a full-mark answer looks like, and the evidence to request for each. Weights are relative shares you set yourself, so agree them with finance, operations and security before responses arrive. The main takeaway is that a strong answer is backed by a named artifact you can inspect, not by a verbal claim.
| Question area | Weight (relative share you set) | What full marks require | Evidence to request |
|---|---|---|---|
| Fit-gap method | Set by you, highest for multi-entity or heavily customized scopes | A written method that maps each process to standard configuration, a settings change or a custom build, with named owners and sign-off points | Sample fit-gap workbook from a comparable project, with the gap log and how gaps were closed |
| Configure versus customize split | Set by you, high where upgrade cost matters most | A stated rule for when to configure, when to use a supported extension and when to build a module, plus a count of custom items with reasons | Reference configuration document and a list of custom modules with their upgrade notes |
| Opening balances and history migration | Set by you, high for regulated or audited entities | Batch plan, trial loads, reconciliation of balances to source ledgers, and a stated history archive approach | Migration plan with reconciliation checkpoints and the cutover period-end steps |
| Custom module upgradability | Set by you, high where a major version upgrade is expected | Modules built on documented extension points, with tests and a documented upgrade procedure against the next supported version | Upgrade runbook and the test results from a prior version move |
| Localization and tax | Set by you, high for multi-country or e-invoicing scope | Named owner for each country's tax and reporting rules, with who maintains updates after go-live | Localization scope list and the update process for tax rate or form changes |
| Training plan | Set by you, medium to high for user adoption risk | Role-based curriculum, train-the-trainer steps, and materials that stay current after each release | Sample training plan and sample course materials for a finance user role |
| Support after go-live | Set by you, high for systems with fixed close calendars | Defined support tiers, response expectations in writing, hypercare length, and an upgrade plan | Support schedule, escalation matrix and a sample service agreement or retainer scope |
| Security and access controls | Set by you, high where data classification is strict | Role design, segregation of duties checks, audit logging and secure hosting in your environment | Sample role matrix and a configuration record for access and change approvals |
What do buyers ask before hiring outside ERP help?
Most buyers start with cost and time, and the honest answer is that both follow from a written scope. DeployOpen does not publish a price list. A quote follows from the scope, deliverables and timeline agreed in writing before work starts, so the useful question is which inputs move the number. The main drivers are the number of legal entities and currencies, how many modules are in scope, how much customization is requested beyond configuration, how much historical data is migrated, and how often the platform must be upgraded afterward. Ask any partner to price each driver separately in the quote so you can see which choices change the cost. Also ask who pays for what: the license or subscription, hosting, the partner's fit-gap and configuration effort, custom module work, data migration, training, and the yearly upgrade cycle. Some of these recur and some are one-time.
Whether the work can be done in-house depends on the platform and the skills you already have. Odoo Community is published under LGPL-3.0, and ERPNext under GPL-3.0, so the software itself has no license fee, but the Odoo upgrade service and extended support require an Enterprise subscription, and ERPNext warranty coverage from Frappe requires a matching Frappe Cloud support plan. Ask the partner which of these components they expect you to buy, and whether they will hand over configuration in a form your team can maintain. Expect the answer to include a named owner for each upgrade, because Odoo SaaS and Odoo.sh environments move to new major versions on a fixed cycle.
The work needs more from your side than most project plans show. Process owners must confirm how orders, purchasing, inventory and close actually run, and they must sign off fit-gap decisions. Data owners must confirm which master records, open items and balances are correct before any load, and they must sign reconciliation. Test time is the constraint most often underestimated, because each upgrade produces a test database that should be checked before production. Ask the partner for a written list of client roles, the hours each role is expected to commit per phase, and the test cycles included in the price. For duration, ask for a plan tied to scope and milestones rather than a generic timeline, and ask what would move the date if the number of entities or migrated years changes.
How DeployOpen scopes, delivers and supports ERP implementations
DeployOpen plans, implements, customizes, integrates, hardens, documents and supports self-hosted open-source ERP inside the client's own cloud accounts, data centers or air-gapped networks. Each engagement starts with a written scope that answers the partner questions on this page in terms of your processes, data and compliance obligations.
How we scope
- Fit-gap workshops map each process in scope to standard configuration, configuration with settings, or a documented custom module.
- The written scope lists entities, currencies, localization and tax handling, modules, integrations and the data sets to migrate.
- Engagements are fixed-scope, so deliverables, acceptance criteria and timelines are agreed in writing before work starts.
How we build
- Configuration is recorded as parameters and settings so it can be reviewed, reproduced in test and moved to production under change control.
- Custom modules are built to follow the platform's extension points and are tested against each new supported release before upgrade.
- Opening balances and history are loaded in trial batches with reconciliation checks that finance signs off before cutover.
How we hand over
- Handover includes configuration records, custom code, integration designs, hardening settings and an upgrade runbook for your team.
- Role-based training material is written for the user groups defined in the scope, with sessions delivered before go-live.
- Evidence for compliance assessments, such as access reviews, change records and migration reconciliations, is prepared for your auditors. DeployOpen does not issue audit reports or certifications.
How we support
- Ongoing support, upgrades and continuous testing are available as retainers, scoped separately from the implementation.
- Upgrade work follows the vendor's supported version calendar, with test upgrades run in a non-production copy before production.
- Ask any partner to confirm who answers production incidents, response expectations and who holds vendor subscriptions in writing.

