ERP migration
Field-level mapping, validation, and rollback between Agility ERP and Acumatica. We move data and schema; workflows are rebuilt natively in Acumatica.
Agility ERP
Source
Acumatica
Destination
Compatibility
11 of 12
objects map 1:1 between Agility ERP and Acumatica.
Complexity
BStandard
Timeline
7–14 days
Overview
DMSi Agility ERP organizes business data around a vendor-centric and order-tracking model — companies, contacts, sales orders, purchase orders, inventory items, and a GL chart of accounts all exist as discrete record types. Acumatica Cloud ERP consolidates customer and vendor entities into a single Business Account DAC, uses separate SOOrder and POOrder tables for transactional documents, and stores inventory as InventoryID records with warehouse-specific stocking quantities. The migration must re-sequence foreign-key resolution so that Business Accounts resolve before Sales Orders (which reference both Account and Contact), and inventory items are present before line items can be populated. Custom UDFs in Acumatica require pre-creation through the Customization Project editor before data import, a step FlitStack AI plans before extraction begins. Workflows, approval matrixes, and notification rules defined in Agility ERP do not migrate — those definitions are exported as configuration reference documents for rebuild in Acumatica's Screen-Based Workflow designer. The migration runs against Acumatica's REST API in batches, with a delta-pickup window capturing any in-flight records modified during the cutover.
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 Agility ERP 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.
Agility ERP
Customer
Acumatica
BusinessAccount
1:1Agility ERP maintains separate Customer and Vendor record types. Acumatica consolidates these into BusinessAccount with a ClassID field toggling Customer / Vendor status. The primary address, contact info, and payment terms migrate as BusinessAccount attributes; secondary addresses migrate as separate Address records linked by the AddressID foreign key.
Agility ERP
Vendor
Acumatica
BusinessAccount
1:1Vendors from Agility ERP map to BusinessAccount records with ClassID set to 'VD' (vendor class). Vendor-specific fields like W-9 status and 1099 eligibility migrate to Acumatica's Tax settings on the BusinessAccount. If a vendor is also a customer, two BusinessAccount records are created and cross-referenced.
Agility ERP
Contact
Acumatica
Contact
1:1Contact records map directly to Acumatica's Contact DAC. The Contact2Account link (CR202010) associates each contact with a BusinessAccount. Multiple contacts per account are supported natively in Acumatica, matching Agility ERP's contact-per-customer model. Contact titles and department assignments migrate as custom fields if non-standard.
Agility ERP
SalesOrder
Acumatica
SOOrder
1:1Agility ERP sales orders map to Acumatica's SOOrder screen (SO301000). The OrderNbr, OrderDate, CustomerID, and status fields migrate directly. Each line item maps to SOLine with InventoryID, WarehouseID, and UOM resolved from the inventory master. Tax calculations are recreated based on Agility's tax-code definitions mapped to Acumatica's Tax Zone configuration.
Agility ERP
PurchaseOrder
Acumatica
POOrder
1:1Purchase orders migrate to Acumatica's POOrder DAC (PO301000). VendorID resolves to the BusinessAccount vendor record created in step 20. Line items map to POLine with the same InventoryID and UOM resolution logic as sales orders. Prepaid and drop-ship flags map to Acumatica's shipment settings per line.
Agility ERP
InventoryItem
Acumatica
InventoryItem + WarehouseDetails
1:manyA single Agility ERP inventory record splits into an InventoryItem master (item class, description, UOM, standard cost) and separate WarehouseDetails rows per stocking location. The primary warehouse from Agility becomes the default WarehouseID on the InventoryItem. Secondary locations are inserted as additional WarehouseDetails records linked by InventoryID.
Agility ERP
GLAccount
Acumatica
Account + Subaccount
1:1Agility ERP's flat numeric-segment chart of accounts maps to Acumatica's Account + Subaccount dimensional model. Each unique segment value in Agility creates a corresponding Subaccount record in Acumatica. The first segment typically becomes the Account number; remaining segments are combined into a Subaccount mask. This mapping is defined in the migration plan before any GL batch inserts run.
Agility ERP
APInvoice
Acumatica
APDocument
1:1Accounts payable invoices from Agility ERP (vendor bills) map to Acumatica's APDocument with DocType='INV'. The VendorID resolves to the BusinessAccount record. Line items reference GL accounts mapped in step 70. Historical AP balances are preserved as opening-balance AP documents with DocType='PPM' (prepayment) if needed for account reconciliation.
Agility ERP
ARInvoice
Acumatica
ARDocument
1:1Accounts receivable invoices from Agility ERP map to Acumatica's ARDocument with DocType='INV'. The CustomerID resolves to BusinessAccount. Payment terms, due dates, and aging buckets are recalculated based on Acumatica's terms configuration. Open AR balances migrate as opening-balance AR documents for continuity in aging reports.
Agility ERP
Attachment / File
Acumatica
NoteDoc
1:1Agility ERP file attachments linked to orders, inventory items, or accounts are downloaded and re-uploaded to Acumatica's NoteDoc entity. The NoteID links back to the migrated parent record (SOOrder, InventoryItem, or BusinessAccount). File size limits follow Acumatica's 25MB per file threshold; larger files are flagged for chunked upload.
Agility ERP
CustomField (Agility ERP)
Acumatica
UDF (Usr prefix)
1:1Agility ERP custom properties on any entity migrate as Acumatica UDFs with the Usr prefix on the DAC field name. Each UDF must be pre-created in Acumatica's Customization Project editor before the migration run executes. FlitStack AI generates the UDF creation plan as part of the schema setup deliverable. Custom properties on non-standard entities (e.g., custom objects) map to custom DACs in Acumatica.
Agility ERP
ApprovalRule / Workflow
Acumatica
Screen-Based Workflow
1:1Agility ERP approval matrices and workflow rules (e.g., PO approval thresholds, order-hold conditions) have no direct equivalent in Acumatica's screen-based workflow system. FlitStack AI exports the rule definitions as a configuration reference document, and the Acumatica admin rebuilds them in the Workflow Editor using the exported logic as a specification.
| Agility ERP | Acumatica | Compatibility | |
|---|---|---|---|
| Customer | BusinessAccount1:1 | Fully supported | |
| Vendor | BusinessAccount1:1 | Fully supported | |
| Contact | Contact1:1 | Fully supported | |
| SalesOrder | SOOrder1:1 | Fully supported | |
| PurchaseOrder | POOrder1:1 | Fully supported | |
| InventoryItem | InventoryItem + WarehouseDetails1:many | Fully supported | |
| GLAccount | Account + Subaccount1:1 | Fully supported | |
| APInvoice | APDocument1:1 | Fully supported | |
| ARInvoice | ARDocument1:1 | Fully supported | |
| Attachment / File | NoteDoc1:1 | Fully supported | |
| CustomField (Agility ERP) | UDF (Usr prefix)1:1 | Fully supported | |
| ApprovalRule / Workflow | Screen-Based Workflow1: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.
Agility ERP gotchas
Fixed asset data requires custom extraction
GL code character limits vary by destination
Open order status vocabulary differs from industry standards
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
Map and pre-create Acumatica schema entities
Before extracting any data from DMSi Agility, FlitStack AI reviews the Agility ERP data model — customers, vendors, contacts, sales orders, purchase orders, inventory items, GL accounts, AP/AR records, and custom properties — and produces a schema setup plan for Acumatica. This plan lists the BusinessAccount ClassIDs to create, the Subaccount codes for the GL, the Warehouse records for inventory, and the UDFs (with Usr prefix) to publish via the Customization Project editor. The plan is delivered as a checklist ordered by dependency so that entities referenced by other entities are created first (Warehouse before Inventory, Subaccount before GL, BusinessAccount before Sales Orders).
Export and validate Agility ERP data by entity
FlitStack AI connects to the Agility ERP OData REST endpoint using workspace-scoped credentials. Data is exported in dependency order — BusinessAccount records first, then Contacts, then inventory items, then transactional documents (sales orders, purchase orders, AP/AR records), and finally GL batches. Each export is validated against the Agility ERP schema for referential integrity: orphaned records, records with missing required fields, and duplicate IDs are flagged and reported. Duplicate customer and vendor records are resolved by the client before the migration run begins.
Transform and map records to Acumatica DACs
Each exported record is transformed to match Acumatica's DAC structure. Customer and Vendor records become BusinessAccount entries with the appropriate ClassID. Sales order line items are split into SOLine records with InventoryID resolved against the inventory master. Agility ERP GL account segments are decomposed into Account and Subaccount pairs. Agility custom properties are mapped to Usr-prefixed fields on their respective DACs. All foreign-key references (CustomerID to BusinessAccount, InventoryID to InventoryItem, Account to Subaccount) are resolved in-memory before writing, with unresolved references logged for client resolution.
Run sample migration with field-level diff
A representative slice of records — typically 200–500 spanning BusinessAccounts, Contacts, inventory items, sales orders, and GL entries — is migrated to the Acumatica sandbox or a non-production company. FlitStack AI generates a field-level diff report comparing source values to destination field values for every mapped column. The client reviews the diff to verify that UDF mapping, status code translation, and amount precision are correct. Any mapping errors are corrected before the full migration run is scheduled.
Execute full migration with delta-pickup window
The full migration runs in batches against the production Acumatica tenant, with each batch committing after validation passes. A delta-pickup window — typically 24–48 hours from the start of the cutover — captures any records created or modified in DMSi Agility during the migration run. FlitStack AI logs every insert, update, and skip operation to an audit trail. If reconciliation fails (e.g., record counts or balance totals do not match), a one-click rollback reverts the Acumatica tenant to its pre-migration state so the issue can be diagnosed and the run rescheduled.
Platform deep dives
Agility ERP
Source
Strengths
Weaknesses
Acumatica
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. 2 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Agility ERP and Acumatica.
Object compatibility
2 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
Agility ERP: Not publicly documented.
Data volume sensitivity
Agility ERP 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 Agility ERP to Acumatica migration scoping. Not seeing yours? Book a call.
Walk through your Agility ERP 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 Agility ERP
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.