How ventaverse/ventasync works
VentaSync is a self-hosted, multi-marketplace ERP. Sellers manage a shared product catalog and inventory, connect channel extensions to list products and synchronize stock/prices, then consolidate marketplace orders for fulfillment and profitability tracking. Separate product branches include purchasing, reporting, dashboard/search, mobile/API access, and user permissions. Extension registry and contracts form the internal integration layer. README documents several integrations whose implementation details were not sampled, so their internal call wiring is not expanded here.
Main entry points: IntegrationRegistry.php Channel Extensions · OrderController.php Unified Orders · ProductController.php Product Catalog · OrderFetchRunner.php Order Fetch Runner
Components 25
ERP Core
- Product Catalog
app/Http/Controllers/Catalog/ProductController.php - Catalog Records
app/Models/Catalog/Product.php - Inventory and Stock
app/Services/OrderStockService.php
Marketplace Channels
- Channel Extensions
app/Integrations/IntegrationRegistry.php - Lazada Integration
extensions/lazada/Controllers/LazadaProductController.php - Shopee Integration
extensions/shopee/Controllers/ShopeeProductController.php - TikTok Integration
extensions/tiktok/Controllers/TikTokProductController.php - Venta Integration
extensions/venta/Controllers/VentaReviewController.php - Pedallion Integration
extensions/pedallion/Controllers/PedallionProductController.php - OpenCart Integration
extensions/opencart/Controllers/ReviewController.php - Shopify Integration
extensions
Sales Operations
- Unified Orders
app/Http/Controllers/Sales/OrderController.php - Order Fetch Runner
app/Services/OrderFetchRunner.php - Order Fulfilment
app/Http/Controllers/Fulfilment/OrderPrintController.php - Order Profitability
app/Services/Orders/OrderProfit.php
Insights and Access
- Dashboard
app/Http/Controllers/DashboardController.php - Global Search
app/Http/Controllers/SearchController.php - REST and Mobile API
app/Http/Controllers/Api - Users and Permissions
app/Http/Controllers/Settings/UserGroupController.php
Business Add-ons
- Purchasing
extensions/purchasing/Controllers/PurchaseOrderController.php - Reports
extensions/reports/Controllers/ReportController.php
Other components
- Seller
- Marketplace APIs
- ERP Database
- Vendors
Connections 40
- Seller → Product Catalog: manages
- Product Catalog → Catalog Records: writes catalog
- Product Catalog → Inventory and Stock: edits stock
- Catalog Records → ERP Database: persists
- Seller → Channel Extensions: connects stores
- Channel Extensions → Lazada Integration: registers
- Channel Extensions → Shopee Integration: registers
- Channel Extensions → TikTok Integration: registers
- Channel Extensions → Venta Integration: registers
- Channel Extensions → Pedallion Integration: registers
- Channel Extensions → OpenCart Integration: registers
- Channel Extensions → Shopify Integration: registers
- Lazada Integration → Marketplace APIs: syncs listings
- Shopee Integration → Marketplace APIs: syncs listings
- TikTok Integration → Marketplace APIs: syncs listings
- Pedallion Integration → Marketplace APIs: syncs products
- OpenCart Integration → Marketplace APIs: syncs reviews
- Shopify Integration → Marketplace APIs: syncs stores
- Seller → Order Fetch Runner: starts sync
- Order Fetch Runner → Unified Orders: fetches orders
- Order Fetch Runner → Marketplace APIs: requests orders
- Unified Orders → ERP Database: reads and writes
- Unified Orders → Inventory and Stock: deducts stock
- Seller → Order Fulfilment: fulfills orders
- Order Fulfilment → Unified Orders: reads orders
- Unified Orders → Order Profitability: provides order data
- Seller → Purchasing: manages POs
- Purchasing → Vendors: selects vendors
- Purchasing → ERP Database: records purchases
- Seller → Reports: runs reports
- Reports → ERP Database: reads ERP data
- Reports → Order Profitability: uses profitability
- Seller → Dashboard: views dashboard
- Dashboard → ERP Database: reads metrics
- Seller → Global Search: searches records
- Global Search → ERP Database: queries catalog and orders
- Seller → REST and Mobile API: uses API
- REST and Mobile API → ERP Database: reads and writes
- Seller → Users and Permissions: administers access
- Users and Permissions → ERP Database: stores access rules