ERP migration
Field-level mapping, validation, and rollback between Digit and Epicor Prophet 21. We move data and schema; workflows are rebuilt natively in Epicor Prophet 21.
Digit
Source
Epicor Prophet 21
Destination
Compatibility
5 of 12
objects map 1:1 between Digit and Epicor Prophet 21.
Complexity
BStandard
Timeline
6-10 weeks
Overview
Moving from DIGIT to Epicor ERP is a cross-domain migration from a government-citizen-service platform to a commercial manufacturing-and-distribution ERP. DIGIT organises data around citizen-service modules (PT, TL, PGR, FSM, HRMS) with a citizen identifier as the primary entity; Epicor ERP uses a product-supply chain model with Customer, Supplier, Part, BOM, Work Order, and Financial ledgers as core entities. We resolve the fundamental schema mismatch during scoping, map DIGIT citizen and property records to Epicor Customer and ShipTo entities, preserve FSM service histories as Service Call or Field Service records in Epicor Kinetic, and extract HRMS employee data for Epicor HRMS or a linked HRIS. Localization files from the DIGIT deployment carry regional compliance settings into the target configuration. Workflows, module-specific business rules, and localization triggers do not migrate; we deliver a written inventory of these for the customer's admin 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 Digit 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.
Digit
Citizen (PGR Module)
Epicor Prophet 21
Customer
1:1DIGIT Citizen records map to Epicor Customer entities. The Citizen UUID becomes the Epicor CustNum or an external reference field. Citizen address, phone, and email map to Customer address and contact records. We extract cross-module links (citizen-to-property, citizen-to-complaint, citizen-to-service-request) during export and preserve them as Epicor CustomerContact or ShipTo links depending on the Epicor configuration. Active citizen status from PGR determines Customer status (active/inactive) in Epicor.
Digit
Property (PT Module)
Epicor Prophet 21
Part or ShipTo
1:manyDIGIT property records map to Epicor in two ways depending on use case. For property-tax billing migration, properties map to Epicor Customer ShipTo records with the property address as ShipTo address and the assessment value stored as a custom numeric field. For commercial property assets, properties map to Epicor Part records with Part Type=NonStock. We use the DIGIT PT boundary and assessment data to populate Epicor Part or ShipTo fields and preserve the ulb (Urban Local Body) identifier as a reference field.
Digit
Trade Licence (TL Module)
Epicor Prophet 21
Customer or Part
lossyDIGIT Trade Licence records are mapped to Epicor Customer records with trade licence category and licence number stored in custom fields. If the migration involves commercial inventory associated with a trade licence (e.g., a licensed food vendor), the associated inventory maps to Epicor Part with the licence reference as a Part comment or UD field. We preserve licence status, issuance date, and expiry date as custom fields on the Epicor Customer record.
Digit
Complaint / Grievance (PGR Module)
Epicor Prophet 21
Service Call or Case
1:1DIGIT PGR complaint records map to Epicor Kinetic Service Call (case management) entities. The complaint workflow state (New, Assigned, WIP, Resolved, Closed) maps to Service Call status values. Department assignment from DIGIT maps to Epicor Project or Work Resource depending on Epicor Kinetic FSM configuration. We preserve the full complaint timeline (status changes, action history, resolution notes) as Service Call activities and attach the original citizen identifier for audit.
Digit
Field Service Request (FSM Module)
Epicor Prophet 21
Field Service Order or Work Order
1:1DIGIT FSM sanitation, drainage, and desludging service requests map to Epicor Kinetic Field Service or Work Order records. FSM vehicle assignment and route data map to Epicor Resource and Resource Group fields. Service completion records and asset associations migrate as Work Order operations with labour and materials. We extract FSM workflow state and preserve it as the Epicor Work Order status with completion notes migrated as operation comments.
Digit
Employee / User (HRMS Module)
Epicor Prophet 21
EmpBasic or linked HRIS
1:1DIGIT HRMS employee records map to Epicor EmpBasic (Employee) records or export to a linked HRIS. Employee roles and department assignments migrate as Epicor Resource or UserGroup assignments. We flag that role-permission mappings are deployment-specific and carry a manual validation step post-migration. Leave balances and HRMS-specific fields that have no Epicor native equivalent migrate as custom numeric fields on EmpBasic for the customer's HR admin to reconcile against their HR policy.
Digit
Invoice / Demand Record (PT and FSM)
Epicor Prophet 21
AR Invoice or Demand Register
lossyDIGIT demand records (property tax bills, FSM service invoices) do not have a direct Epicor equivalent in standard financial modules. We map active demand records to Epicor AR Invoice records linked to the corresponding Customer (citizen). Demand status flags (paid, pending, overdue) map to Invoice status. Historical demand records that are fully closed and do not require financial carry-forward are flagged for archiving rather than active migration to avoid inflating the Epicor financial ledger with historical closed items.
Digit
Localisation Files
Epicor Prophet 21
Epicor Configuration and Customisation
lossyDIGIT JSON/CSV localisation files (region-specific labels, compliance rules, module configurations) cannot migrate as a file to Epicor. We extract the applicable locale settings (language, fiscal year conventions, tax rate configurations, compliance metadata) and map them to Epicor System Configuration values and Epicor Tax Register settings. Multi-language labels that DIGIT stores per locale migrate as Epicor Business Object labels or custom UD fields depending on Epicor edition.
Digit
Boundary Definition (PT Module)
Epicor Prophet 21
Region or Site
lossyDIGIT PT boundary definitions (municipal ward boundaries, revenue circle definitions) have no direct Epicor ERP equivalent. We extract boundary data during export and deliver it as a structured reference document for the customer's GIS team or Epicor admin to configure as Regions or Sites in Epicor if the deployment includes multi-site operations. This is a configuration step, not a direct data migration.
Digit
Workflow / Module Business Rules
Epicor Prophet 21
Epicor Business Rules (documented, not migrated)
lossyDIGIT module-specific business rules (workflow triggers, routing logic, approval chains) do not migrate as executable code to Epicor ERP. Epicor Kinetic uses Business Process Management (BPM) for workflow rules, which operates differently from DIGIT's module-trigger model. We deliver a written inventory of every DIGIT workflow and business rule with its trigger condition, action sequence, and a recommended Epicor Kinetic BPM equivalent for the customer's admin to rebuild.
Digit
Custom Module Tables (DIGIT)
Epicor Prophet 21
Custom UD Tables or Epicor Kinetic Customisations
lossyHeavily customised DIGIT installations with additional module tables beyond the standard PT/TL/PGR/FSM/HRMS schema require custom mapping. We assess the deployment's extended schema during discovery, document non-standard tables, and map them to Epicor Kinetic custom UD (User-Defined) tables with equivalent field types. Custom field names and data types are preserved as UD column definitions with appropriate Epicor data type mappings.
Digit
Owner / User Assignment
Epicor Prophet 21
Epicor User
1:1DIGIT user assignments on Citizen, Property, Complaint, and FSM records map to Epicor User records by email match. Any DIGIT user without a matching Epicor User record goes to a reconciliation queue for the customer's admin to provision before record import resumes. Inactive DIGIT users map to inactive Epicor User records to preserve assignment history without generating active licenses.
| Digit | Epicor Prophet 21 | Compatibility | |
|---|---|---|---|
| Citizen (PGR Module) | Customer1:1 | Fully supported | |
| Property (PT Module) | Part or ShipTo1:many | Fully supported | |
| Trade Licence (TL Module) | Customer or Partlossy | Fully supported | |
| Complaint / Grievance (PGR Module) | Service Call or Case1:1 | Fully supported | |
| Field Service Request (FSM Module) | Field Service Order or Work Order1:1 | Fully supported | |
| Employee / User (HRMS Module) | EmpBasic or linked HRIS1:1 | Fully supported | |
| Invoice / Demand Record (PT and FSM) | AR Invoice or Demand Registerlossy | Fully supported | |
| Localisation Files | Epicor Configuration and Customisationlossy | Fully supported | |
| Boundary Definition (PT Module) | Region or Sitelossy | Fully supported | |
| Workflow / Module Business Rules | Epicor Business Rules (documented, not migrated)lossy | Fully supported | |
| Custom Module Tables (DIGIT) | Custom UD Tables or Epicor Kinetic Customisationslossy | Fully supported | |
| Owner / User Assignment | Epicor User1: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.
Digit gotchas
DIGIT deployment environments vary in API accessibility
Cross-version migration requires localisation file management
Module silos complicate cross-module citizen views
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 deployment assessment
We audit the source DIGIT deployment across all active modules (PT, TL, PGR, FSM, HRMS), assessing REST API accessibility, database export options, localisation file locations, module customisation depth, and cross-module citizen linking patterns. We pair this with Epicor edition scoping: Epicor Kinetic (manufacturing, FSM, MES), Epicor Prophet 21 (distribution), or Epicor BisTrack (building supply). The discovery output is a written migration scope with record counts per module, export method (API or database), localisation file inventory, and Epicor edition recommendation.
Cross-module citizen reconciliation and split design
We resolve the Citizen-to-Customer split by extracting every distinct Citizen identifier across all DIGIT modules and grouping them by their module associations (PT properties, TL licences, PGR complaints, FSM service requests). We design the Epicor Customer record strategy: Citizens with property records become Customers with ShipTo addresses; Citizens with FSM service requests become Epicor Service Customers; Citizens with TL licences become Epicor Customers with trade licence custom fields. Cross-module citizen links are preserved as Epicor CustomerContact or Related Party links. This step is the critical design phase because Epicor's product-centric schema cannot absorb DIGIT's citizen-centric model without explicit mapping rules.
Epicor schema provisioning and DMT template design
We deploy the destination Epicor schema into a Sandbox. This includes provisioning custom UD fields on Customer, ShipTo, ServiceCall, EmpBasic, and Part records to carry DIGIT-specific data that has no native Epicor equivalent. We design DMT (Data Management Tool) import templates per module: Customer DMT template, Part DMT template, ServiceCall DMT template, EmpBasic DMT template. DMT templates are sequenced by dependency: Company/Plant first, then Customer, then Service Call and Work Order, then Employee, then Demand Records. We validate template sequencing in Sandbox before any production migration begins.
Sandbox migration and reconciliation
We run a full migration into a Salesforce-like Epicor Sandbox environment using production-like data volume. The customer's Epicor admin reconciles record counts (Customers in, Service Calls in, Employees in), spot-checks 25-50 random records against the DIGIT source, and validates that cross-module citizen links are intact. Any mapping corrections, field mismatches, or DMT sequencing issues surface here and are resolved before production migration. This step is mandatory for all marquee-tier migrations.
Localisation file extraction and configuration mapping
We extract DIGIT localisation files (JSON/CSV) containing region-specific labels, tax rate definitions, boundary configurations, and compliance metadata. We map these to Epicor System Configuration values, Epicor Tax Register settings, and Epicor Region definitions. Multi-language labels that DIGIT stores per locale are delivered as a reference document for the customer's Epicor admin to configure in Epicor's label editor. This step runs in parallel with DMT template validation and does not require Epicor downtime.
Production migration in dependency order
We run production migration in record-dependency order: Epicor Company/Plant configuration first, then Customer import (with Citizen-to-Customer split applied), then Part and Inventory (from DIGIT property and inventory data), then Service Call and Field Service (from DIGIT PGR and FSM), then Employee records, then Demand/Invoice records (with closed historical records flagged for archiving rather than live import). Each phase emits a row-count reconciliation report before the next phase begins. We use Epicor DMT with batch chunking and Epicor REST API for attachments and custom UD table imports.
Cutover, validation, and workflow rebuild handoff
We freeze DIGIT writes during cutover, run a final delta migration of any records modified during the migration window, then enable Epicor as the system of record. We deliver the DIGIT Workflow and Module Business Rule inventory document to the customer's Epicor admin team with a recommended Epicor Kinetic BPM equivalent for each rule. We support a one-week hypercare window where we resolve reconciliation issues raised by the customer's operations team. We do not rebuild DIGIT workflows as Epicor BPM inside the migration scope; that is a separate engagement or an internal Epicor admin task.
Platform deep dives
Digit
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 Digit 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
Digit: Not publicly documented; varies by deployment configuration.
Data volume sensitivity
Digit 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 Digit to Epicor Prophet 21 migration scoping. Not seeing yours? Book a call.
Walk through your Digit 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 Digit
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.