ERP migration
Field-level mapping, validation, and rollback between PayTraq and Epicor Prophet 21. We move data and schema; workflows are rebuilt natively in Epicor Prophet 21.
PayTraq
Source
Epicor Prophet 21
Destination
Compatibility
14 of 16
objects map 1:1 between PayTraq and Epicor Prophet 21.
Complexity
BStandard
Timeline
5-8 weeks
Overview
Moving from PayTraq to Epicor ERP is a scale-up migration from a flat-rate SMB ERP to a manufacturing-first platform with deep shop floor, MES, and supply chain capabilities. PayTraq's single-company data model (one business per account on all tiers) maps to Epicor's multi-site, multi-company configuration for businesses with growing operational complexity. We sequence the Chart of Accounts and opening balances first so that every subsequent GL reference resolves cleanly, then move Clients and Suppliers before inventory and open transactions. PayTraq's missing warehouse bulk export requires us to read stock levels per product-warehouse combination via individual API calls, which extends the extraction timeline but preserves all on-hand quantities and warehouse assignments. Prepaid expense allocation schedules and fixed-asset depreciation methods are flagged for manual reconstruction in Epicor because PayTraq does not expose those schedules via API or CSV. Workflows, automations, and custom reports do not migrate; we deliver a written inventory for the customer's Epicor admin to rebuild.
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 PayTraq 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.
PayTraq
Chart of Accounts
Epicor Prophet 21
GLAccount
1:1PayTraq's standard GL account structure (Asset, Liability, Equity, Revenue, Expense types) maps directly to Epicor GLAccount with the same account code and type. Account groups in PayTraq map to GLAccount GLAccountGroup references in Epicor. We establish the chart first so that every subsequent transaction (Journal Entries, Invoices, POs) has a valid account reference at load time. Cost-center tagging from PayTraq maps to Epicor's CostCentre dimension if the destination is configured with cost center accounting.
PayTraq
Client
Epicor Prophet 21
Customer
1:1PayTraq Clients map to Epicor Customer records. The client's default currency and payment terms map to Customer.CurrencyCode and Customer.TermsCode. Tax ID fields migrate to Customer.TaxRegime and the related TaxConnect tax code assignment. Multi-currency clients are supported in Epicor's customer master. PayTraq's client code becomes Customer.CustID; client name becomes Customer.Name.
PayTraq
Supplier
Epicor Prophet 21
Vendor
1:1PayTraq Suppliers map to Epicor Vendor records. Purchase terms, default currency, and tax ID map to Vendor.PaymentTerms, Vendor.CurrencyCode, and the TaxConnect configuration. PayTraq's supplier code becomes Vendor.VendorID; supplier name becomes Vendor.Name. We resolve any intercompany payable scenarios flagged during scoping.
PayTraq
Product
Epicor Prophet 21
Part
1:1PayTraq Products map to Epicor Part records. The product type (goods vs services) determines Part.TypeCode (Stocked vs Non-Stocked). Unit of measure from PayTraq maps to Part.IUM (primary inventory UOM) with UOMClass configured in Epicor before migration. Product pricing tiers from PayTraq's Price Lists map to Epicor Part.PricePerCode and the standard price book entries.
PayTraq
Service
Epicor Prophet 21
Part (Non-Stocked)
1:1PayTraq Services map to Epicor Part records with TypeCode set to Non-Stocked since services do not carry inventory. Service price lists map to the same price book entries as Products, preserving the unified pricing table. Labour hour rates and service-specific fields migrate to Part rows flagged as non-stocked with the appropriate UOMClass.
PayTraq
Price List
Epicor Prophet 21
Part and PriceLBrk
1:1PayTraq price list rows (product or service linked to currency, price tier, and effective date) map to Epicor Part.PricePerCode and Part.PriceList entries via PriceLBrk for volume-based pricing. All currency and effective-date combinations are preserved. We create one PricePerCode row per distinct currency on the source price list.
PayTraq
Invoice
Epicor Prophet 21
ARInvoice / OrderHed + OrderDtl
1:1PayTraq Sales Invoices map to Epicor ARInvoice records for posted invoices or to OrderHed and OrderDtl for open or partially paid invoices. Invoice header fields (invoice number, date, customer, currency, tax rates, discount amounts) map directly. Invoice line items reference Products via Part.PartNum and the customer via Customer.CustNum. Multi-currency invoices carry the exchange rate from PayTraq into Epicor's currency factor fields.
PayTraq
Purchase Order
Epicor Prophet 21
POHeader + POLine
1:1PayTraq Purchase Orders map to Epicor POHeader and POLine. POHeader carries the supplier reference (Vendor.VendorNum), order date, and terms. POLine references Part.PartNum, quantity, unit cost, and required date. Partially received POs in PayTraq are flagged for the customer's Epicor admin to reconcile against receiving records since Epicor's receiving workflow (POReceipt) operates differently from PayTraq's model.
PayTraq
Journal Entry
Epicor Prophet 21
GLJrnGrp + GLJrnDtl
1:1PayTraq Journal Entries map to Epicor GLJrnGrp (journal group/header) and GLJrnDtl (detail lines). Each journal entry in PayTraq becomes a journal group in Epicor; debit and credit lines become separate GLJrnDtl rows referencing GLAccount.GLAccountNum. Journal entries are sequenced after the Chart of Accounts is fully established in Epicor so that every account reference is valid. We flag any journal entries linked to prepaid expense or fixed asset records for manual reconstruction.
PayTraq
Warehouse
Epicor Prophet 21
Warehouse
1:1PayTraq warehouse locations map to Epicor Warehouse records. The warehouse code and name transfer directly. Bin locations within warehouses are mapped to Epicor WarehseBin records if PayTraq tracks bin-level detail; otherwise, a default bin is assigned per warehouse. Warehouse addresses migrate to the Warehouse's address configuration.
PayTraq
Warehouse Inventory (on-hand)
Epicor Prophet 21
PartWhse
1:manyPayTraq does not provide a bulk export for warehouse inventory, so we reconstruct on-hand quantities by reading each product-warehouse combination individually via the PayTraq API. Each combination becomes an Epicor PartWhse record with PartNum, WarehouseCode, OnHandQty, and the last count date. This is a 1:N split because one Part exists across multiple PartWhse rows (one per warehouse). The per-record API reads extend extraction time significantly for large catalogs.
PayTraq
Employee
Epicor Prophet 21
EmpBasic
1:1PayTraq Employees map to Epicor EmpBasic records. Employee name, department, and employment status transfer to EmpBasic.Name, EmpBasic.Dept, and EmpBasic.EmpStatus. Compensation fields and effective payroll dates are mapped to EmpBasic.LabORate and related pay-class configuration. We note that Epicor's full payroll module requires separate configuration and is not activated by the data migration alone.
PayTraq
Fixed Asset
Epicor Prophet 21
FAsset
1:1PayTraq Fixed Assets map to Epicor FAsset records. Asset number, description, acquisition cost, acquisition date, and linked GL accounts transfer. Depreciation method (straight-line, declining balance) and accumulated depreciation amounts are flagged for manual verification because Epicor's FAsset uses asset books and depreciation calendars that require the customer's accountant to confirm the schedule before posting. We map the asset header and core fields; the depreciation book configuration is a separate reconciliation step.
PayTraq
Financial Loan
Epicor Prophet 21
GLJrnDtl (recurring entries)
1:1PayTraq tracks financial loans as separate records with principal and interest schedules. These schedules are not exposed via API or CSV. We map the loan principal balance to a GLJrnDtl posting and flag the loan ID reference for the customer's accountant to build the recurring journal entry schedule in Epicor's Recurring Journal functionality. The loan's linked GL accounts from PayTraq map to Epicor GLAccount references for the liability and interest expense accounts.
PayTraq
Tax Code
Epicor Prophet 21
TaxCode + TaxConnect
lossyPayTraq tax rates and tax codes referenced on invoices map to Epicor TaxCode records. We create the TaxCode and TaxConnect configuration for each distinct tax jurisdiction present in the source data. Tax agency setup (the legal entity responsible for remitting each tax) must be configured manually in Epicor since that requires the customer's legal entity and filing schedule, which are not carried in PayTraq's tax code records.
PayTraq
Opening Balances
Epicor Prophet 21
GLJrnDtl (opening balance journal)
1:1PayTraq opening balances for the current fiscal year map to an opening balance journal entry in Epicor. We create a single GLJrnGrp per fiscal period with all balance sheet accounts (Assets, Liabilities, Equity) as opening debit or credit postings. The trial balance totals must reconcile in Epicor before any transaction migration begins. This step is the foundation that every other object import depends on.
| PayTraq | Epicor Prophet 21 | Compatibility | |
|---|---|---|---|
| Chart of Accounts | GLAccount1:1 | Mapping required | |
| Client | Customer1:1 | Fully supported | |
| Supplier | Vendor1:1 | Fully supported | |
| Product | Part1:1 | Fully supported | |
| Service | Part (Non-Stocked)1:1 | Fully supported | |
| Price List | Part and PriceLBrk1:1 | Fully supported | |
| Invoice | ARInvoice / OrderHed + OrderDtl1:1 | Fully supported | |
| Purchase Order | POHeader + POLine1:1 | Fully supported | |
| Journal Entry | GLJrnGrp + GLJrnDtl1:1 | Fully supported | |
| Warehouse | Warehouse1:1 | Fully supported | |
| Warehouse Inventory (on-hand) | PartWhse1:many | Fully supported | |
| Employee | EmpBasic1:1 | Fully supported | |
| Fixed Asset | FAsset1:1 | Fully supported | |
| Financial Loan | GLJrnDtl (recurring entries)1:1 | Fully supported | |
| Tax Code | TaxCode + TaxConnectlossy | Fully supported | |
| Opening Balances | GLJrnDtl (opening balance journal)1: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.
PayTraq gotchas
API boolean values must be literal true/false
Daily API limit of 5000 requests constrains migration speed
Warehouse inventory has no bulk export path
Prepaid expense allocation schedules are not directly migratable
Decimal formatting and date format strictness on API writes
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 source audit
We audit the PayTraq account across all objects in scope: Chart of Accounts, Clients, Suppliers, Products, Services, Price Lists, Invoices, Purchase Orders, Journal Entries, Warehouses, on-hand inventory per warehouse, Employees, Fixed Assets, Financial Loans, and Tax Codes. We count records per object, identify the fiscal year of the oldest open transaction, assess multi-currency usage, and identify any prepaid expense or fixed-asset records requiring manual rebuild. We also confirm the PayTraq API credentials and test the 5000-request daily limit to scope the extraction timeline. The discovery output is a written migration scope with record counts, a sequenced extraction plan, and a list of objects flagged for manual reconstruction in Epicor.
Epicor schema design and GL foundation
We design the destination Epicor schema in partnership with the customer's Epicor admin. This includes provisioning the Chart of Accounts with GLAccountGroup assignments, configuring Warehouses and bin structures, setting up the Customer and Vendor number sequences, defining the Part number and UOMClass structure for Products and Services, and establishing the TaxConnect tax code configuration. We also design the PartWhse structure to accommodate multi-warehouse on-hand data from PayTraq and configure any required cost center dimensions. The GL chart and opening balance journal are deployed first into a Sandbox org for validation before any transaction data is loaded.
Sandbox migration and reconciliation
We run a full migration into an Epicor Sandbox using production-like data volume. The customer's Epicor functional lead reconciles: GL trial balance totals (debits equal credits and match PayTraq's balance sheet), Customer and Vendor counts, Part counts and PartWhse on-hand totals per warehouse against PayTraq's inventory report, and a spot-check of 25-50 randomly selected transaction records for field-level accuracy. Mapping corrections are made in the sandbox before production migration begins. This step also surfaces any Epicor validation rules or required-field constraints that would reject records during the production load.
Production migration in dependency order
We run production migration in strict record-dependency order. Step 1: GL Account structure and opening balance journal entries. Step 2: Warehouses and PartWhse inventory snapshots (extracted one product-warehouse combination at a time from PayTraq's API). Step 3: Customers and Vendors. Step 4: Parts (Products and Services) with price lists. Step 5: Purchase Orders. Step 6: Sales Invoices. Step 7: Journal Entries. Step 8: Employees, Fixed Assets, and Loan references. Each phase emits a row-count reconciliation report and a balance check before the next phase begins. We throttle extraction to stay within PayTraq's 5000-request daily limit and resume from the last checkpoint for any phases interrupted by the limit.
Cutover, validation, and handoff
We freeze PayTraq write access during the cutover window, run a final delta migration of any records created or modified since the last extraction checkpoint, then enable Epicor as the system of record. We deliver a reconciliation summary comparing record counts and key financial totals (Accounts Receivable, Accounts Payable, Inventory value) between PayTraq and Epicor. We also deliver the written inventory of manual reconstruction items: prepaid expense allocation schedules, fixed-asset depreciation calendars, and Epicor BPM logic for any dynamic UD field population. We support a one-week hypercare window for reconciliation issues raised during the first production close cycle.
Platform deep dives
PayTraq
Source
Strengths
Weaknesses
Epicor Prophet 21
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. 3 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 PayTraq and Epicor Prophet 21.
Object compatibility
3 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
PayTraq: 1 request per second average, bursts up to 5 requests; 5000 requests per 24 hours.
Data volume sensitivity
PayTraq 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 PayTraq to Epicor Prophet 21 migration scoping. Not seeing yours? Book a call.
Walk through your PayTraq 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 PayTraq
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.