mostafax / erp-integration-hub
Enterprise Integration Platform for ERP Systems — Visual Field Mapping, Multi-ERP Connectors (Dynamics 365, SAP, Oracle, Odoo, ERPNext), Real-Time Monitoring & Sync Scheduler for Laravel
Requires
- php: ^8.2
- guzzlehttp/guzzle: ^7.5
- illuminate/bus: ^10.0|^11.0|^12.0
- illuminate/cache: ^10.0|^11.0|^12.0
- illuminate/console: ^10.0|^11.0|^12.0
- illuminate/database: ^10.0|^11.0|^12.0
- illuminate/events: ^10.0|^11.0|^12.0
- illuminate/http: ^10.0|^11.0|^12.0
- illuminate/notifications: ^10.0|^11.0|^12.0
- illuminate/queue: ^10.0|^11.0|^12.0
- illuminate/routing: ^10.0|^11.0|^12.0
- illuminate/support: ^10.0|^11.0|^12.0
- league/oauth2-client: ^2.7
- mostafax/background-processing-engine: ^1.0
- spatie/laravel-permission: ^5.0|^6.0
Requires (Dev)
- fakerphp/faker: ^1.23
- laravel/pint: ^1.0
- mockery/mockery: ^1.6
- orchestra/testbench: ^8.0|^9.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/phpstan: ^1.10
This package is auto-updated.
Last update: 2026-06-09 10:58:04 UTC
README
ERP Integration Hub
Enterprise Integration Platform for ERP Systems
📖 Full Documentation →  📖 التوثيق بالعربية →
Overview
ERP Integration Hub is a Laravel package that connects your application to multiple ERP systems through a visual no-code interface — no manual API calls, no custom glue code.
ERP Integration Hub
├── Dynamics 365 Business Central ✓
├── Dynamics 365 Finance ✓
├── Supply Chain Management ✓
├── SAP S/4HANA ✓
├── Odoo ✓
├── ERPNext ✓
└── Custom REST / API ✓
Features
- Visual Field Mapping — drag-and-drop builder with 9 built-in transformers and auto-map
- 6 Sync Modes — manual, scheduled, real-time, incremental, full, event-driven
- Sync Scheduler — cron expressions, per-timezone, without overlapping
- Real-Time Monitoring — live dashboard with queue health and success rates
- Retry Management — per-record, per-profile, or bulk retry of failed jobs
- Role-Based Security — 10 granular permissions, 3 default roles
- REST API — full API layer with Sanctum authentication
- Vue 3 SPA — dark/light mode, Arabic RTL + English i18n
- High Performance — lazy collections + chunked processing, 1M–100M records
Requirements
| Dependency | Version |
|---|---|
| PHP | ^8.2 |
| Laravel | 10 / 11 / 12 |
| Redis | recommended |
mostafax/background-processing-engine |
^1.0 |
Installation
composer require mostafax/erp-integration-hub
Run the installer (publishes config, migrations, assets, and seeds default roles):
php artisan erp-integration-hub:install
Start the sync worker:
php artisan queue:work --queue=dynamics-sync
Open the dashboard:
https://your-app.com/erp-integration-hub
Configuration
Publish the config file:
php artisan vendor:publish --tag=erp-integration-hub-config
Key settings in config/erp-integration-hub.php:
'drivers' => [ 'business_central' => [...], 'dynamics_finance' => [...], 'supply_chain' => [...], 'sap' => [...], 'odoo' => [...], 'erpnext' => [...], 'custom' => [...], ], 'queue' => [ 'connection' => env('QUEUE_CONNECTION', 'redis'), 'name' => 'dynamics-sync', 'workers' => env('ERP_SYNC_WORKERS', 3), ],
REST API
All endpoints are prefixed with /api/erp-integration-hub and require Sanctum authentication.
| Method | Endpoint | Description |
|---|---|---|
GET |
/connections |
List ERP connections |
POST |
/connections |
Create a connection |
POST |
/connections/{id}/test |
Test credentials |
GET |
/sync-profiles |
List sync profiles |
POST |
/sync/run/{profileId} |
Run a sync |
GET |
/monitoring/dashboard |
Dashboard stats |
GET |
/logs |
Sync logs |
POST |
/sync/retry-all |
Retry all failed jobs |
Full API reference in the documentation.
Artisan Commands
# Install the package (first-time setup) php artisan erp-integration-hub:install # Run a sync profile manually php artisan erp-integration-hub:sync {profileId} # Process due scheduled syncs php artisan erp-integration-hub:schedule-run
Security & Permissions
The package ships with spatie/laravel-permission integration and 3 default roles:
| Role | Permissions |
|---|---|
erp_admin |
Full access |
erp_operator |
Manage syncs and connections |
erp_viewer |
Read-only access |
Architecture
src/
├── Actions/ # Single-responsibility business actions
├── Authentication/ # Microsoft OAuth client + token manager
├── Connections/
│ ├── Drivers/ # ERP-specific drivers (OData, JSON-RPC, REST)
│ └── ErpConnectionManager.php
├── Console/Commands/ # Artisan commands
├── Contracts/ # Interfaces
├── DTOs/ # Data Transfer Objects
├── Events/ # Sync lifecycle events
├── Exceptions/
├── Facades/ # ErpIntegrationHub facade
├── FieldMapping/ # Mapping engine + 9 transformers
├── Http/ # Controllers, Requests, Resources
├── Jobs/ # Queue jobs
├── Models/ # Eloquent models
├── Monitoring/ # Dashboard stats service
├── Notifications/ # Mail / Slack / database
├── Providers/ # Service provider
├── Repositories/
├── Scheduler/
├── Security/ # Policy + permission manager
└── Services/ # Sync orchestrator
Documentation
| Language | Link |
|---|---|
| English | https://mostafax2.github.io/ERP-Integration-Hub/index.html |
| العربية | https://mostafax2.github.io/ERP-Integration-Hub/ar/index.html |
License
MIT — © Mostafa Elbayyar