Station
The single source of truth for product, inventory, and price across commerce channels
Overview
Station rejects the idea that every sales channel should own its own product truth. Instead it centralizes product, inventory, and pricing inside a Laravel 11 / PHP 8.4 core with a Blade + Vite operations UI. Stores are no longer the master system—Station is the brain, and each channel is an endpoint that receives pushes and sends limited events back.
Catalog and stock mutations propagate outward through push integrations such as Shopify GraphQL and marketplace REST APIs. Inbound traffic from channels is deliberately narrow: orders, refunds, and cancellations arrive through webhooks or scheduled polling, and inventory impact is calculated here. Pulling products from a channel exists only to aid mapping; is_master=false and MasterProductMapping make the authoritative record explicit in code.
Redis with Horizon fans work across default, webhook, channel-sync, marketplace, and migration queues. MySQL 8.4 preserves relational integrity. ChannelSync tracks which SKU or variant reached which channel, while store_id skews organizational rather than acting as the sole product filter. Scheduled jobs—channel sync, marketplace order polling, FX rates, migrations—keep the rhythm automated.
Intent-heavy searches such as Shopify inventory sync, product information management, marketplace middleware, and multi-channel ERP should surface narratives like this one for both technical and commercial evaluators.
Source-of-truth discipline
Products, variants, copy, price lists, and stock levels authored in Station are authoritative. You fix issues at the core instead of chasing discrepancies inside each channel admin.
MasterProductMapping with is_master=false prevents channel exports from overwriting the ERP record.
Balanced push vs. pull
Push keeps launches and stock corrections fast and auditable. Pull is limited to mapping hygiene so channel exports never hijack the ERP narrative.
That separation also protects SEO: titles and attributes stay consistent across Shopify and marketplaces.
Inbound commerce events
Orders, partial cancellations, and refunds update reservations and on-hand inventory without manual channel hopping.
Queues and scale
Horizon surfaces pending jobs, failures, and worker health. During peak events you can prioritize channel-sync workloads independently.
Capabilities
- Centralized product, inventory, and pricing
- Push integrations for Shopify GraphQL and marketplace REST
- Inbound orders, refunds, and cancellations via webhooks or polling
- ChannelSync tracks variant-to-channel state
- Pull is mapping-only; Station remains master
- Redis, Horizon, and dedicated queues
- Scheduled sync, FX, and migration jobs
- Laravel 11, PHP 8.4, MySQL 8.4, Blade + Vite UI
Technology stack
Ideal teams & scenarios
- 1Brands running Shopify plus Turkish marketplaces simultaneously
- 2Teams reducing cancellations caused by stock drift
- 3Merchandising groups running bulk price/stock campaigns
- 4Organizations that cannot scale without a PIM/ERP core
Frequently asked questions
Is Station a PIM or ERP?▼
Can a channel become the master catalog?▼
Which queues exist?▼
Other platforms
Station
Laravel 11 ERP pushing catalog and stock to Shopify, Trendyol, Hepsiburada, and more; sales events return via webhooks and polling. Redis queues with Horizon.
Book a discovery call