ERP migration
Field-level mapping, validation, and rollback between Certinia ERP Cloud and Epicor Prophet 21. We move data and schema; workflows are rebuilt natively in Epicor Prophet 21.
Certinia ERP Cloud
Source
Epicor Prophet 21
Destination
Compatibility
8 of 14
objects map 1:1 between Certinia ERP Cloud and Epicor Prophet 21.
Complexity
BStandard
Timeline
6-10 weeks
Overview
Certinia ERP Cloud is a Salesforce-native financial management and PSA platform for service businesses, layering Financial Management objects (Ledger, AR/AP, Billings, Revenue Recognition) over standard Salesforce CRM objects (Accounts, Contacts, Opportunities). Epicor ERP is a manufacturing-first platform with Kinetic and Prophet 21 product lines built around inventory, bills of materials, routings, and shop-floor scheduling. This migration is not a record copy; it is a cross-architecture translation where Certinia's project-centric, multi-entity financial model must be mapped into Epicor's inventory-centric, production-schedule-driven structure. We migrate Accounts (Customers), Contacts, Projects, Billing Events, Budgets, Assignments, Milestones, GL Entries, Invoices/Billings, Fixed Assets, and open AP/PO records. We deliver a written inventory of Salesforce managed Workflows (deprecated December 2025) and Certinia PSA automations for the customer's team to rebuild in Epicor because neither platform's automation engine migrates across architectures. Multi-entity structures require manual setup in Epicor before ledger entries can be posted, and we stage that sequencing to avoid reference errors during import.
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 Certinia ERP Cloud 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.
Certinia ERP Cloud
Accounts (Customers)
Epicor Prophet 21
Customer
1:1Certinia Accounts (extended Salesforce Account objects) map to Epicor Customer records. We preserve the billing address, shipping address, and any multi-entity assignment fields. Customer type (prospect, customer, competitor) maps to Epicor's Customer Type code. The Certinia Account Name becomes the Epicor Customer Name, and we preserve Account Number as a reference field for audit continuity. Dedupe resolution uses Company + Tax ID as the Epicor key.
Certinia ERP Cloud
Contacts
Epicor Prophet 21
Person
1:1Certinia Contacts (standard Salesforce Contact objects) map to Epicor Person records linked to the corresponding Epicor Customer. We preserve contact roles, email addresses, phone numbers, and any custom fields. The primary Contact relationship in Certinia maps to the Primary Ship To Person in Epicor. We note that Epicor's Person object does not have an Opportunity attachment model; opportunity linkage happens at the Order level rather than at the Contact level.
Certinia ERP Cloud
Projects
Epicor Prophet 21
Project (Job) or Estimate
lossyCertinia PSA Project records have no native Epicor equivalent because Epicor is not a PSA platform. We map Projects to Epicor Project (job costing) or Estimate records depending on the project type. Time-and-materials project budgets map to Epicor Estimate with quantity and cost breakdowns. Fixed-fee projects map to Epicor Project with revenue recognition milestones tracked as Project Phase milestones. We preserve project status, start and end dates, and the multi-dimensional analysis fields (region, department) from Certinia as Epicor Project Phase or Task codes.
Certinia ERP Cloud
Budgets
Epicor Prophet 21
Project Budget or Estimate Line
lossyCertinia PSA Budget records (rate-based, fixed, expense-only) map to Epicor Estimate lines or Project budget allocations depending on type. Rate-based budgets with resource cost rates become Epicor labor and material Estimate lines with pricing. Fixed budgets preserve the total contract value and phase distribution. Expense-only budgets map to Epicor miscellaneous charge Estimate lines. We flag any budget types with custom approval thresholds for manual review because Epicor's budget approval workflow requires separate configuration.
Certinia ERP Cloud
Assignments
Epicor Prophet 21
Project Labor or Resource Allocation
lossyCertinia PSA Assignment records (Resources linked to Projects with booking dates and allocation percentages) map to Epicor Project Labor records or Resource Group allocations. We preserve booking dates, allocation percentage, and skill assignments as Epicor Resource Skill codes. We note that Epicor's resource scheduling is calendar-based rather than percentage-based; the translation requires a duration and hours model that may differ from Certinia's allocation model. Customer-specific billing rates from Certinia assignments map to Epicor Quote or Order pricing rules.
Certinia ERP Cloud
Milestones
Epicor Prophet 21
Project Phase or Task
1:1Certinia PSA Milestone objects (project deliverable due dates and completion status) map to Epicor Project Phase records with Task sub-records. Milestone dependencies (successor/predecessor) are captured as Certinia relationship records and translated to Epicor Task predecessors using the project's WBS structure. Due dates, completion status, and milestone type (billing, deliverable, review) map to Epicor Phase percent complete and Task comments. Milestones without a corresponding Epicor Project (Estimate-based billing) are staged for review before import.
Certinia ERP Cloud
Billing Events
Epicor Prophet 21
Invoice or Order Billing Lines
lossyCertinia PSA Billing Events (time-entry driven or milestone-driven invoice generation) map to Epicor Invoice records for recognized revenue and to Epicor Order records for billing events tied to project phases. We preserve the billing event header, line items (hours, expenses, materials), and the billing rule type. Recognized revenue from Certinia Billing Events maps to Epicor AR Invoice records. We flag any custom billing rule configurations (progress billing percentages, hold-back terms) for manual review because Epicor's billing rule setup is separate from the invoice record.
Certinia ERP Cloud
General Ledger Entries
Epicor Prophet 21
GL Journal or GL Account Balance
lossyCertinia GL Entries (with multi-dimensional analysis fields for region, department, project) map to Epicor GL Journal records. We stage the data after entity and account code setup in Epicor to prevent undefined entity reference errors. Multi-currency entries from Certinia are translated using Epicor's currency conversion rules configured at the Company level. We flag any Certinia account codes that do not have a corresponding Epicor GL account number and generate a remapping table for the customer's finance team to validate before posting.
Certinia ERP Cloud
Invoices / Billings
Epicor Prophet 21
AR Invoice
1:1Certinia Invoices (generated from Billing Events or contracts) map to Epicor AR Invoice records with header and line items preserved. Open invoices migrate with their payment status and aging; paid invoices migrate as historical records. Linked payment records require AR record migration in the same run to maintain open-invoice integrity. We preserve invoice numbers, invoice dates, due dates, and all line item descriptions and amounts. Tax codes are mapped to Epicor Tax Usage codes.
Certinia ERP Cloud
Fixed Assets
Epicor Prophet 21
Fixed Asset Register
1:1Certinia Financial Management Fixed Asset records map directly to Epicor Fixed Asset records with depreciation schedules, asset categories, and book values preserved. We transfer asset acquisition date, depreciation method (straight-line, declining balance), useful life, and current book value. Asset categories map to Epicor Asset Class codes. Accumulated depreciation transfers as a separate GL journal entry to the accumulated depreciation account.
Certinia ERP Cloud
Purchase Orders / Payables
Epicor Prophet 21
PO and AP Invoice
1:1Certinia Purchase Orders and AP records map to Epicor PO and AP Invoice records. We migrate open POs with vendor assignments and approval status. Approval history is not accessible via Certinia's API and does not transfer; we document this gap in the handoff inventory so the customer's AP team can re-enter approval records if required for audit. Closed POs migrate as historical records without line-item detail reactivation.
Certinia ERP Cloud
Supply Chain Management Products
Epicor Prophet 21
Part or Inventory Item
lossyCertinia SCM Product Mapping records from the SCM Accounting Connector require remapping to Epicor Part (or Product) records. The line type renaming from Certinia's internal migration (Freight and Handling to Freight, Customer Deposit to Deposit) is handled during this mapping phase. We capture the exact line type values at export time and apply the new names at import. Part numbers, descriptions, and unit of measure migrate to Epicor Part Master records.
Certinia ERP Cloud
Users / Resources
Epicor Prophet 21
Epicor User (Basic)
1:1Certinia Salesforce Users with PSA Resource Management attributes (skills, utilization targets, cost rates) map to Epicor User records. We map the user email, name, and active status. PSA-specific attributes (skills, utilization targets) have no Epicor native equivalent; we preserve these in a supplemental data file (CSV export) for the customer's team to reference when configuring Epicor resource groups and labor rates. Resource cost rates from Certinia migrate to Epicor Labor Rate codes.
Certinia ERP Cloud
Custom Objects
Epicor Prophet 21
Custom Table or UD Table
1:1Certinia custom objects built within the FinancialForce managed package are accessible via Salesforce API. We export custom object definitions and data together and map them to Epicor UD (User-Defined) tables or custom Erp.Tables as appropriate for the destination version. Lookup relationships between custom objects map to Epicor foreign key references using the same relationship structure. We note that Epicor UD table schema requires manual setup in Epicor Administration before data import; we provide the schema definition in the handoff package.
| Certinia ERP Cloud | Epicor Prophet 21 | Compatibility | |
|---|---|---|---|
| Accounts (Customers) | Customer1:1 | Fully supported | |
| Contacts | Person1:1 | Fully supported | |
| Projects | Project (Job) or Estimatelossy | Mapping required | |
| Budgets | Project Budget or Estimate Linelossy | Mapping required | |
| Assignments | Project Labor or Resource Allocationlossy | Mapping required | |
| Milestones | Project Phase or Task1:1 | Mapping required | |
| Billing Events | Invoice or Order Billing Lineslossy | Mapping required | |
| General Ledger Entries | GL Journal or GL Account Balancelossy | Mapping required | |
| Invoices / Billings | AR Invoice1:1 | Mapping required | |
| Fixed Assets | Fixed Asset Register1:1 | Fully supported | |
| Purchase Orders / Payables | PO and AP Invoice1:1 | Mapping required | |
| Supply Chain Management Products | Part or Inventory Itemlossy | Mapping required | |
| Users / Resources | Epicor User (Basic)1:1 | Mapping required | |
| Custom Objects | Custom Table or UD Table1:1 | Mapping required |
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.
Certinia ERP Cloud gotchas
Salesforce Workflow deprecation requires managed workflow migration
SCM Accounting Connector migration renames line types
External IDs must be unique across all bank format mapping records
Managed package objects restrict customer-level field customization
Multi-entity structure must be replicated before ledger entries are posted
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 architecture decision
We audit the Certinia ERP Cloud org across all installed modules (Professional Services Cloud, Financial Management Cloud, Customer Success Cloud), custom objects, multi-entity configuration, multi-currency setup, PSA record volumes (projects, budgets, assignments, milestones, billing events), GL account structure, and active managed Workflows. We simultaneously assess the Epicor target: Kinetic cloud versus on-premise deployment, Epicor Prophet 21 version, selected Epicor modules (Manufacturing, Distribution, Financials, Project), and whether the customer has selected or will select a separate CRM. The discovery output is a written migration scope, a CRM decision checklist if applicable, and an Epicor module selection recommendation.
Epicor schema setup and entity configuration
We guide the customer through Epicor Company and entity setup (multi-company configuration if applicable) before any transactional data migrates. This includes chart of accounts mapping from Certinia GL accounts to Epicor GL accounts, fiscal year and period configuration, multi-currency setup (currency codes and exchange rate tables), and tax code mapping. We then export Certinia entity and ledger configuration records and stage them for import into the newly created Epicor entities. GL account remapping is the most critical step here; we generate a written remapping table for the customer's finance team to validate before posting.
Sandbox validation and record reconciliation
We run a full migration into a non-production Epicor environment using production-like data volume. The customer's project manager and finance lead reconcile record counts (Customers, Persons, Projects, GL entries, Invoices, Fixed Assets, PO/AP records) against the Certinia source system and spot-check 25-50 records in each category. Any mapping corrections (account code remapping, entity assignment errors, currency code mismatches) happen in this phase. The customer signs off on the schema, mapping, and entity configuration before production migration begins.
PSA record translation and project setup
We translate Certinia PSA records (Projects, Budgets, Assignments, Milestones, Billing Events) into Epicor Project (Estimate or Job) records using the translation rules defined during discovery. Assignments translate to Epicor Project Labor with resource allocation percentages converted to hours-based booking entries. Milestone dependencies become Epicor Task predecessors with predecessor type and lag days preserved. We flag any billing events tied to custom billing rules that require manual Epicor configuration post-migration. PSA records migrate after Epicor Project templates are established to ensure phase structures are in place.
Production migration in dependency order
We run production migration in dependency order: Epicor Company and entity setup (validated from sandbox), then Customers and Persons, then Fixed Assets, then GL entries (with dimensional analysis), then open AP/PO records, then AR Invoices, then Project records with Estimates and Job data, then Assignment and Billing Event history, then SCM Product mappings, then Custom Objects last (because they may reference standard objects). Each phase emits a row-count reconciliation report before the next phase begins. We use Epicor's REST and bulk data APIs with rate-limit handling and batch chunking for large record sets.
Cutover, validation, and automation rebuild handoff
We freeze Certinia writes during cutover, run a final delta migration of any records modified during the migration window, then mark Epicor as the system of record. We deliver the Workflow and PSA automation inventory document to the customer's team, specifying which Certinia managed Workflows have Epicor equivalents (approval rules, alerts) and which require manual rebuild. We do not rebuild Certinia Workflows or PSA automations inside the migration scope; that is a separate engagement. We offer a one-week hypercare window to resolve reconciliation issues raised by the customer's team during the first week of Epicor live operations.
Platform deep dives
Certinia ERP Cloud
Source
Strengths
Weaknesses
Epicor Prophet 21
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 Certinia ERP Cloud and Epicor Prophet 21.
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
Certinia ERP Cloud: Governed by Salesforce platform limits; per-org daily API call limits vary by Salesforce edition and add-on licenses.
Data volume sensitivity
Certinia ERP Cloud exposes a bulk API — large-volume migrations stream efficiently.
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 Certinia ERP Cloud to Epicor Prophet 21 migration scoping. Not seeing yours? Book a call.
Walk through your Certinia ERP Cloud 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 Certinia ERP Cloud
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.