Migrate from Sage Intacct to ERPNext: what the move involves
The move from Sage Intacct to ERPNext is a finance data and reporting project more than a software install. A finance team usually starts this work because of a subscription renewal, a hosting requirement that a cloud-only service cannot meet, or a concern about lock-in to one vendor's data model. The ERPNext installation itself is the smallest part. Finance leads own the decisions about how the books are structured, the IT owner owns hosting, access and backups, and many organizations bring in an implementation partner to run the data work and document it. ERPNext can be self-hosted, using Docker Compose or the bench command line tool, or run on Frappe Cloud, so the hosting choice can be made separately from the accounting design. Effort and risk concentrate in three places: entity mapping, opening balances and consolidation. Each Intacct entity needs a decided ERPNext company, with its base currency, chart of accounts and fiscal calendar confirmed before any record is loaded. Opening balances must tie to the last closed Intacct period for every entity, and the team should agree in advance on whether history is imported or only archived. Consolidation is the hardest part to rebuild because eliminations and intercompany balances often lived in Intacct configuration that nobody has written down. Ask the finance lead to produce a written inventory of entities, dimensions, reports and eliminations before scoping, and treat that inventory as the acceptance baseline for the migration.
Which Sage Intacct capabilities map to ERPNext and which need rework
This table compares Sage Intacct capabilities with ERPNext Accounting and marks each as clean, needs rework or gap. Confirm every row against your own entity structure, because a simple single-company ledger and a multi-entity group with eliminations need very different plans.
| Capability | ERPNext position | Status and what to check |
|---|---|---|
| General ledger and chart of accounts | ERPNext Accounting covers a chart of accounts, journal entries and standard financial statements per company. | Clean for a single chart. Confirm account numbering and any Intacct-specific account types before loading. |
| Accounts payable and receivable | Supplier and customer ledgers, invoices, payments and aging reports are part of standard accounting. | Clean for standard flows. Custom approval chains or payment file formats may need Server Scripts or custom reports. |
| Multi-entity structure | Each legal entity maps to an ERPNext company with its own chart and base currency. | Needs rework. Map each Intacct entity to a company and confirm how intercompany accounts are set up. |
| Dimensions | Accounting dimensions can be added as custom fields on ledger documents and used in reports. | Needs rework. Each Intacct dimension must be defined and tested, and reports filtered by it may need custom builds. |
| Audit trail | Document history and version tracking exist on submitted records, but the depth must be checked against your audit requirements. | Confirm with your auditor. Test whether the history you need survives migration of opening balances and history. |
| Financial reporting | Standard financial statements are available, while complex multi-dimension or board reporting usually needs custom reports. | Needs rework. Rebuild each management report you rely on and validate totals against Intacct before cutover. |
| Consolidation and eliminations | No out-of-the-box equivalent of Intacct consolidation subscriptions is assumed here; intercompany eliminations and partial ownership need design. | Gap. Plan consolidation reporting as a custom build and confirm the approach with your finance team. |
| Integrations and data extraction | ERPNext has a REST API and a Data Import tool that loads CSV or Excel files with templates. | Needs rework. Replace Data Delivery Service extracts with a tested export and import pipeline, and load in batches. |
| Custom logic and automation | Server Scripts run Python on document events or as API endpoints. From version 15 they are disabled by default and must be enabled with server_script_enabled. | Needs rework. Confirm which Intacct business rules need Server Scripts, and plan for the setting in your deployment. |
Which Sage Intacct data can be exported and how it loads into ERPNext
Moving finance data out of Sage Intacct and into ERPNext takes two steps: extracting the objects you need from the source tenant, then loading them through templates that accept only so many records per pass. The cards below cover each side of that handoff and the integrations you must rebuild or confirm along the way.
Data Delivery Service as the bulk export
Sage Intacct's Data Delivery Service extracts large amounts of company data to a cloud location as CSV files, either on a schedule or on demand. It requires a separate subscription, so confirm that it is licensed in your tenant before planning the cutover. Ask Sage exactly which standard and custom objects a delivery covers, since that list determines what you can migrate without extra work.
REST API and the legacy XML API
Sage Intacct recommends its REST API for client applications and continues to support its legacy XML API. Use the REST API for scripted extraction of records that Data Delivery Service does not cover, such as specific reference data or attachments, and check its object coverage in your own tenant. Confirm with Sage how long the XML API will remain available if any extraction script depends on it.
Data Import templates in ERPNext
ERPNext's Data Import tool loads and updates records from CSV or Excel files using downloadable templates. It supports child table rows, which matter for journal entries and invoice lines that span several rows. Build your template from the ERPNext version you will run, because field names and required columns differ between doctypes.
Batching large loads
The ERPNext documentation advises importing only a few thousand records at a time, so split general ledger history, invoices and payments into ordered batches. Load master data such as accounts, customers and vendors first, then transactions by period. Keep a log of each batch with row counts and totals so you can reconcile each step against the Sage Intacct extract.
Integrations to rebuild or confirm
Bank feeds, payroll exports, expense tools and identity providers do not move with the data. Identify each connection that writes to or reads from Sage Intacct, then decide whether ERPNext supports it natively or needs custom work. For single sign-on, ERPNext supports LDAP and social login keys, but confirm the exact configuration against your identity provider before go-live.
Verify object coverage in your tenant
Coverage varies by subscription, customization and tenant configuration, so you must confirm which objects each export includes in your own Sage Intacct environment. Run a test delivery, compare record counts and control totals for each object against Sage Intacct reports, and record any gaps. Treat unconfirmed objects as open migration work rather than assuming the export captured them.
How to sequence the migration from inventory to decommission
The sequence moves finance from Sage Intacct to ERPNext in controlled stages, so each entity, balance and report is proven in ERPNext before Sage Intacct is frozen and archived. Each step ends with a written output that the next step depends on.
Inventory entities, dimensions, reports and integrations
Finance leads and the Sage Intacct administrator list every legal entity, base currency, intercompany relationship, dimension (such as department, location or project), chart of accounts segment, recurring report and consolidation schedule. Integrations with banks, payroll, expense tools and the Sage Intacct REST API or XML API are catalogued with their owners. The output is a mapping workbook that assigns each Sage Intacct object to an ERPNext company, accounting dimension, report or integration replacement, and marks anything with no equivalent for custom reporting. The step is done when the finance lead signs off that every active report and feed has an owner and a target.
Extract source data with Data Delivery Service
The implementation team extracts the agreed objects from Sage Intacct, using the Data Delivery Service for bulk CSV delivery or the REST API for targeted pulls, and confirms that the extract covers the full history needed for audit. Confirm your subscription covers the service before you rely on it, because Data Delivery Service requires a separate subscription. The output is a versioned extract set with row counts per object and a checksum log, stored in your own infrastructure. The step is done when the counts for every object match the totals reported from Sage Intacct for the same date.
Run a pilot import on one entity
Choose one low-complexity entity and load its chart of accounts, customers, vendors, opening balances and a limited history into a non-production ERPNext site, using the Data Import templates. Import in batches of a few thousand records or fewer, as the ERPNext documentation advises, and log every rejected row with its cause. The pilot also tests dimension mapping, currency handling and any Server Scripts, which are disabled by default from version 15 and need the server_script_enabled setting. The output is a reconciled pilot trial balance and a defect list with fixes assigned. The step is done when the pilot trial balance matches the Sage Intacct source for the same entity and period.
Run a parallel close on the same period
Finance closes one full period in both Sage Intacct and ERPNext, using the same source transactions where possible, and compares trial balances, subledger totals, aged receivables and payables, and the rebuilt consolidation reports. Differences are classified as mapping errors, timing differences or genuine gaps in ERPNext reporting, and each one is resolved or accepted in writing. The output is a parallel-close reconciliation pack signed by the controller. The step is done when every variance has a recorded cause and the rebuilt reports produce the same totals as the Sage Intacct reports for the period.
Cut over with frozen period and opening balances
Freeze the last closed period in Sage Intacct, load the final opening balances and open items into ERPNext from a fresh extract, and switch user access, scheduled reports and integrations to ERPNext in a planned window. Finance and the implementation partner walk through a signed cutover checklist that covers balance tie-out, user roles, backup of both systems and a rollback path. The output is the signed cutover checklist and a reconciled opening trial balance in ERPNext that ties to the frozen Sage Intacct period. The step is done when the controller and the system owner both sign the checklist.
Decommission with a retained read-only archive
After the agreed post-cutover period has closed in ERPNext and any open audit requests are answered, retire Sage Intacct subscriptions and integrations on the contract terms your team confirmed with Sage. Keep a complete read-only archive of the final extracts, reports, audit trail exports and the mapping workbook in your own storage, with an access log and a retention owner. Confirm with your auditors which records they need and for how long before deleting anything. The output is a decommission record listing what was archived, where it is stored and who approved retirement. The step is done when the archive is verified as readable and the decommission record is approved.
How entities and dimensions map to ERPNext companies and accounting dimensions
Each Sage Intacct entity should become its own ERPNext company, with its own chart of accounts, base currency, fiscal year and default receivable and payable accounts. Sage Intacct's entity structure does not carry over automatically, so the mapping workbook is where you decide which legal entities, branches and reporting units become companies in ERPNext, which ones stay as cost centers inside a company, and which base currency each company reports in. Dimensions in Sage Intacct, such as departments, locations, projects or custom segments, usually map to ERPNext accounting dimensions for reporting and to cost centers or projects where the existing model already uses them. Record each dimension's name, its values, whether it is mandatory on postings, and the accounts it applies to. Confirm the exact field and setting names against your ERPNext version before you build the workbook, since they change between releases.
Intercompany transactions and eliminations need a documented design before anything is imported. Decide which intercompany receivable and payable accounts each pair of companies uses, how an intercompany sale is recorded on both sides, and where elimination entries are posted and reviewed. Partial ownership, minority interests and consolidation in more than one currency are areas where ERPNext's standard features may not produce the consolidated view your Sage Intacct subscriptions provide today, so treat them as possible custom reporting work and cost them separately. As an illustrative example, a parent company holding 60 percent of a subsidiary needs a rule for how the remaining 40 percent appears in consolidated reports, and that rule should be written down before the first import. Get the finance controller and your external auditor to sign off the mapping workbook, the intercompany design and the elimination rules before any opening balance or history is loaded.
How the migration changes by entity count and starting point
A single-entity company has the simplest mapping: one Sage Intacct entity becomes one ERPNext company, and the chart of accounts, customers, vendors and open items move across with few structural decisions. The extra work is concentrated in history and reconciliation. Decide early how much prior-period detail you need in ERPNext, because importing every transaction is a different project from importing closing balances with a documented audit trail in Intacct.
- Opening balances: Load a balanced trial balance as of a cut-over date and reconcile it to the last Intacct period close, line by line.
- Open items: Import open receivables, payables and bank reconciliation status with External IDs so later corrections can be matched to source records.
- Historical transactions: Decide whether to import a limited window of detail with the Data Import tool in batches of a few thousand records, or to keep archived Intacct exports for read-only reference.
- Chart of accounts: Map account numbers, types and reporting groups before import, since ERPNext account types drive reports.
- Audit trail: Keep the Intacct exports, the import files and the reconciliation workbook together as evidence.
Confirm with your external auditor which balances, cut-over date and historical detail they will accept as the opening position, and with IT who will own the import files and their retention.
A multi-entity group needs one ERPNext company per legal entity, a deliberate plan for intercompany transactions, and a consolidation rebuild. Intacct's entity structure, base currencies and elimination logic do not carry across automatically, so each entity pair and each intercompany account must be mapped and tested before cut-over. Consolidated reports will usually need custom work, and the output should be checked against Intacct's consolidated figures for the same period.
- Company mapping: Create one ERPNext company per entity, with its own base currency, fiscal year and chart of accounts.
- Intercompany flows: Map each intercompany receivable and payable pair, and define how invoices between companies are created and matched.
- Eliminations: Document elimination entries and rebuild them as journal entries or custom reports, then test them against prior consolidated output.
- Dimensions: Map Intacct dimensions to ERPNext accounting dimensions consistently across companies, so segment reporting still works after migration.
- Parallel run: Run both systems for at least one close cycle where the business requires it, and compare balances entity by entity.
Confirm with your auditors how they expect intercompany and elimination evidence to be presented, and with your finance team which consolidated reports must match the prior method exactly.
Frappe Cloud is the managed option, where Frappe hosts the ERPNext site and handles much of the platform operation. The migration work is largely the same as self-hosting, but the hosting decisions move to the vendor and the configuration choices are constrained by the platform. Confirm which plan and bench type fits your data volume, and whether your required features are available on it. ERPNext's own pricing page lists Frappe Cloud shared site hosting from 5 US dollars per month and dedicated servers from 125 US dollars per month, so the recurring hosting line is easy to size, but implementation and support are separate costs.
- Plan fit: Compare shared and dedicated server options against your import volume and user count.
- Restricted features: Server Scripts are disabled by default from version 15 and are not allowed on public shared benches, so check any custom logic first.
- Support coverage: Confirm that your version is listed and that you hold a matching support plan for warranty coverage.
- Data location: Confirm where Frappe Cloud stores your data and backups against your residency requirements.
- Exit path: Ask how you would export your full database if you later move hosting.
Confirm with your compliance lead whether the hosting provider and data location meet your residency and vendor risk requirements, and with IT how access and single sign-on will be configured.
Self-hosting gives you control over the database, network placement and upgrade timing, but the platform work sits with your team or a partner. ERPNext can be installed with Docker Compose or manually with the bench command line tool. The frappe_docker repository provides production images and Compose files with services for MariaDB, Redis, background workers, the scheduler, Socket.io and Nginx. Its single-file demo setup is marked for short-lived evaluation only, so do not use it as the basis for a finance system of record.
- Compose or bench: Choose Docker Compose for a containerized footprint, or bench for manual control of the Frappe environment.
- Database backups: Plan backups for MariaDB or PostgreSQL, the file store and the scheduler state, and test restores before cut-over.
- Upgrades: Plan version upgrades around supported version dates, since version 14 has reached end of life and version 15 and 16 have published support windows.
- Access: Configure LDAP or social login through the documented integrations if your identity provider requires it.
- Monitoring: Monitor workers and the scheduler, since failed background jobs can stop posting and reporting.
Confirm with IT who will run patching and restore tests, and with auditors which change-management and backup evidence they will sample.
What drives cost and duration in a Sage Intacct to ERPNext move
This table lists the factors that most change the cost and timeline of moving Sage Intacct finance data into ERPNext, with the reason each one matters and how to keep it under control. Use it to shape the written scope you request from any implementation partner, since the drivers interact and the largest ones are usually entity count, history and data quality. No fees or durations are given here because they depend on your own environment.
| Driver | Why it moves cost or effort | How to keep it down |
|---|---|---|
| Entity count | Each Intacct entity becomes an ERPNext company with its own chart of accounts, base currency, fiscal calendar and intercompany setup, so every extra entity adds mapping, testing and reconciliation work. | Confirm which entities still transact, merge dormant ones before cutover, and ask the scope to name each company and its currency. |
| Years of history to load | Opening balances are simple, but transaction history must pass through Data Import in batches, and ERPNext advises importing only a few thousand records at a time, so volume drives load and validation time. | Load opening balances plus a defined lookback period, and keep older history in the Data Delivery Service export archive for reference. |
| Number of dimensions | Intacct dimensions such as departments, locations and projects must be recreated as ERPNext accounting dimensions and tagged on historical entries, which multiplies mapping rules and checks. | Inventory every dimension and value list before design, retire unused ones, and agree a single mapping table signed off by finance. |
| Custom reports and consolidation | Consolidation and custom Intacct reports do not carry over automatically, so each one must be rebuilt, reconciled to source figures and approved by finance. | Rank reports by how often finance uses them, rebuild the top set first, and ask the scope to list each report and its owner. |
| Integrations | Each system that reads from or writes to Intacct, such as payroll, banking feeds, billing or the REST API consumers, needs a new connection, authentication and testing. | Maintain a complete integration inventory early, and decide which feeds are replaced, retired or rebuilt. |
| Data quality | Duplicate vendors and customers, missing dimensions, unposted entries and inconsistent currency codes slow extraction and force manual cleanup before import. | Run cleansing in Intacct before the export, set rules for duplicates, and ask the scope to include a reconciliation step after each load. |
| Hosting choice | Frappe Cloud shifts server operation to a managed service at a published monthly starting price, while self-hosting with Docker or bench adds provisioning, backup, patching and monitoring work that your team or partner must cover. | Compare the two options against your data residency rules and internal skills, and ask the quote to separate hosting, administration and support as line items. |
| Parallel run length | Running Intacct and ERPNext side by side keeps two sets of books current, which adds reconciliation effort for each period closed during the overlap. | Choose a short, defined parallel period with a closing checklist, and agree in writing which system is the book of record at each step. |
What usually goes wrong when moving from Sage Intacct to ERPNext
Most failed ERP moves break at the same few points: balances that do not tie out, too many dimensions, intercompany accounts left unmapped, and imports run in one large batch. The cards below cover each risk with a check to run before cutover, so finance can sign off on the ERPNext books with evidence.
Opening balances that do not reconcile
Trial balances exported at different cut-off times, or taken before late journal entries post, leave ERPNext opening balances that differ from the last closed Sage Intacct period. Run the migration against a fixed period end and compare account-level totals, open receivables and open payables to the Intacct reports for that same date. Keep the reconciliation workbook as part of the migration record, so a difference can be traced to a specific account instead of a general balance.
Dimension sprawl in accounting dimensions
Sage Intacct users often carry many dimension-like fields such as departments, locations, projects and custom classifications. Copying every one into ERPNext accounting dimensions creates reporting noise and slows data entry. Agree a short list of dimensions that drive reports and budgets, decide which ones map to cost centers or projects, and retire the rest before loading history.
Intercompany accounts left unmapped
Intercompany receivable and payable accounts that exist in each Sage Intacct entity must line up across ERPNext companies, or consolidated results will carry balances that never eliminate. Map each intercompany pair explicitly, confirm that both sides carry matching amounts in the opening balance import, and document how eliminations will be posted. Consolidation logic is not carried over automatically, so confirm the approach with finance before cutover.
Large imports run in one batch
ERPNext's Data Import documentation advises importing only a few thousand records at a time. Loading the full Intacct history in one file makes failures hard to isolate and can leave partial data in the site. Split history by fiscal year, entity and object type, import in small batches, and log each batch's row count and errors. Use the template columns for child table rows, such as invoice lines, so the parent and child records stay linked.
Server Scripts left disabled
Sage Intacct customizations often include validation rules, approval logic or derived fields that finance depends on. In ERPNext, Server Scripts run Python on document events, and from version 15 they are disabled by default. If the team does not enable the server_script_enabled setting on a self-hosted site, rules that were rebuilt as scripts will silently not run. Confirm the setting in each environment, test one rule on a staging site, and check that Frappe Cloud public shared benches will not run these scripts.
Version choice near end of life
ERPNext and Frappe Framework version 14 reached end of life on January 31, 2026, so a go-live on that line starts with no upstream security fixes. Choose a supported major version, confirm its end-of-life date against the Frappe supported versions page, and plan a minor-release cadence for patching. Frappe's policy also ties warranty coverage to a listed version and a matching Frappe Cloud support plan, so ask for that position in writing if support will be bought.
Skipped audit evidence
Auditors will ask how opening balances were validated, who approved each import, and which records changed after cutover. Teams that treat the migration as a technical task often lose the reconciliation files, import logs and approval emails. Keep dated copies of the Intacct extracts, the mapping sheets, the reconciliation results, the import logs and sign-off records in a controlled location. DeployOpen can prepare this evidence set, but independent auditors decide whether it is sufficient.
Questions buyers ask before moving from Sage Intacct to ERPNext
What does a migration from Sage Intacct to ERPNext cost?
The cost depends on the scope you agree in writing, and no single figure applies to every company. ERPNext itself is free to self-host under GPL-3.0, according to the ERPNext pricing page, so the spend falls on hosting, implementation, data preparation, reporting rebuild and ongoing upkeep. Hosting on Frappe Cloud starts at 5 US dollars per month for shared site hosting and 20 US dollars per month for shared servers, according to the same pricing page, while dedicated servers start at 125 US dollars per month. Ask for a quote that splits one-time work (entity mapping, opening balances, history loads, report rebuilds) from recurring work (hosting, upgrades, support). Also confirm whether you need the Sage Intacct Data Delivery Service subscription to extract your data, since it is billed separately.
How long does it take to move finance from Sage Intacct to ERPNext?
Duration depends on the number of entities, the volume of history you keep, how many custom reports you rebuild, and how many dimensions your chart of accounts uses. No general timeline is supplied for this migration, so ask any implementation partner to state the phases and durations in the written scope before work starts. Plan for an early period in which you map entities and dimensions, a data preparation period in which you export and clean records, and a parallel run period in which you compare ERPNext balances with Sage Intacct before cutover. Most engagements are fixed-scope, so the timeline should appear in the agreed deliverables.
What does the finance team need to provide during the migration?
The finance team owns the decisions that the data depends on. Expect to confirm the chart of accounts, the mapping of Sage Intacct entities to ERPNext companies, the treatment of base currencies and intercompany balances, and the accounting dimensions that must carry over. Finance also signs off on opening balances and reconciles ERPNext trial balances against Sage Intacct reports during the parallel run. IT needs to provide the target environment, database and backup plan, user access, and a secure channel for exported files. Both teams should agree early on who approves cutover and who confirms the closed periods that will not be reopened.
Can our internal team migrate from Sage Intacct to ERPNext without a partner?
Yes, a capable internal team can run the migration, provided it has finance, data and ERPNext administration skills. ERPNext offers a Data Import tool that loads and updates records from CSV or Excel files using downloadable templates, and it supports child table rows, according to the ERPNext documentation. The documentation advises importing only a few thousand records at a time, so large ledgers need batching and repeated validation. Internal teams should also plan for Frappe's supported versions policy, which requires a listed version to stay eligible for warranty coverage. If the team lacks Frappe experience, a fixed-scope engagement with DeployOpen can cover planning, implementation, testing and documentation, while your staff keeps ownership of the books.
Can we load Sage Intacct history into ERPNext?
Yes, history can be loaded, but the approach depends on what you need to keep. Sage Intacct's Data Delivery Service extracts large amounts of company data as CSV files on a schedule or on demand, and it requires a separate subscription, according to Sage Intacct help. The REST API and the legacy XML API are also documented options for extraction, according to the Sage Intacct developer site. Many finance teams load opening balances and a defined period of detailed transactions, then keep older history in an archive for audit requests. Confirm with your auditors which periods must be queryable in ERPNext and which can stay in an archived export, because loading everything can slow the import and complicate reconciliation.
Do Frappe Cloud support plans affect warranty coverage for ERPNext?
Yes. According to Frappe's supported versions policy, customers must run a listed version and hold a subscription to a matching Frappe Cloud support plan to receive warranty coverage from Frappe. Self-hosting does not remove the need to check this, because the version you run determines the support status. Frappe's supported versions page states that version 14 reached end of life on January 31, 2026, that version 15 is planned to be supported until the end of 2027, and that version 16 is planned until the end of 2029. Confirm the current version status on that page before you choose a release for the target system, and ask any partner how it will handle upgrades within those windows.
Which parts of the Sage Intacct reporting need a rebuild in ERPNext?
Consolidation and custom dimension reports usually need the most rework. ERPNext covers accounting with multi-company support, but consolidated statements, eliminations and partial ownership treatments may need custom reports or scripts that you must test in your own environment. Server Scripts can run Python on document events or as API endpoints, but from version 15 they are disabled by default and must be enabled with the server_script_enabled setting, and Frappe Cloud public shared benches do not allow them, according to the Frappe documentation. Plan to inventory every Sage Intacct report, confirm which ones finance uses at close, and approve the rebuilt versions before cutover.
How to run both systems in parallel and keep audit evidence intact
Keep Sage Intacct as the system of record until ERPNext has reproduced a closed period, and treat every month-end run in both systems as evidence. Pick the first period to run in parallel with your auditors in mind, normally a complete month that has already been reviewed, and agree in writing which system produces the figures that go into the financial statements. Reconcile each period-end trial balance line by line between the two systems, covering entity or company totals, base currency amounts, open accounts payable and receivable, and bank balances. Record every difference with its cause and its owner, and do not close a period in ERPNext until the differences are either cleared or explained in a signed reconciliation.
Export and retain the evidence before anything is switched off. Use the Sage Intacct Data Delivery Service or your existing scheduled exports to store the general ledger, journal entries with their attachments references, trial balances, and the user and approval-related reports as dated CSV files, with a hash or checksum and a record of who extracted them. Hold these in write-once storage under your retention policy, and confirm with your auditor which Sage Intacct reports they will accept as originals. In ERPNext, enable the audit trail on the accounting doctypes you rely on, and keep the Data Import files, templates and import logs used for opening balances and history. Note that Server Scripts are disabled by default from version 15 and must be turned on with server_script_enabled, so any custom validation you add must be documented as a control change.
Document each control change in a change log that maps old and new controls side by side: who can post journals, how approvals are routed, how the chart of accounts and dimensions are maintained, and who can change period locks. Record the role assignments in ERPNext, the Frappe permission rules and any LDAP or social login settings, since those decide who can act on the books. Ask your auditor which control objectives they will test and which evidence they expect for each. DeployOpen can prepare the systems, control descriptions and evidence packs for that review, but it does not issue audit reports, attestations or certifications. Independent auditors decide whether the controls operated effectively, and the parallel run is the period in which they will want to see both systems agree.
How DeployOpen scopes and runs a Sage Intacct to ERPNext migration
DeployOpen plans, implements, customizes, integrates, hardens, backs up, documents and supports self-hosted open-source platforms inside your own infrastructure. For a move from Sage Intacct to ERPNext, the work starts with a written scope covering entities, accounting dimensions, opening balances and consolidation reporting, before any data moves.
How we scope
- Inventory every Sage Intacct entity, base currency, dimension and open period in the written scope
- Confirm which history years and objects move, and which stay in an archive export
- Agree where ERPNext runs: your cloud account, data center, air-gapped network or Frappe Cloud
How we build
- Map entities to ERPNext companies and dimensions to accounting dimensions, documented row by row
- Load master data and opening balances through Data Import templates in batches of a few thousand records
- Rebuild consolidation and financial statements, then test them against reconciled Sage Intacct reports
How we hand over
- Deliver the mapping workbook, import logs, reconciliation evidence and configuration documentation
- Document Server Script use, access roles and the backup and restore procedure for your finance team
- Walk your finance and IT staff through month-end close in ERPNext before cutover is signed off
How we support
- Engagements are fixed-scope, with deliverables and timelines agreed in writing before work starts
- Ongoing support, version upgrades and continuous testing are available as a retainer
- Ask for a quote built from the written scope, which lists each component and who performs it

