ERP migration
Field-level mapping, validation, and rollback between EQUAL and Epicor Prophet 21. We move data and schema; workflows are rebuilt natively in Epicor Prophet 21.
EQUAL
Source
Epicor Prophet 21
Destination
Compatibility
6 of 12
objects map 1:1 between EQUAL and Epicor Prophet 21.
Complexity
CModerate
Timeline
4-7 weeks
Overview
Moving from EQUAL to Epicor ERP is a migration from a spreadsheet-native spend management platform into a full manufacturing-first enterprise resource planning system. EQUAL structures its data around Accounts, virtual and physical Cards, Transactions, and multi-currency balances for growing businesses. Epicor ERP organizes its data around GL Accounts, AP/AR invoices, Job/Production Management, Inventory, and Supply Chain modules. The migration is a schema translation, not a direct record copy. We resolve the chart-of-accounts mapping from EQUAL's flat account list to Epicor's hierarchical GL Account structure, map virtual card and expense records to Epicor's AP invoice and payment entities, preserve multi-currency exchange-rate history, and flag the manufacturing and inventory modules that do not exist in EQUAL and require Epicor's native configuration post-migration. Workflows, automations, and approval chains built in EQUAL do not migrate; we deliver a written map of these for the customer's admin team to rebuild in Epicor.
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 EQUAL object lands in Epicor Prophet 21, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
EQUAL
Account
Epicor Prophet 21
GL Account
1:1EQUAL Accounts map to Epicor GL Account records, with the EQUAL account name mapped to GLAccount.Description and the account identifier mapped to GLAccount.AccountCode. EQUAL's category tags (expense classification) map to GLAccount.CategoryID and require a pre-migration category mapping table because EQUAL's tag taxonomy rarely aligns 1:1 with Epicor's GL Category structure. We validate the GL Account hierarchy in Epicor's Chart of Accounts before inserting to catch duplicate account code errors.
EQUAL
Card (Virtual and Physical)
Epicor Prophet 21
Vendor + AP Payment Method
lossyEQUAL's virtual card and physical expense card records have no direct Epicor ERP equivalent because Epicor does not have a native card issuance object. We map card records to a Vendor setup in Epicor with the card issuer details stored in Vendor.PaymentMethod and a custom UD field for the original EQUAL card ID. If the customer uses Epicor's Advanced Payment module, we link the card to a Payment Method record configured for virtual card settlement. This is a configuration mapping, not a data migration — card transaction history still flows via the Transaction mapping.
EQUAL
Transaction (Card Spend)
Epicor Prophet 21
AP Invoice Line
1:1EQUAL card transactions map to Epicor AP Invoice records. The EQUAL transaction date, merchant name, amount, and currency code become APInvoice.InvoiceDate, VendorName (from the card-issuer mapping), InvoiceAmt, and CurrencyCode respectively. We resolve the GL Account for each transaction line from EQUAL's category tag using the pre-built GL Category mapping table. Multi-currency card transactions carry the original currency amount and exchange rate applied at transaction time from EQUAL into Epicor's AP Invoice exchange rate fields.
EQUAL
Transaction (Bank Transfer / Ledger Entry)
Epicor Prophet 21
GL Journal Entry
1:1EQUAL ledger entries that are not card transactions (bank transfers, internal allocations, currency revaluations) map to Epicor GL Journal Entry records. Each EQUAL transaction line maps to a GLJEReal and GLJEDetail record with AccountCode, DebitAmount, CreditAmount, and CurrencyCode resolved from the account and currency mapping tables. We preserve the EQUAL transaction reference as a Journal Entry memo field for audit trail continuity.
EQUAL
Multi-Currency Balance
Epicor Prophet 21
Currency + Exchange Rate Table
lossyEQUAL's per-currency balance records map to Epicor Currency records and exchange rate history in the CurrRate table. We extract every currency code present in EQUAL, create the corresponding Epicor Currency record, then populate CurrRate with historical exchange rates from EQUAL's ledger entries. The base currency of the Epicor legal entity must be identified during scoping to determine which currency is the reporting base in Epicor's GL. Exchange rate type (historical, spot, average) is preserved as a CurrRate.RateTypeId assignment.
EQUAL
Expense Category / Tag
Epicor Prophet 21
GL Category or Expense Code
1:1EQUAL expense category tags map to Epicor GL Category records (for general ledger classification) and optionally to Expense Code records in Epicor's Expense Management module if the customer licenses that module. We build a tag-to-category mapping table during scoping by reviewing every distinct EQUAL tag value and matching it to the closest Epicor GL Category or Expense Code by name, description, or code pattern. Tags that have no Epicor equivalent are flagged for the customer's admin to create before migration.
EQUAL
Merchant Metadata
Epicor Prophet 21
Vendor Master
1:1EQUAL merchant metadata (name, category, address, payment terms) attached to transaction records maps to Epicor Vendor Master records. We deduplicate merchant records by normalized name during the EQUAL extract, then upsert the resulting vendor list into Epicor before the Transaction import phase so that the VendorID reference is satisfied on each AP Invoice line. Vendor payment terms default from Epicor's Vendor group unless EQUAL specifies different terms per merchant.
EQUAL
Owner / User
Epicor Prophet 21
Epicor User + Employee
1:1EQUAL users referenced on Account, Card, or Transaction records map to Epicor User records by email match. We extract every distinct EQUAL user, match by email against Epicor's User table, and place any unmatched users in a reconciliation queue for the customer's Epicor admin to provision before Transaction import begins. Owner assignment on AP Invoices requires a resolved UserID; records with unresolved owners are held in a staging table.
EQUAL
Custom Object (UD Tables)
Epicor Prophet 21
Custom UD Table / UD Field
lossyEQUAL custom objects and extended fields that are not part of the standard Account-Card-Transaction model map to Epicor UD (User-Defined) fields on the relevant Epicor business object. We pre-create the UD field schema in Epicor (UD100, UD01 type tables or extended fields on APInvoice, GLAccount, Vendor) before migration, then populate the UD field data alongside the standard field migration. EQUAL UD tables that represent production, inventory, or BOM data cannot map because Epicor's equivalent objects (Part, JobMtl, JobOper) do not exist in EQUAL and require Epicor's native configuration.
EQUAL
N/A — Not in EQUAL
Epicor Prophet 21
Part / PartBin / PartTran
lossyEpicor Parts, PartBin inventory tracking, and PartTran material transactions have no equivalent in EQUAL because EQUAL does not manage inventory or production. These Epicor objects are flagged as new configuration scope. We deliver a written note identifying these modules as requiring Epicor's native Part Master and inventory configuration, including a suggested chart of accounts structure for inventory valuation (WIP, Finished Goods, COGS accounts) mapped from the customer's existing EQUAL spend categories.
EQUAL
N/A — Not in EQUAL
Epicor Prophet 21
JobMtl / JobOper / MES
lossyEpicor JobMtl (job material), JobOper (job operation), and MES (manufacturing execution) records have no equivalent in EQUAL. Organizations migrating from EQUAL to Epicor typically begin job costing and production tracking in Epicor after go-live, not from EQUAL historical data. We note these as Epicor-native setup scope and do not attempt to backfill production history that does not exist in EQUAL.
EQUAL
N/A — Not in EQUAL
Epicor Prophet 21
Supplier / Supply Chain
lossyEpicor Supplier Management and Supply Chain Planning modules (Forecast, Demand Planning, Replenishment) have no EQUAL source data. Supplier records created from EQUAL's merchant metadata populate only the Vendor Master; Epicor's extended supplier management, EDI setup, and supply chain planning are configured natively in Epicor post-migration.
| EQUAL | Epicor Prophet 21 | Compatibility | |
|---|---|---|---|
| Account | GL Account1:1 | Fully supported | |
| Card (Virtual and Physical) | Vendor + AP Payment Methodlossy | Fully supported | |
| Transaction (Card Spend) | AP Invoice Line1:1 | Fully supported | |
| Transaction (Bank Transfer / Ledger Entry) | GL Journal Entry1:1 | Fully supported | |
| Multi-Currency Balance | Currency + Exchange Rate Tablelossy | Fully supported | |
| Expense Category / Tag | GL Category or Expense Code1:1 | Fully supported | |
| Merchant Metadata | Vendor Master1:1 | Fully supported | |
| Owner / User | Epicor User + Employee1:1 | Fully supported | |
| Custom Object (UD Tables) | Custom UD Table / UD Fieldlossy | Fully supported | |
| N/A — Not in EQUAL | Part / PartBin / PartTranlossy | Fully supported | |
| N/A — Not in EQUAL | JobMtl / JobOper / MESlossy | Fully supported | |
| N/A — Not in EQUAL | Supplier / Supply Chainlossy | 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.
EQUAL gotchas
No documented public API for self-service extraction
Regional tax and compliance baked into modules
One-time licensing model complicates cutover budgeting
Limited independent review data complicates customer-side validation
Epicor Prophet 21 gotchas
Third-party bolt-on integrations complicate migration scope
Dirty data without standardized processes compounds migration risk
SDK customizations and BPMs may not survive platform upgrades
Report-based export only for non-technical users
Per-user pricing model requires accurate user count before migration planning
Pair-specific challenges
Migration approach
Discovery and EQUAL environment audit
We audit the EQUAL environment for every distinct account, card type (virtual vs physical), transaction record, currency pair, expense category tag, merchant record, owner, and custom object. We extract a full schema inventory including any UD fields or extended properties. We pair this with a scoping call to identify the target Epicor company/legal entity, GL segment structure, base currency, and whether the customer is licensing AP-only or full AP/AR. The discovery output is a written migration scope with an object inventory, currency pair list, and GL segment mapping template to be completed by the customer's finance team.
GL segment mapping workshop and segment mapping table build
We facilitate a mapping session with the customer's finance team to map each EQUAL account code to an Epicor GL Account with Company, Division, Department, and Account segment values. We also map EQUAL expense category tags to Epicor GL Category values. The output is a GL Segment Mapping Table and a Category Mapping Table used as the primary transform during the migration run. No financial record migration begins until this table is validated and signed off.
Currency and exchange rate pre-load
We extract every distinct currency code and exchange rate from EQUAL's transaction history, build Epicor Currency records, and bulk-insert historical exchange rates into the Epicor CurrRate table keyed by CurrencyCode, RateTypeID, and EffectiveDate. This must complete before any multi-currency AP Invoice or GL Journal Entry is loaded, so that Epicor applies the correct historical rate rather than a spot rate at post time. We validate a sample of loaded rates against the EQUAL source records.
Vendor master and card record pre-load
We deduplicate EQUAL merchant metadata by normalized name, create Epicor Vendor Master records, and link virtual card records to Vendor UD fields. Vendor payment methods default from Epicor's Vendor Group unless the customer specifies per-vendor terms from EQUAL. This phase must complete before the Transaction import phase because AP Invoice lines reference VendorID as a required foreign key.
Production migration in financial dependency order
We run production migration in record-dependency order: GL Account structure first (validated against the segment mapping table), then Currency and CurrRate pre-load, then Vendor Master and card records, then GL Journal Entries (from EQUAL non-card ledger entries), then AP Invoice records (from EQUAL card transactions), then EQUAL custom object UD field data. Each phase emits a row-count reconciliation report and a spot-check sample of 25-50 records against the EQUAL source before the next phase begins.
Cutover, delta sync, and gap documentation handoff
We freeze EQUAL writes during cutover, run a final delta migration of any records created or modified during the migration window, then hand off Epicor as the system of record. We deliver the Written Inventory of Epicor Modules Not Migrated from EQUAL, covering Part Master, Job/Production, MES, Inventory, Supply Chain, and Advanced Payment configuration. We support a one-week hypercare window for reconciliation issues raised by the finance team. We do not configure Epicor manufacturing or inventory modules as standard scope; that is a separate implementation engagement.
Platform deep dives
EQUAL
Source
Strengths
Weaknesses
Epicor Prophet 21
Destination
Strengths
Weaknesses
Complexity grading
Moderate ERP migration. 8 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 EQUAL and Epicor Prophet 21.
Object compatibility
8 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
EQUAL: Not publicly documented.
Data volume sensitivity
EQUAL 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 EQUAL to Epicor Prophet 21 migration scoping. Not seeing yours? Book a call.
Walk through your EQUAL to Epicor Prophet 21 migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave EQUAL
Other ways to arrive at Epicor Prophet 21
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.