ERP migration
Field-level mapping, validation, and rollback between ERPNext and Acumatica. We move data and schema; workflows are rebuilt natively in Acumatica.
ERPNext
Source
Acumatica
Destination
Compatibility
20 of 22
objects map 1:1 between ERPNext and Acumatica.
Complexity
CModerate
Timeline
48–72 hours
Overview
ERPNext and Acumatica take fundamentally different approaches to ERP structure. ERPNext uses a DocType system built on the Frappe Framework with MariaDB — every entity is a customizable document with child tables for line items, attachments, and custom fields that are all database-native. Acumatica uses application screens tied to a normalized relational schema where master data (Customers, Vendors, Inventory Items), transactions (SO, PO, AR/AP), and configurations (Warehouses, Tax Zones) are separated. FlitStack AI reads ERPNext via its REST API and CSV export tooling, transforms DocType records into Acumatica screens using value-by-value field mapping, and loads data through Acumatica's Import by Scenario framework or direct API insert. We preserve original creation timestamps, owner assignments, and stock transaction lineages. What does not move: ERPNext's custom Python scripts, Frappe app hooks, and DocType-level validation logic — those require Acumatica-side rebuild using Acumatica's customization tools. We deliver a custom field creation plan and a rebuild reference document for any ERPNext automation that needs re-implementing in Acumatica.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a ERPNext object lands in Acumatica, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
ERPNext
Customer
Acumatica
Customers
1:1ERPNext Customer DocType maps 1:1 to Acumatica Customers screen. ERPNext stores Customer Name, GSTIN, billing address, shipping address, and credit limits as top-level fields. We load these into the Customer master screen, creating separate Customer Locations for each ERPNext address record. Primary Contact is loaded as the Customer's default contact.
ERPNext
Supplier
Acumatica
Vendors
1:1ERPNext Supplier DocType maps to Acumatica Vendors. ERPNext stores supplier tax ID, payment terms, and bank details as top-level fields. These map to the corresponding Vendor record fields. Each ERPNext Supplier Address becomes a Vendor Location in Acumatica. Supplier contacts migrate as Vendor Contact records.
ERPNext
Item
Acumatica
Non-Stock Item / Inventory Item
1:manyERPNext Item DocType has an Item Type field (Stock, Non-Stock, Service, Asset). We split on this field: Stock items map to Acumatica Inventory Item; Non-Stock items map to Non-Stock Item; Service items map to Non-Stock Item with a Service flag. ERPNext's Item Code maps to Acumatica's Inventory ID. Item Groups map to Acumatica's Item Class via value mapping.
ERPNext
Address
Acumatica
Customer Location / Vendor Location
1:1ERPNext stores Address as a standalone DocType linked to Customer or Supplier via link fields. Acumatica requires locations to be attached directly to the Customer or Vendor record. We de-normalize each Address, grouping by parent Customer or Vendor, and load them as named locations (Billing, Shipping, Plant) with address lines, city, state, postal code, and country.
ERPNext
Contact
Acumatica
Customer Contact / Vendor Contact
1:1ERPNext Contact DocType maps to Acumatica's contact records. ERPNext stores first name, last name, email, phone, and department per contact. We map these to the corresponding Acumatica contact fields, associating each contact with its parent Customer or Vendor location. This includes preserving any contact优先级 or is_primary联络人 flags by setting the matching field in Acumatica's contact record.
ERPNext
Quotation
Acumatica
Quotes
1:1ERPNext Quotation maps to Acumatica Quotes. ERPNext's Quotation Item child table (Item Code, qty, rate, discount) maps to Quote Details lines. ERPNext's terms and validity map to Acumatica's Description and Expiration Date fields. Status mapping: Draft → Hold, Submitted → Open, Ordered → Completed, Cancelled → Cancelled.
ERPNext
Sales Order
Acumatica
Sales Orders
1:1ERPNext Sales Order maps to Acumatica Sales Order. ERPNext's Sales Order Item child table maps to Sales Order Details. Delivery dates in ERPNext map to Acumatica's Request Date. ERPNext's per-row warehouse and batch number fields map to Acumatica's line-level warehouse assignment. ERPNext's Packed Items table is not migrated; those are picked during fulfillment in Acumatica.
ERPNext
Purchase Order
Acumatica
Purchase Orders
1:1ERPNext Purchase Order maps to Acumatica Purchase Orders. ERPNext's PO Item child table maps to PO Details. ERPNext's expected delivery date maps to Acumatica's Promise Date. ERPNext's UOM conversion per line item is preserved via Acumatica's UOM conversion setup on the Item master before PO loading.
ERPNext
Delivery Note
Acumatica
Shipments
1:1ERPNext Delivery Note (outbound stock transfer or sales delivery) maps to Acumatica Shipments. ERPNext DN Item lines map to Shipment Lines. ERPNext's against Sales Order link is preserved as the Shipment's Order Nbr. ERPNext's batch number and serial number per line map to Acumatica's lot/serial tracking on shipment lines.
ERPNext
Purchase Receipt
Acumatica
Receipts
1:1ERPNext Purchase Receipt (inbound receipt of goods) maps to Acumatica Receipts. ERPNext's PR Item child table maps to Receipt Lines. ERPNext's against Purchase Order link maps to Receipt's Order Nbr. Warehouse assignment per line maps to Acumatica's warehouse-inventory site mapping.
ERPNext
BOM (Bill of Materials)
Acumatica
Bill of Materials
1:1ERPNext BOM DocType stores multi-level BOM structures with item-quantity-routing relationships. ERPNext BOM operations (workstation, operating time) map to Acumatica's BOM Operations tab. For multi-level BOMs, we flatten the structure into a single Acumatica BOM with nested sub-assemblies linked by BOM Line Type = Phantom or Subassembly. ERPNext's BOM routing (step sequence) maps to Acumatica's operation sequence.
ERPNext
Work Order
Acumatica
Production Orders
1:1ERPNext Work Order maps to Acumatica Production Orders. ERPNext's BOM link maps to Acumatica's Bill of Materials reference. ERPNext's planned start and production end date map to Acumatica's Production Date and Completion Date. ERPNext Job Cards (operation-level time tracking) map to Acumatica Labor entries on the Production Order.
ERPNext
Stock Entry
Acumatica
Inventory Issues / Receipts
1:manyERPNext Stock Entry covers multiple purposes (Material Transfer, Material Receipt, Material Issue, Manufacture). We split by Stock Entry Type: Material Transfer → Acumatica Inventory Transfer; Material Receipt → Acumatica Inventory Receipt; Material Issue → Acumatica Inventory Issue; Manufacture → Acumatica Production Order completion. Each Stock Entry Item row maps to the corresponding Acumatica line.
ERPNext
Project
Acumatica
Projects
1:1ERPNext Project DocType maps to Acumatica Projects. ERPNext's task hierarchy (parent task with child tasks) maps to Acumatica's Project Task structure. ERPNext's project template links map to Acumatica's Project Templates. ERPNext's billing settings (cost center, billable flag) map to Acumatica's Project Attributes tab. ERPNext's project type (External, Internal) maps via value mapping to Acumatica's Project Type.
ERPNext
Task
Acumatica
Project Task
1:1ERPNext Task DocType maps to Acumatica Project Tasks. ERPNext's start date, end date, and expected hours map to the corresponding Acumatica task fields. ERPNext's task dependencies (Linked Tasks) map to Acumatica's predecessor task links. ERPNext's task assignees (assigned to user) map to Acumatica's Resource Tasks with the user as the resource.
ERPNext
Custom Field (DocField)
Acumatica
Custom Field (UDF)
1:1ERPNext stores custom fields as DocField records with fieldname, fieldtype, and options. We export these for every DocType and create corresponding custom fields in Acumatica using Acumatica's Customization Project editor. Fieldtype mapping: Data → String; Int / Float → Number; Check → Boolean; Select → Dropdown; Date → Date; Link → Selector (for reference to another screen). ERPNext's child table custom fields require Acumatica detail-screen custom fields.
ERPNext
Payment Entry
Acumatica
Payments
1:1ERPNext Payment Entry (received or paid) maps to Acumatica Payments. ERPNext Payment Entry for Customer maps to Acumatica Customer Payments; for Supplier maps to Acumatica Vendor Payments. ERPNext's mode of payment, reference number, and party balance map to Acumatica's Payment Method, Reference Nbr., and Applied Amount fields.
ERPNext
Journal Entry
Acumatica
Journal Transactions
1:1ERPNext Journal Entry maps to Acumatica Journal Transactions. ERPNext JE Account rows (debit/credit accounts with cost center and project) map to Acumatica GL Lines with Account, Branch, and Project assignments. ERPNext's user_remark and voucher_remarks map to Acumatica's Reference Number and Hold fields.
ERPNext
Sales Invoice
Acumatica
AR Invoices
1:1ERPNext Sales Invoice maps to Acumatica AR Invoices. ERPNext's Invoice Item child table maps to Invoice Details. ERPNext's taxes and charges rows map to Acumatica's tax lines. ERPNext's is_pos flag (point of sale invoice) routes to Acumatica's Cash Sale screen instead of AR Invoice. ERPNext's outstanding amount and payment_schedule child table map to Acumatica's Installment setup on the invoice.
ERPNext
Purchase Invoice
Acumatica
AP Bills
1:1ERPNext Purchase Invoice maps to Acumatica AP Bills. ERPNext's PI Item child table maps to Bill Details. ERPNext's taxes and charges rows map to Acumatica's tax lines. ERPNext's is_return flag maps to Acumatica's Debit Adjustment type. ERPNext's mode_of_payment账款 maps to Acumatica's Payment Method.
ERPNext
Warehouse
Acumatica
Warehouses
1:1ERPNext Warehouse DocType maps to Acumatica Warehouses. ERPNext's warehouse type (internal, transit, store) maps via value mapping to Acumatica's warehouse Purpose field. ERPNext's email alerts and default settings are preserved as warehouse notes. ERPNext's company link maps to Acumatica's Branch assignment.
ERPNext
Batch
Acumatica
Lot/Serial Numbers
1:1ERPNext Batch (for batch-managed items) maps to Acumatica Lot/Serial Numbers. ERPNext's batch_id, manufacturing_date, and expiry_date map to Acumatica's Lot Nbr., Manufacturing Date, and Expiration Date. ERPNext's batch_qty maps to Acumatica's On Hand quantity per lot. Linking batch to stock transactions requires Acumatica's lot tracking enabled on the Item master before migration runs.
| ERPNext | Acumatica | Compatibility | |
|---|---|---|---|
| Customer | Customers1:1 | Fully supported | |
| Supplier | Vendors1:1 | Fully supported | |
| Item | Non-Stock Item / Inventory Item1:many | Fully supported | |
| Address | Customer Location / Vendor Location1:1 | Fully supported | |
| Contact | Customer Contact / Vendor Contact1:1 | Fully supported | |
| Quotation | Quotes1:1 | Fully supported | |
| Sales Order | Sales Orders1:1 | Fully supported | |
| Purchase Order | Purchase Orders1:1 | Mapping required | |
| Delivery Note | Shipments1:1 | Fully supported | |
| Purchase Receipt | Receipts1:1 | Fully supported | |
| BOM (Bill of Materials) | Bill of Materials1:1 | Fully supported | |
| Work Order | Production Orders1:1 | Fully supported | |
| Stock Entry | Inventory Issues / Receipts1:many | Fully supported | |
| Project | Projects1:1 | Fully supported | |
| Task | Project Task1:1 | Fully supported | |
| Custom Field (DocField) | Custom Field (UDF)1:1 | Fully supported | |
| Payment Entry | Payments1:1 | Fully supported | |
| Journal Entry | Journal Transactions1:1 | Fully supported | |
| Sales Invoice | AR Invoices1:1 | Fully supported | |
| Purchase Invoice | AP Bills1:1 | Fully supported | |
| Warehouse | Warehouses1:1 | Fully supported | |
| Batch | Lot/Serial Numbers1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
ERPNext gotchas
CSV import does not detect or prevent duplicate records
Custom server scripts break silently on version upgrades
BOM routing and workstation data requires manual reconstruction
Payment ledger entries in v14+ are decoupled from invoices
Frappe rate limiting is configurable per-site and undocumented
Acumatica gotchas
API user licenses cap concurrent sessions and request throughput
Multi-tenant filtering requires CompanyID awareness
Custom fields require separate discovery before field mapping
Notes and attachments use a separate linked table structure
Implementation timelines frequently run 3–9 months end-to-end
Pair-specific challenges
Migration approach
Audit ERPNext DocType schema and custom field registry
We connect to ERPNext via scoped API read access and enumerate every active DocType — standard (Customer, Supplier, Item, Sales Order, etc.) and custom. We export the DocField registry for each DocType to identify every custom field, fieldtype, and link relationship. We also read ERPNext's MariaDB schema metadata to surface any child-table extensions created by Frappe apps. This produces the Acumatica Customization Project manifest: a list of every custom field that needs to be created in Acumatica before data loading begins, grouped by DocType and priority (required vs. optional).
Create Acumatica schema and resolve reference entities
Your Acumatica admin (or our team) imports the Customization Project XML we generated in Step 1, creating all custom fields and any required value lists. We then run a dependency analysis: ERPNext's reference fields (e.g., a BOM referencing an Item, or a Work Order referencing a BOM) require the referenced record to exist in Acumatica first. We build an import sequence — Warehouses and Items first, then Customers and Vendors, then BOMs, then open Sales Orders and Purchase Orders, then historical invoices and payment entries — so foreign keys resolve on load.
Resolve owner and user assignments by email
ERPNext stores an owner field on every DocType record tied to the Frappe User who created it. Acumatica assignments are based on Employee and User records with login credentials. We match ERPNext owner email addresses against Acumatica User records. Unmatched owners are flagged in the pre-migration report — your team either creates Acumatica users for them first or assigns their records to a fallback owner. No record lands in Acumatica without a resolvable owner assignment.
Run sample migration with field-level diff
A representative slice — typically 200–500 records spanning Customer, Supplier, Item, a Sales Order with lines, a BOM with operations, and a Project with tasks — migrates first. We generate a field-level diff: source ERPNext value vs. destination Acumatica value for every mapped field, including custom fields. You verify BOM operation sequencing, project task hierarchy, and cost-center assignments before the full run. Any mapping corrections are applied to the migration plan before we proceed.
Execute full migration with delta-pickup window
The full migration runs against your Acumatica instance using Acumatica's Import by Scenario framework and direct API insert operations. A 24–48 hour delta-pickup window opens simultaneously — any ERPNext records created or modified during the cutover (open orders, new quotes, inventory receipts) are captured and loaded at the end. FlitStack AI maintains a full audit log of every record operation. One-click rollback reverts the Acumatica instance to its pre-migration snapshot if reconciliation fails.
Platform deep dives
ERPNext
Source
Strengths
Weaknesses
Acumatica
Destination
Strengths
Weaknesses
Complexity grading
Moderate ERP migration. 1 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across ERPNext and Acumatica.
Object compatibility
1 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
ERPNext: Configurable per-site; default limits are not publicly documented and are set in site_config.json by the hosting provider. We probe the rate limit headers on discovery and throttle accordingly..
Data volume sensitivity
ERPNext doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during ERPNext to Acumatica migration scoping. Not seeing yours? Book a call.
Walk through your ERPNext to Acumatica migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave ERPNext
Other ways to arrive at Acumatica
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.