ERP migration
Field-level mapping, validation, and rollback between daftra and Epicor Prophet 21. We move data and schema; workflows are rebuilt natively in Epicor Prophet 21.
daftra
Source
Epicor Prophet 21
Destination
Compatibility
8 of 12
objects map 1:1 between daftra and Epicor Prophet 21.
Complexity
BStandard
Timeline
5-8 weeks
Overview
Moving from Daftra to Epicor ERP is a structural redesign across two fundamentally different ERP philosophies. Daftra is a MENA-oriented, multi-module SaaS ERP that bundles CRM, HRM, accounting, inventory, and operations under a single Arabic-first subscription. Epicor ERP — specifically the Kinetic interface — is a manufacturing-centric enterprise platform for discrete and mixed-mode producers that requires explicit hierarchical loading of master data before transactional records can post. We resolve that sequencing gap during scoping: Chart of Accounts loads first in account-code order to establish posting hierarchy, followed by Cost Centers, then master data (Customers, Suppliers, Employees, Parts), then open transactional records (Work Orders, Invoices, Expenses), then historical data. Daftra's Cheque Cycle, membership points, and insurance records have no native Epicor equivalent — we preserve these in supplementary custom fields or as separate notes records for the customer's Epicor admin to allocate post-migration. Daftra's undocumented API means we coordinate with Daftra's technical team to obtain data extraction endpoints before we can build the migration pipeline, which adds two to four weeks to discovery. Workflows, dynamic field automations, and the Daftra field-builder configurations do not migrate; we deliver a written inventory for the customer's admin to rebuild in Epicor Kinetic.
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 daftra 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.
daftra
Chart of Accounts
Epicor Prophet 21
GL Account
lossyDaftra's Chart of Accounts is exported as a flat table with account type (asset, liability, revenue, expense) but without an explicit parent_id column. We reconstruct the hierarchical posting tree during discovery by parsing account codes (Daftra uses dot-notation like 1000.100.01 to indicate parent-child relationships). Accounts load into Epicor GL Account in account-code order to satisfy posting hierarchy requirements. Sub-account parent references are resolved at migration time against the reconstructed tree. Cost Centers from Daftra map to Epicor GL Account Category Codes or a dedicated Cost Center custom field depending on the destination Epicor company's chart configuration.
daftra
Clients
Epicor Prophet 21
Customer
1:1Daftra Client records map to Epicor Customer. We extract contact details, follow-up history, memberships, points, and insurance references as supplementary fields on the Customer record or in related tables. Client Follow-Up activity logs migrate as CRM Activity records (Task or ToDo) linked to the Customer. Membership points, insurance records, and sales commission settings (Daftra Advanced and Comprehensive plans) have no native Epicor equivalent — we preserve these as custom fields on Customer or as Notes attached to the Customer record for the customer's Epicor admin to allocate to the appropriate module.
daftra
Products & Services
Epicor Prophet 21
Part or Service
1:1Daftra Products and Services export includes pricing tiers, SKU, stock levels, and supplier links. Products map to Epicor Part (with PartType = Stock or Non-Stock), Services map to Epicor Service. Custom fields on Products migrate to UD fields on Part. We extract the supplier links as VendorPart records in Epicor's Supplier cross-reference table. SKU maps to Part Number; stock levels map to PartWhse (Part Warehouse) records.
daftra
Invoices
Epicor Prophet 21
AR Invoice
1:1Daftra Invoices carry line items, taxes, installment schedules, and sales commission assignments. We map to Epicor AR Invoice (or the equivalent in Epicor's financial module). The invoice balance and installment schedule are preserved as separate fields or as linked Payment records in Epicor's Payment Entry. Custom fields on Invoices (Daftra field-builder) are enumerated per object during discovery and mapped to UD fields on the Epicor Invoice header or line. Closed invoices with zero balance migrate as historical records; open invoices migrate with their outstanding balance.
daftra
Expenses
Epicor Prophet 21
AP Invoice or GL Journal
1:1Daftra Expenses map to Epicor AP Invoice (for vendor-linked expenses) or GL Journal Entry (for non-vendor expenses). We extract expense category, date, amount, and attachment references. Recurring expense patterns are preserved as a flag on the migrated record. Expenses link to the Chart of Accounts (GL Account mapping already resolved in order 1) and to Cost Centers where applicable.
daftra
Cost Centers
Epicor Prophet 21
GL Account Category or UD Field
lossyDaftra Cost Centers are used for expense attribution across departments or projects. The linking between Cost Centers and individual transactions requires field-level extraction since Daftra's export does not include the full transaction-CostCenter join in a single table. We build this join during discovery and map Cost Centers to either Epicor GL Account Category Codes (if the Epicor company uses category-level reporting) or to a UD field on the GL Journal Entry or AP/AR Invoice depending on the destination company's reporting structure.
daftra
Employees
Epicor Prophet 21
Employee or Demand Worker
1:1Daftra Employee records include Organizational Structure placement, Contracts, Attendance, and Payroll. Compensation history is stored as a time-series within the employee record — we extract each payroll entry as a separate labor record or HR record in Epicor's HRM module (Demand Worker or Employee depending on Epicor edition). Contracts migrate as LaborRate records or HR records with start/end dates and compensation terms. Custom fields on Employees are enumerated and mapped to UD fields on the Epicor Employee record.
daftra
Assets
Epicor Prophet 21
Asset
1:1Daftra Fixed Assets include custom fields added per-asset and separate depreciation schedule records. We map to Epicor Asset Management (Asset register). Asset depreciation schedules are extracted separately from the asset master record and loaded as Depreciation Detail records in Epicor. Custom fields on Assets are enumerated during discovery and mapped to UD fields on the Asset record. Asset category maps to Epicor Asset Class.
daftra
Work Orders
Epicor Prophet 21
Job or FSM Service Order
1:1Daftra Work Orders link to Clients, Employees, and Products and include full workflow stage history and attached files. These map to Epicor Job (for manufacturing work orders) or FSM Service Order (for field service work orders) depending on the customer's operational model in Epicor. The workflow stage history migrates as Job Operation records or Service Order status change records. Files and notes attach to the Job or Service Order via Epicor's Document Management.
daftra
Bookings/Reservations
Epicor Prophet 21
Appointment or Job Operation
1:1Daftra Reservation Files with PNR-style file management, status tracking, and appointment scheduling map to Epicor Appointments (FSM module) or Job Operations (manufacturing). The activity log migrates as a series of Appointment records or Operation notes. Booking status values map to Epicor Appointment or Job status fields. Files attach to the Appointment or Job record.
daftra
Cheque Cycle
Epicor Prophet 21
Custom Fields on AP/AR + Notes
lossyDaftra's Cheque Cycle tracks cheques through issue, deposit, and return stages tied to both the Chart of Accounts and specific invoice/payment records. Epicor ERP does not have a native cheque cycle object. We preserve the full cycle history (issue date, bank account, payee/receiver, amount, deposit date, return date, return reason) as a UD field group on the AP Payment record or as a linked Notes record for the customer's Epicor admin to reference. The GL impact of each cheque stage (post-dated cheque asset, bank clearing entries) is reconstructed against the GL Account mapping already loaded.
daftra
Custom Fields
Epicor Prophet 21
UD Fields
lossyDaftra custom fields on Invoices, Assets, and Workflows are object-scoped and must be enumerated per object via the Daftra UI during discovery. We read field type, required flag, and options list, then pre-create equivalent UD (User Defined) fields on the corresponding Epicor business object before any data import. Custom field values are then written to these UD fields during the import phase. We flag any Daftra field types (e.g., multi-select picklists, date-only fields) that require explicit type mapping to Epicor's UD field schema.
| daftra | Epicor Prophet 21 | Compatibility | |
|---|---|---|---|
| Chart of Accounts | GL Accountlossy | Fully supported | |
| Clients | Customer1:1 | Fully supported | |
| Products & Services | Part or Service1:1 | Fully supported | |
| Invoices | AR Invoice1:1 | Mapping required | |
| Expenses | AP Invoice or GL Journal1:1 | Fully supported | |
| Cost Centers | GL Account Category or UD Fieldlossy | Mapping required | |
| Employees | Employee or Demand Worker1:1 | Mapping required | |
| Assets | Asset1:1 | Mapping required | |
| Work Orders | Job or FSM Service Order1:1 | Fully supported | |
| Bookings/Reservations | Appointment or Job Operation1:1 | Fully supported | |
| Cheque Cycle | Custom Fields on AP/AR + Noteslossy | Mapping required | |
| Custom Fields | UD Fieldslossy | 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.
daftra gotchas
API is not publicly documented
Custom fields are object-scoped and must be enumerated per object
Chart of Accounts export does not flatten sub-account hierarchy
Arabic character encoding requires normalization
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 API access coordination
We audit the Daftra portal across all active modules (CRM, HRM, Accounting, Inventory, Operations) and enumerate the full data inventory: client count, invoice volume, employee records, work order count, chart of accounts account count, and any active custom fields on Invoices, Assets, and Workflows. Simultaneously, we initiate API access coordination with Daftra's technical team so that we have extraction endpoints before building the pipeline. We deliver a written migration scope document that includes the full object list, estimated row counts per object, and the DMT-compatible load-order sequence for Epicor.
Chart of Accounts reconstruction and GL load
We extract Daftra's Chart of Accounts as a flat table and reconstruct the hierarchical account tree by parsing account codes for dot-notation patterns (e.g., 1100.01, 1100.01.002). We build parent_id mappings for every sub-account and validate the tree against Daftra's balance totals for each account. The reconstructed GL Account hierarchy is the first data loaded into Epicor via DMT GL Account templates, in account-code order to satisfy Epicor's posting sequence requirements. Any Cost Centers are mapped to GL Account Category Codes or UD fields at this stage.
Master data load: Customers, Suppliers, Employees, Parts
We load master data in Epicor's required dependency order: Employees (or Demand Workers) first, then Customers, then Suppliers, then Parts (with PartClass and PartWhse). We resolve Daftra Client follow-up history, membership points, and insurance references as UD fields on Customer. We resolve Daftra employee compensation history as a time-series of labor rate records. Supplier links from Daftra Products migrate as VendorPart cross-reference records. Each phase emits a row-count reconciliation report.
Custom field enumeration and UD field provisioning
We enumerate Daftra custom fields on Invoices, Assets, and Workflows via the Daftra UI and read field type, required flag, and options list for each. We pre-create equivalent UD fields on the corresponding Epicor business objects (Invoice, Asset, Job) using Epicor's UD field schema. Field types are explicitly mapped (Daftra text to Epicor String, Daktra date to Epicor Date, Daftra select to Epicor Combo or List). We then write custom field values as part of the transactional import phase.
Transactional records: Invoices, Expenses, Work Orders
We load open invoices (with outstanding balance), expenses, and Work Orders in Epicor's DMT-compatible order. Open Work Orders map to Epicor Job or FSM Service Order depending on the customer's Epicor configuration. Closed invoices and historical transactions are loaded after open records, following the migrate-or-archive decision matrix: open records migrate for day-one operations; closed historical records migrate for audit traceability (up to 3 years of current-year financials; older records are flagged for archival). Cheque Cycle records are preserved as UD field groups on AP Payment records.
Sandbox reconciliation and production cutover
We run a full migration into a Salesforce Sandbox-equivalent Epicor test company using production-like data volume. The customer's Epicor administrator reconciles record counts, spot-checks 25-50 records per object against the Daftra source, and validates GL account postings for a sample of transactions. We correct any mapping errors identified during sandbox reconciliation before production migration begins. Production cutover follows Epicor's go-live freeze process: Daftra writes are frozen, a final delta migration captures any records modified during the window, and Epicor becomes the system of record.
Workflow rebuild handoff and post-migration support
We deliver a written inventory of all Daftra workflow automations, dynamic field configurations, and field-builder setups requiring rebuild in Epicor Kinetic BPM or MES scheduling. We do not rebuild Daftra workflows as Epicor BPMs inside the migration scope; that is a separate engagement. We support a one-week hypercare window where we resolve reconciliation issues raised by the customer's team during their first week of Epicor operations. Post-hypercare, we provide a written summary of all migrated records, mapping decisions, and any data remaining in Daftra for archival purposes.
Platform deep dives
daftra
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 daftra 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
daftra: Not publicly documented.
Data volume sensitivity
daftra 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 daftra to Epicor Prophet 21 migration scoping. Not seeing yours? Book a call.
Walk through your daftra 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 daftra
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.