Migrate your WP ERP data
A WordPress-native ERP plugin bundling HRM, CRM, and Accounting modules into a single plugin. Small businesses already running WordPress get an integrated business suite without leaving their dashboard.
In its favor
Why people choose WP ERP
The signal that keeps WP ERP on the shortlist. Sourced from G2, Capterra, and customer scoping calls.
Single dashboard for HR, CRM, and Accounting eliminates tool switching for WordPress-based businesses already invested in the WordPress ecosystem.
Free core HRM and CRM modules lower the entry barrier — teams can validate the tool before purchasing premium extensions.
WooCommerce CRM integration syncs customer orders and lifetime value directly into the CRM contacts, avoiding a separate e-commerce reporting tool.
Extension-based pricing lets small businesses purchase only the modules they need, keeping costs proportional to actual usage.
Active development since 2016 with 550K+ downloads across 160+ countries signals a stable, maintained plugin with regular updates.
Extension costs stack up quickly — Recruitment, Payroll, Deals, Workflow, and others are billed per-month on top of the core module, making the total cost of ownership unpredictable.
The CRM module is functionally basic compared to dedicated platforms — no advanced automation, limited pipeline customization, and a shallow integrations marketplace beyond WooCommerce.
Plugin conflicts with other WordPress plugins cause data inconsistency or crashes, and support response times frustrate users managing business-critical operations.
WordPress as the application layer limits scalability and performance — growing teams hit PHP memory limits and database bottlenecks that standalone ERP systems do not share.
Limited API documentation makes third-party integrations and custom development difficult, pushing technically ambitious teams toward platforms with better developer ecosystems.
Reasons to switch
Why people leave WP ERP
The recurring reasons buyers give for replacing WP ERP. Presented as facts, not knocks.
Platform scorecard
Strengths, weaknesses, and where WP ERP fits
Grades across six dimensions, plus a SWOT-style view of where the platform shines and where it falls short.
SWOT — strengths, weaknesses, and use-case fit
Strengths
Weaknesses
Where it works
Where it struggles
Pricing tiers
WP ERP pricing overview
WP ERP uses a per-module, per-user monthly pricing model. Each of the three core modules (HRM, CRM, Accounting) starts at $12.99/user/month. Extensions are purchased separately and stack on top: Payroll and Deals at $9.49/mo each, Attendance at $4.99/mo, Document Manager at $2.49/mo. The free core plugin includes functional HRM, CRM, and Accounting modules without a subscription commitment.
Free (Core)
Tier 1 of 4
Free
What's included
Need help selecting your ERP?
Book a free 30 minute consultationPricing is informational. FlitStack AI does not bill on WP ERP's schedule — see our quote-based pricing →
What gets migrated
WP ERP object support
Object-by-object support for WP ERP migrations. Per-pair details surface during scoping.
Employees
Fully supportedWP ERP stores employee records in the erp_hr_employees table with relations to WordPress user IDs. We extract personal details, employment status, department, job title, hire date, and compensation history from erp_hr_employee_history. Effective-dated compensation rows are preserved as separate entries in the migration mapping.
Departments
Fully supportedDepartment records in erp_hr_departments are straightforward key-value structures with parent-child hierarchy. We migrate them as a top-down tree and reattach employees to the correct department ID on the destination side.
Contacts
Fully supportedCRM contacts live in erp_crm_contacts with associated wp_user_id links. We extract all standard fields (name, email, phone, address, social profiles) plus the lifecycle stage and source attribution. Contact custom fields created via the Custom Field Builder extension are included in the field map.
Companies
Fully supportedCompany records in erp_crm_companies are linked to contacts via erp_crm_contact_relations. We preserve the association mapping during migration and remap the company IDs to match the destination system's generated IDs.
Deals
Mapping requiredDeals are available as a paid CRM extension ($9.49/mo). We extract deal title, value, currency, stage, owner, and pipeline association. Pipeline stages differ between source and destination CRMs, so we map the stage IDs explicitly during the import rather than relying on ordinal position.
Activities
Mapping requiredActivities (calls, meetings, emails, tasks) are stored in erp_crm_activities with polymorphic type fields. We flatten them into a standard activity log structure. Notes attached to contacts or companies are migrated as activity records with the note type flag set.
Chart of Accounts
Fully supportedAccounting chart of accounts records in erp_ac_chart_of_accounts include account code, name, type, and subtype. We preserve the full account structure including parent-child relationships for grouped accounts.
Customers
Fully supportedAccounting customers in erp_ac_customers link to CRM contacts via erp_crm_contacts.id. We resolve the cross-reference during migration so invoices land against the correct contact record on the destination system.
Vendors
Fully supportedVendor records in erp_ac_vendors are migrated with their billing address, company name, and contact email. Vendor-ledger entries are linked via the vendor_id foreign key.
Invoices
Mapping requiredInvoices in erp_ac_invoices include line items, tax codes, payment status, and due dates. We flag open invoices versus paid or voided invoices and map the invoice status to the destination system's equivalent. Historical paid invoices preserve the original transaction date.
Journal Entries
Mapping requiredManual journal entries stored in erp_ac_journal_entries are migrated with debit/credit line items and the COA account mapping. Automated journal entries generated by the Payroll module are migrated as separate line item sets with a Payroll source tag.
Inventory Items
Mapping requiredInventory is a paid extension. We extract item name, SKU, unit cost, current stock quantity, and reorder level. Stock movement history is migrated as a separate transaction log since most destination systems handle stock tracking differently.
Documents
Mapping requiredDocument Manager is a paid extension ($2.49/mo) that stores files in the WordPress media library or a custom uploads directory. We export file metadata and re-upload the actual binary files to the destination system alongside the document record.
Workflows
Mapping requiredWorkflow automation rules created with the Workflow extension are stored as serialized PHP objects in wp_options. We extract the trigger-action pairs and map them to equivalent automation rules in the destination system where supported.
| Object | Support | Notes |
|---|---|---|
| Employees | Fully supported | WP ERP stores employee records in the erp_hr_employees table with relations to WordPress user IDs. We extract personal details, employment status, department, job title, hire date, and compensation history from erp_hr_employee_history. Effective-dated compensation rows are preserved as separate entries in the migration mapping. |
| Departments | Fully supported | Department records in erp_hr_departments are straightforward key-value structures with parent-child hierarchy. We migrate them as a top-down tree and reattach employees to the correct department ID on the destination side. |
| Contacts | Fully supported | CRM contacts live in erp_crm_contacts with associated wp_user_id links. We extract all standard fields (name, email, phone, address, social profiles) plus the lifecycle stage and source attribution. Contact custom fields created via the Custom Field Builder extension are included in the field map. |
| Companies | Fully supported | Company records in erp_crm_companies are linked to contacts via erp_crm_contact_relations. We preserve the association mapping during migration and remap the company IDs to match the destination system's generated IDs. |
| Deals | Mapping required | Deals are available as a paid CRM extension ($9.49/mo). We extract deal title, value, currency, stage, owner, and pipeline association. Pipeline stages differ between source and destination CRMs, so we map the stage IDs explicitly during the import rather than relying on ordinal position. |
| Activities | Mapping required | Activities (calls, meetings, emails, tasks) are stored in erp_crm_activities with polymorphic type fields. We flatten them into a standard activity log structure. Notes attached to contacts or companies are migrated as activity records with the note type flag set. |
| Chart of Accounts | Fully supported | Accounting chart of accounts records in erp_ac_chart_of_accounts include account code, name, type, and subtype. We preserve the full account structure including parent-child relationships for grouped accounts. |
| Customers | Fully supported | Accounting customers in erp_ac_customers link to CRM contacts via erp_crm_contacts.id. We resolve the cross-reference during migration so invoices land against the correct contact record on the destination system. |
| Vendors | Fully supported | Vendor records in erp_ac_vendors are migrated with their billing address, company name, and contact email. Vendor-ledger entries are linked via the vendor_id foreign key. |
| Invoices | Mapping required | Invoices in erp_ac_invoices include line items, tax codes, payment status, and due dates. We flag open invoices versus paid or voided invoices and map the invoice status to the destination system's equivalent. Historical paid invoices preserve the original transaction date. |
| Journal Entries | Mapping required | Manual journal entries stored in erp_ac_journal_entries are migrated with debit/credit line items and the COA account mapping. Automated journal entries generated by the Payroll module are migrated as separate line item sets with a Payroll source tag. |
| Inventory Items | Mapping required | Inventory is a paid extension. We extract item name, SKU, unit cost, current stock quantity, and reorder level. Stock movement history is migrated as a separate transaction log since most destination systems handle stock tracking differently. |
| Documents | Mapping required | Document Manager is a paid extension ($2.49/mo) that stores files in the WordPress media library or a custom uploads directory. We export file metadata and re-upload the actual binary files to the destination system alongside the document record. |
| Workflows | Mapping required | Workflow automation rules created with the Workflow extension are stored as serialized PHP objects in wp_options. We extract the trigger-action pairs and map them to equivalent automation rules in the destination system where supported. |
Gotchas
What to watch for in WP ERP migrations
Issues we've hit on past WP ERP migrations, tagged by severity. FlitStack AI handles every one — surfacing them up front because buyer engineering teams want to know.
Custom database tables require direct SQL extraction
PHP version and WordPress version mismatches block migration tooling
WooCommerce CRM integration creates duplicate contact records
Payroll historical data is module-gated and extension-specific
Workflow automation rules are serialized PHP in wp_options
| Severity | Issue |
|---|---|
| High | Custom database tables require direct SQL extraction |
| High | PHP version and WordPress version mismatches block migration tooling |
| Medium | WooCommerce CRM integration creates duplicate contact records |
| Medium | Payroll historical data is module-gated and extension-specific |
| Medium | Workflow automation rules are serialized PHP in wp_options |
Leaving WP ERP?
Where WP ERP customers move next
6 destinations WP ERP can migrate to.
How a WP ERP migration works
Four steps, WP ERP-specific
Connect
Application Passwords or Cookie-based WordPress auth into WP ERP. Scopes limited to read-only on the data we move.
Map
We translate WP ERP-specific structures (custom fields, objects, value lists) to the destination's model.
Sample
Test with a 50–200 record subset to validate WP ERP quirks before production.
Migrate
Full migration with WP ERP rate-limit handling. Rollback available throughout.
FAQ
WP ERP migration FAQ
Answers to the questions buyers ask most during WP ERP migration scoping. Not seeing yours? Book a call.
Can't find your answer?
Walk through your WP ERP migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationReady when you are
Migrate WP ERP.
Without the rebuild.
Free scoping call with a migration engineer. Tell us about your WP ERP setup and destination — written quote back within a business day.