Accounting software RFP questions to ask before you choose a partner
A finance and IT team choosing between self-hosted Odoo, ERPNext or LedgerSMB needs a written set of answers that can be compared side by side. This page provides the questions grouped by area, what a good answer looks like, the red flags to watch for, and a simple way to score each bidder. Ask every vendor and implementation partner to answer the same questions in writing against the same scope, so that a licensing answer from one bidder can be checked against the hosting answer from another. The questions are neutral across platforms, but the answers are not. Odoo's Community and Enterprise editions differ in licensing, hosting options and upgrade access, and ERPNext's support warranty depends on being on a listed version with a matching Frappe Cloud support plan. Ask each bidder to state the edition and hosting model their answers assume.
Start with edition and license, because every later answer depends on it. For Odoo, ask the bidder to confirm which edition they are quoting, whether the Enterprise source code is required, and whether the upgrade service and multi-company features are included under that plan. For ERPNext, ask which Frappe version is proposed and whether it is still within its supported window, since version 14 reached end of life on January 31, 2026. A strong answer names the license for each component (for example, GPL-3.0 for ERPNext and MIT for the Frappe Framework) and states any paid dependency in writing. A red flag is a bidder who describes the platform as free without itemizing the subscriptions, support plans and partner fees that the client will still pay.
Next, test localization, migration and upgrades. Ask which chart of accounts templates, tax rules and statutory reports are delivered, which are custom, and who maintains them after go-live. Ask how historical data will be loaded, what tool and file format is used, and how opening balances are reconciled to the source ledger. ERPNext's Data Import tool is documented for batches of only a few thousand records, so a bidder should explain how large histories will be split and verified. For upgrades, ask for the named support window, the test process before production, and who pays for each major upgrade. Confirm hosting responsibilities in writing: who runs backups, database access, patching and disaster recovery, and whether the partner or the client holds the administrator credentials. Also ask how audit evidence is produced, including change records for customizations and retained logs, and confirm the support hours and escalation path.
Which edition and license terms apply to our entities and hosting model?
Odoo Community is the open source core of the Odoo suite, published under the GNU LGPL version 3. The license allows you to download, run, modify and redistribute the Community source code, which makes it the option most often considered for a self-hosted general ledger without a subscription fee for the software itself. The edition does not include the Enterprise features, so the accounting scope, hosting path and support model all need to be checked against your requirements before you commit.
- License permissions: LGPL-3.0 governs the Community code on GitHub, so ask the bidder how they handle any custom modules and whether your code will be distributed to third parties.
- No upgrade service: The Odoo upgrade service is not available to the Community edition, so ask who will carry out and test each major version move.
- No paid support path from Odoo: Confirm which support, patching and extended support options exist for your version, since the vendor's standard support terms are tied to the Enterprise subscription.
- Hosting responsibility: Community is self-managed in your own cloud or data center, so ask the partner to document backups, patching and database access as part of the handover.
- Feature gaps: Ask the bidder to list the Enterprise-only features your process needs, such as Studio customization or the mobile apps, and price any workaround.
Before issuing the RFP, ask each bidder to confirm in writing which of your entity, currency and reporting requirements the Community edition covers without Enterprise modules.
Odoo Enterprise is a paid edition built on the Community core. Its source code is not publicly available, and access requires a subscription or partner access. According to Odoo's pricing page, the Custom plan is the only plan that can be hosted on Odoo.sh or on-premise, and only Custom includes multi-company, Odoo Studio, external API access and custom modules. For a self-hosted accounting rollout, the plan you choose therefore determines whether the multi-entity and integration requirements are possible at all.
- Hosting options: Confirm that the quoted plan is Custom and that it covers on-premise or Odoo.sh hosting in the form your infrastructure team needs.
- Multi-company and API access: Ask the vendor to confirm that multi-company and external API access are included in the quoted plan, since these are needed for multi-entity books and integrations.
- Support windows: Standard support covers the first three years after a major release on on-premise deployments, including security updates and bug fixes. Ask how extended support applies after that window, since the documentation limits paid extended support to Odoo.sh for select versions and on-premise.
- Subscription activation: On-premise Enterprise databases are activated with a subscription code, so ask who holds the code and how renewals are handled.
- Pricing basis: Pricing is per user per month with a yearly discount, so request the user count and the entity structure in the quote.
Ask the bidder to name the specific Odoo version in the quote and confirm the standard support end date for that version in writing.
ERPNext is a free and open source ERP built on the Frappe Framework. ERPNext is licensed under GPL-3.0, while the Frappe Framework is licensed under MIT. Self-hosting is free according to the ERPNext pricing page, and the software can be installed on Frappe Cloud, with Docker Compose, or manually with the bench command line tool. The license structure means that the software cost is zero, but the cost of hosting, implementation and support sits with you or your partner.
- License terms: GPL-3.0 applies to ERPNext itself, so ask the bidder how any custom apps they write will be licensed and delivered to you.
- Supported versions: Frappe's policy says ERPNext and Frappe Framework 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. Ask the bidder which of these your rollout will use.
- Warranty coverage: Frappe states that customers must be on a listed version and subscribed to a matching Frappe Cloud support plan to receive warranty coverage from Frappe, so confirm whether your hosting model qualifies.
- Hosting options: Frappe Cloud shared site hosting starts at 5 US dollars per month, Frappe Cloud servers start at 20 US dollars per month for shared instances and 125 US dollars per month for dedicated servers, and self-hosting is free. Confirm which of these fits your data location and control requirements.
- Server Scripts: From version 15, Server Scripts are disabled by default and Frappe Cloud public shared benches do not allow them, so confirm whether your custom logic requires them.
Ask the bidder to confirm the licensing of any Frappe Cloud plan, the support plan that matches your version, and the hosting model they recommend for your data location.
How does localization coverage handle our tax and chart of accounts?
Who owns the country localization package after go-live?
Ownership sits with whoever signs the support or maintenance agreement, and it must be named in the contract before build starts. For Odoo, the localization packages come from the Odoo release line, so Community and Enterprise deployments depend on the edition and subscription you hold. For ERPNext, localization is delivered through the country-specific apps and the Frappe release line, so the question is which apps your version depends on and who patches them. Ask the vendor and the implementation partner to write down who reviews vendor localization updates, who tests them against your entities, and who approves them for production. Without a named owner, tax changes tend to be applied late or not at all.
How often do tax and localization updates arrive?
Update cadence follows the release line you run, so ask for the exact schedule for your version rather than assuming one. Odoo's standard support covers the first three years after a major release on Odoo Online, Odoo.sh and on-premise, and SaaS versions are released every two to three months. ERPNext v15 and v16 both receive frequent minor releases, and Frappe's supported versions page lists v15 until the end of 2027 and v16 until the end of 2029. Ask how localization fixes are shipped (patch, minor or major), how long a release is tested in staging, and what happens when a major version reaches end of support during your tax filing cycle.
How are custom tax rules documented and tested?
Custom tax rules should live in a written register that records the jurisdiction, the rate or logic, the accounts posted, the effective date, the approver and the test cases that prove the result. Ask whether the rules are configured through standard tax templates or through code, because code-based rules need change management, version control and a regression test set that runs before each upgrade. Request sample test ledgers that cover standard rates, exempt sales, reverse charge and any withholding you apply. Confirm that test results are kept as evidence, not only shown in a demo.
Which statutory reports does the localization cover?
Ask for a written list of the statutory reports the localization generates for your country, including VAT or sales tax returns, withholding returns, and any ledger exports your tax authority requires. For each report, ask which version it was tested on, which fields it reads, and whether the output has been compared against a filed return from your own books. Coverage often differs between standard reports and reports that need a partner module, so the list should state which is which. Note that DeployOpen prepares systems and evidence for compliance work but does not issue filings or attestations, so the tax determination stays with your advisors.
Can we use a standard chart of accounts template?
Yes, most implementations start from a standard template and then map it to your reporting needs, but the template should be a starting point, not the final chart. Ask the partner which template they propose, how it maps to your statutory chart (for example, a national chart used for tax filing), and who approves changes to account numbers after posting begins. Confirm that account structure changes are controlled, because renumbering accounts with existing balances breaks comparatives and audit trails. Request the mapping file as a deliverable so your finance team can review it before go-live.
What does it cost to maintain localization over time?
Costs fall into three groups: the software license or subscription, the partner fees for initial localization and configuration, and the recurring work to keep tax rules current. The license depends on edition. Odoo's pricing lists per-user monthly prices by plan and says only the Custom plan can be hosted on Odoo.sh or on-premise, while ERPNext self-hosting is free under GPL-3.0 with hosting and implementation priced separately. The recurring cost is the people who test and approve each tax change, whether internal or contracted. Ask for the maintenance scope in writing, including how many update cycles per year are covered and what is billed as extra work.
What should we test before accepting localization sign-off?
Accept localization only after your finance and tax team has run the same month of transactions through staging and compared results to the current system. Check invoice tax calculation for each rate and exemption, the posting of tax to the right accounts, the output of each statutory report, and the reconciliation of tax balances to the ledger. Ask the partner to provide the test script, the test data set and the signed results as part of the acceptance record. Repeat the same test after every major upgrade, since localization changes often arrive with the platform version.
Answers that should worry you before you shortlist a vendor
The answers below look minor in a sales call but drive audit findings and continuity problems later. Each one signals that a vendor or partner has not planned for the controls an auditor, tax authority or finance leader will test. Treat a vague answer as a gap to close in writing before shortlisting.
No written support window
A bidder that describes support as ongoing without naming the end date of each major version leaves you exposed to unpatched finance systems. Odoo, for example, publishes standard support windows per major release, and its extended support options differ by hosting model. Ask for the end-of-support date of the exact version you will run, whether security patches continue after it, and who pays for extended coverage. Put the answer in the contract.
Upgrades described as optional
If a bidder treats major version upgrades as something you can defer indefinitely, ask how that fits with the vendor's release calendar. On some hosting models, upgrades are mandatory on a fixed cycle. Require a written upgrade plan that includes a test database, a reconciliation of posted balances after the upgrade, and sign-off from finance before production cutover. Without that evidence, an upgrade can change how entries post without anyone recording the change.
Migration without reconciliation
A promise to move the ledger, open items and history without a defined reconciliation step is a promise nobody can verify. Ask the bidder to show how opening balances, trial balances by period, open receivables and payables, and tax balances will be tied back to the legacy system, and who signs off each difference. Bulk import tools typically handle limited batches, so ask how large loads will be split, sequenced and checked.
Customizations inside core code
Accounting logic changed directly in the core application is hard to test, hard to upgrade and hard to explain to an auditor. Ask whether custom fields, posting rules and reports are built as separate modules or scripts with their own version control, and how each change is reviewed and approved. Scripts that run server-side may need to be explicitly enabled, and that setting belongs in your change records. Changes made to production without a ticket break change management controls.
Hosting responsibilities left vague
When a bidder says the platform is hosted securely without naming who runs the database, backups, patching and access, you cannot assign evidence. Ask for a responsibility matrix covering the database administrator, the operating system, backup testing, encryption keys, privileged access and log retention. The matrix should state which party produces each piece of audit evidence and where the logs are kept. Gaps in this matrix are where audit requests stall.
Edition limits hidden until contract
A bidder that quotes a low price but does not state which features need a higher edition may be hiding the cost of multi-company support, customization, external API access or an upgrade service. Ask the bidder to list, in writing, which required features are available on the edition and hosting model they propose, and whether on-premise use is covered. Confirm each item against the vendor's current edition page before you rely on it.
Who runs the hosting, backups and access once we go live?
Every operational duty needs a named owner in the RFP response before contract signature. An open source accounting rollout usually involves three parties: the software vendor or project that supplies the code and, for some editions, the upgrade and support services; the hosting provider that runs the servers, database, backups and network controls; and the implementation partner that configures, customizes and migrates the books. Each one can do part of the work, and gaps appear where two parties each assume the other is responsible. Ask every bidder to produce a responsibility matrix that lists hosting, patching, database administration, backup scheduling, restore testing, monitoring, incident response and decommissioning, with one accountable party per line. Written assignments matter most for the edges, such as who applies a security update when the vendor publishes one, and who approves a change to a customization. Backup claims need evidence, not a description. Ask the bidder to state the backup frequency, retention period, storage location and encryption method in writing, and to name the restore test they will run before go-live and on a recurring schedule. Ask for a sample restore record: the date, the backup used, the environment restored to, the person who ran the test, the time to recover the ledger and a reconciliation of trial balance totals against the source. Confirm whether the hosting provider's backups include the file store as well as the database, because attachments such as invoices and bank statements are records too. Confirm the retention period against the record rules that apply to your entity, since regulated firms may face longer or more specific requirements than the default settings. Database access and privileged accounts need the same precision. Ask who holds superuser or database administrator credentials, whether the implementation partner receives standing access or only time-limited access approved by your team, where session logs are kept, and how a shared administrator account would be avoided or monitored. Ask how production access is granted for support tickets, and whether test copies of the ledger are created with personal or sensitive data removed. The FTC Safeguards Rule at 16 CFR 314.4 requires covered financial institutions to implement multi-factor authentication for any individual accessing information systems and to log the activity of authorized users, so your access design should show those controls in the bid. Confirm each of these points with the bidder in writing, because the answers decide who can alter posted entries without leaving a trace.
What support hours, response commitments and escalation paths apply?
What support hours should an accounting RFP require?
Ask the bidder to state support hours in your time zone, including the hours covering your month-end and quarter-end close, and to confirm holiday coverage in the countries where your entities operate. Support hours are a contract term, not a marketing line, so the answer should name the coverage window, the days covered and the channels available outside those hours. Ask whether after-hours coverage exists for critical incidents only, and whether it is included in the subscription or billed separately. A partner that works from another region should show how it covers your business day without gaps.
How should severity levels and response targets be defined?
Require written severity definitions that describe impact on the ledger, not only technical symptoms. A typical scheme separates a full outage or a posting failure during close from a degraded feature, a cosmetic defect and a general question. For each level, the contract should state the response target, the update frequency and who decides the severity when the customer and the partner disagree. Ask whether response targets are commitments or best-effort goals, and what credits or remedies apply when they are missed. Confirm these terms with the bidder in writing before signing, because published targets and contract terms often differ.
How does escalation from the support desk to engineering work?
Ask the bidder to describe each escalation step, the role that owns it and the time it may take to move between steps. A clear path usually runs from a first-line service desk to implementation or platform engineers, then to a named technical lead who can change code, configuration or infrastructure. Ask who can approve a hotfix to a customization, who records the root cause and whether you receive a post-incident report. For a self-hosted Odoo or ERPNext deployment, also confirm whether engineers can access your database or logs, and under what change control they do so.
Is support tied to a software subscription or a partner retainer?
Support can come from the software vendor, from an implementation partner, or from both, and the contract must say which. Odoo's standard support on the Enterprise edition is a vendor entitlement, and Frappe warranty coverage for ERPNext depends on running a listed version with a matching Frappe Cloud support plan. Partner support is usually a separate retainer covering configuration, customizations, hosting and upgrades. Ask which party is accountable for each layer, what the subscription does not cover, and how the two agreements end or renew. Vendor and partner terms should be read together, since a gap between them is where incidents stall.
What support exclusions should a buyer expect in the contract?
Expect exclusions for custom code, third-party integrations and data problems caused outside the platform, and ask the bidder to list them explicitly. Common exclusions include bugs in custom modules or Server Scripts, failures in bank feeds or payment connectors, problems caused by an unsupported version, and issues arising from changes made by your own staff. Ask whether the partner will still triage an excluded issue and bill it as time and materials, or refuse it. A clear exclusion list protects both sides and prevents disputes during a close.
Does vendor version support affect the support commitment?
Yes. Support commitments depend on the version you run, and both Odoo and Frappe publish support windows for each major release. Odoo standard support covers three years after a major release, and security patches are provided only during standard support. Frappe's supported versions page lists the end-of-life dates for each major version, and warranty coverage requires a listed version. Ask the bidder which version it will deploy, when standard support ends for that version, and what the upgrade plan and cost look like before that date.
What should you verify in a support proposal before signing?
Verify that the proposal names the support hours, severity definitions, escalation contacts, response targets and exclusions in one document that is part of the contract. Ask for a sample escalation record from a past incident, with the anonymized timeline, and confirm who on the bidder's team will hold each role. Check whether the commitments cover backups, restores and emergency patching, since these are often the incidents that matter most in a close. Ask what reports you will receive each month and who reviews them with you.
Can the internal team handle first-line support instead?
Many finance teams keep first-line questions in-house, such as user access, period settings and report formats, and send platform defects to the partner. This split works when the internal team has a named administrator, documented runbooks and access to the vendor's knowledge base. It fails when no one owns the database, the scheduler or the integrations. Ask the bidder to define which tasks the customer handles, which the partner handles, and what training it provides to the administrator. The division should appear in the contract so that responsibility is clear during an outage.
How the vendor and partner produce audit evidence each period
This sequence turns routine operations on a self-hosted accounting system into dated, reviewable records that an independent auditor can sample each period. Each step names the artifact it produces so the evaluator can check it before signing.
Log every customization change before it reaches production
The partner records each custom module, script, report and configuration change in a change ticket that names the requester, the approver, the business reason and the tested build. Changes move from a test database to production only after approval, and the release is tagged in the source repository. The evidence is the ticket set and the matching commit history, which together show that no change went live without review. Ask the partner to show a sample ticket and how it links to the deployed version.
Test and record each platform upgrade
Before a version upgrade, the partner runs the upgraded copy of the database, compares key reports such as the trial balance and open receivables against the source, and records test results and sign-off. Odoo documents that an upgraded test database should be tested before production, so the test record is the primary artifact. Confirm which upgrade path your edition supports and whether the vendor's upgrade service is available to you before you agree on the test plan.
Run quarterly user access reviews
Each quarter, the partner exports the list of active users, roles and admin rights, and the business owner confirms or removes each entry. Leavers and role changes are matched against HR records, and the signed review is filed with the exceptions and their closure dates. The output is a dated access review that shows who could post, approve and change master data. Ask whether the platform can produce this export natively or whether it needs a scripted report.
Review segregation of duties conflicts
The partner compares role assignments against a conflict matrix that separates duties such as creating vendors, entering payments and approving journal entries. Any user holding conflicting roles is either corrected or covered by a documented compensating control with a named approver. The evidence is the conflict matrix, the exception log and the sign-off from finance leadership. Ask the vendor how it maps roles to the matrix and how it handles administrator accounts that sit outside normal roles.
Retain the audit trail and database access logs
The partner confirms that the platform records posting, editing and deletion events with user and timestamp, and that those logs and database access logs are copied to storage the application administrators cannot alter. Retention periods are set in writing with the client's finance and legal teams. The output is a log retention configuration and a sample pull of entries for a posted journal. Confirm what the native audit trail covers in your edition, since some events may need additional configuration.
Test and log backup restores
The partner schedules backups of the application and database, then performs restore tests into an isolated environment on a set cadence. Each test records the backup used, the restore time, the data checks run, such as balancing the ledger after restore, and the person who approved the result. The evidence is a restore log that shows the backups are recoverable, not merely scheduled. Ask who holds the backup encryption keys and who is authorized to request a restore.
Assemble the period evidence package
At the end of each period, the partner collects the change tickets, upgrade test records, access reviews, conflict matrix, log samples and restore logs into one indexed package with the period dates and named owners. The client finance or internal audit team reviews the package and files it. DeployOpen prepares controls and evidence for compliance assessments, but independent auditors issue any audit report or attestation. Ask the partner to show a prior package and to confirm who keeps custody of the records after the engagement ends.
How are customizations, server scripts and integrations governed?
How should custom code be developed, reviewed and deployed in a self-hosted accounting system?
Custom code should live in version control, pass peer review and move through a test environment before production, using the same path as any other change. Ask each bidder to describe its branching model, who approves merges, how deployments are recorded and how a rollback works. For Odoo, custom modules are only available on the Custom plan per the pricing page, so confirm the edition before design starts. For ERPNext, custom apps are built on the Frappe framework and should be deployed through the same build and release steps as the core. Ask for the change log as an audit artifact, because auditors will sample it.
Are server scripts enabled in the target ERPNext environment?
Confirm this before design, because server-side logic depends on it. Per the Frappe documentation, Server Scripts run Python on document events or as API endpoints, and from version 15 they are disabled by default and must be enabled with the server_script_enabled setting. Frappe Cloud public shared benches do not allow them, so a shared-hosted plan may rule out this design entirely. Ask the bidder to state the setting value in each environment, who can change it, and whether scripts are reviewed in the same way as application code. Where logic is complex, ask whether it should instead be built as a versioned app.
How is LDAP or social login configured for accounting users?
Identity integration should be configured centrally, with access granted through directory groups rather than local accounts. Both Odoo and ERPNext document LDAP integration, and Frappe documents Social Login Key configuration. Ask the bidder which method it will use, how group-to-role mapping is maintained, how leavers are removed, and whether local administrator accounts remain available for break-glass use. Confirm that the directory and the accounting platform versions in your environment are supported together. Ask for the configuration as a documented, reviewed artifact that your access review can test.
How should bank feeds and payment connectors be tested before go-live?
Test them with representative data in a non-production copy, then verify that each transaction lands in the right account, currency and period. Ask the bidder to show a test plan that covers matching rules, duplicate detection, failed-connection handling and reconciliation totals against the bank statement. Use a sanitized database copy so no live credentials or customer data move into test. Ask who holds the connector credentials, where they are stored and how they rotate. Confirm which bank or processor connectors are supported in your region, because connector availability varies and is not something to assume.
What does a governed change process cost, and who pays for it?
The cost is mostly internal and partner time spent on specification, testing, review and documentation, plus any licensing needed for the extension model you choose. A partner quote should show these as separate line items, so you can see what is one-time build work and what recurs, such as regression testing after each platform upgrade. Costs rise with the number of custom objects, integrations and entities, and with the number of platform releases you must absorb. Ask for the testing and documentation effort explicitly, and for an estimate of effort for each upgrade cycle rather than only the initial build.
How do upgrades affect custom scripts and integrations?
Every upgrade can change behavior that custom code depends on, so each customization needs a regression test before the upgraded copy goes live. Odoo's upgrade service produces an upgraded test database that should be tested before production, and on Odoo Online and Odoo.sh major upgrades are mandatory every two years according to its documentation. Frappe's supported versions page lists version 15 supported until the end of 2027 and version 16 until the end of 2029, so plan the upgrade window against those dates. Ask the bidder for its upgrade test list, who signs it off, and how it keeps a record of each test run.
Who owns the integration credentials and the audit trail of changes?
Your organization should own the credentials and the change records, and the partner should work with access that is granted, logged and revoked on a defined schedule. Ask who holds administrator and API keys, where secrets are stored, how they are rotated and whether a named individual on your side approves each production change. The FTC Safeguards Rule at 16 CFR 314.4 requires covered financial institutions to adopt change management procedures and to log the activity of authorized users, so these records should be designed in from the start. Ask the bidder to show a sample change record and an access log export before signing.
What should a quote from an implementation partner include?
The software line depends on the platform and edition you choose. Some candidates are free to self-host, while others sell a subscription that unlocks features, upgrades or support. Your quote should say who pays the software vendor and what that payment covers, so you can compare a free core against a paid edition on equal terms.
- Edition and license terms: Name the edition in the quote (for example, Odoo Community or Odoo Enterprise) and the license that governs it, such as LGPL-3.0 for the Odoo Community code or GPL-3.0 for ERPNext.
- Subscription fees: Separate any vendor subscription from partner fees, and state whether it is billed per user, per instance or per company.
- Recurring versus one-time: Mark which lines renew each year and which are paid once.
- Feature gaps: List any module, multi-company feature or API access the scope needs that is limited to a paid plan.
Confirm the edition and subscription terms directly with the software vendor before you accept any software line in the quote.
Hosting is the cost you carry when the system runs in your own cloud account, data center or air-gapped network. A quote should show who provisions, patches and monitors the infrastructure, and whether those costs are yours or the partner's. Hosted options from a vendor are a separate line, so keep them apart from self-managed infrastructure.
- Infrastructure owner: State whether the partner deploys into your accounts or the vendor hosts the system, and which party holds the administrator credentials.
- Environment count: List production, test and disaster recovery environments separately, since each one adds compute, storage and licenses.
- Sizing assumptions: Ask for the user count, transaction volume and storage growth the sizing is based on.
- Hosting fees from third parties: Include any managed hosting fees, such as a vendor cloud plan, as a pass-through line with its source.
- Operations hand-off: Confirm which backup, patching and monitoring tasks stay with your team after go-live.
For reference, the ERPNext pricing page lists Frappe Cloud rates, but those rates apply only if you choose that hosting service, and the quote should cite the current page at the time of bidding.
Implementation is the labor of configuring the platform to your entities, charts of accounts, tax rules and approval workflows. Localization covers country-specific tax, reporting and statutory requirements, which may come from the vendor, a community module, or custom work by the partner. The quote should separate standard configuration from custom development, because custom code adds ongoing maintenance.
- Scope baseline: Attach the written requirements the price is based on, including entities, currencies, reporting and integrations.
- Localization source: State which localization modules are standard, which come from a third party, and which are built by the partner, and who maintains each one after release.
- Custom development: Price custom reports, workflows and integrations as separate line items with their own acceptance criteria.
- Role of the partner: Describe the workshops, configuration, training and documentation included in the fixed scope.
- Change control: Explain how scope changes are priced and approved in writing before work starts.
Ask the partner to show which localization coverage it verified against your country and tax regime, and which items it has not verified.
Migration moves opening balances, master data and open transactions from your current ledger into the new system. Testing proves the migrated data and configured controls behave correctly before go-live. Both are often underpriced, so the quote should show their scope in terms of data sets, reconciliation steps and test cycles, not just a lump sum.
- Data sources and volumes: List each source system, the record types and the expected volumes, and say which ones are in scope.
- Migration method: Describe whether the partner uses direct database loads, templated imports or API transfers. The ERPNext Data Import tool, for example, is documented for importing a few thousand records at a time, so larger loads need a different plan.
- Reconciliation: Include trial balance tie-outs, subledger reconciliations and sign-off by your finance team.
- Test cycles: State how many rounds of user acceptance and regression testing are included, and who signs off each one.
- Mock and cutover runs: Include the number of dress rehearsals and the rollback plan.
Ask for the reconciliation evidence the partner will deliver, because that evidence is what your auditors will later ask to see.
Upgrades and support are recurring costs that begin after go-live and often exceed the first-year effort. The quote should state the supported versions, the support window, who performs each upgrade, and what is billed separately. Vendor support terms and partner retainers are different things, so the quote should show both.
- Supported versions: Name the version you will run and its end-of-support date as published by the vendor. For example, Odoo's documentation lists standard support for Odoo 20.0 until September 2029 and for Odoo 19.0 until September 2028.
- Upgrade method and testing: Describe how each upgrade is tested in a copy of production before release and who approves it.
- Support hours and response: State the hours covered and the response commitments, and label any response time as a contractual term only if it appears in the signed agreement.
- Retainer scope: Separate routine patching and monitoring from enhancements and emergency work, and state the hourly or monthly rates that apply to each.
- Extended support: Confirm whether extended support is available for your version and whether it covers security patches.
Confirm the end-of-support dates for your chosen version directly with the vendor, since these dates change with each release cycle.
How to score responses and move to a shortlist
Weight the answers before the responses arrive, and weight them by risk, not by how polished a bid looks. Licensing and edition scope go first because they decide what you can legally run and what features you pay for: ask each bidder to name the exact edition, the license, and which functions sit behind a paid tier. Localization and tax coverage come next, since a gap there is expensive to fix later. Migration, upgrade path, support hours, hosting responsibilities and audit evidence should carry the heaviest weights for a regulated entity, because they determine who is accountable when something breaks. Require every answer in writing and tie it to a numbered line in the agreed scope. A bidder who answers "yes, supported" without pointing to a document, a configuration or a named responsibility should score lower than one who gives a precise, verifiable answer, even if the second answer is less impressive.
Reject any answer that cannot be traced to the scope or that leaves ownership blank. Ask for a responsibility matrix that states who patches the database server, who applies minor releases, who tests a major upgrade and who holds the backups. For Odoo, confirm which support window applies to the version proposed, since the vendor documents standard support by release and states that security patches are only provided during standard support. For ERPNext, confirm that the proposed version is on the supported list and whether the bidder expects a matching Frappe Cloud support plan. Where the bidder proposes customizations, ask how they will be stored, reviewed and promoted, because this feeds your change management evidence.
Before final selection, run a short proof of concept on a copy of the ledger, not on sample data. Take a recent production extract, load it into a non-production instance, and have the finance team post, reverse, close a period and run the trial balance and tax reports against known results. Test one real migration batch and time how the bidder handles errors, duplicates and opening balances. Confirm that the test copy is neutralized of live integrations and personal data where applicable, and that access to it is logged. Score the proof of concept against the same weighted criteria, and keep the results with the RFP file. Two or three bidders that pass this test form a defensible shortlist. Keep the proof of concept short and bounded in writing, so that its scope and any fees are agreed before work starts.
How DeployOpen scopes, delivers and supports accounting evaluations
DeployOpen works on accounting software RFP questions as a planning and implementation partner for self-hosted open-source platforms inside your own infrastructure. We turn your RFP answers into a written scope, then plan, build, test, document and support the chosen platform on your cloud accounts, data centers or air-gapped networks.
How we scope
- We review your RFP answers on edition, license, localization and hosting before any build work starts.
- The written scope names the platform, edition, entities, currencies, integrations and data migration sources in detail.
- Engagements are fixed-scope, with deliverables and timelines agreed in writing before work begins.
How we build
- We install and configure the platform in your environment, including the hosting responsibilities agreed in the scope.
- We build the migration plan, test loads and reconciliation checks against your opening balances and chart of accounts.
- We test upgrade paths in a non-production copy before any version change reaches the live ledger.
How we hand over
- You receive configuration records, runbooks, access model documentation and the upgrade and backup procedures.
- We document how audit evidence is produced, such as user access lists, change records and backup logs, for your auditors.
- Handover covers the support hours, escalation contacts and vendor responsibilities the RFP responses committed to.
How we support
- Ongoing support, upgrades and continuous testing are available as retainers after the initial handover.
- Retainers can cover version upgrades, backup verification and periodic access reviews on a fixed schedule.
- We prepare systems, controls and evidence for compliance assessments, while independent auditors issue the opinions.

