A middleware service that connects a webshop to the Pantheon ERP in both directions - orders, statuses, stock, prices and products stay aligned, and every sale ends as a fiscalized invoice in the customer's inbox. A platform-independent core, one connector per platform. First connector: WooCommerce.
Backend architecture · integration build · delivery
NestJS · BullMQ · PostgreSQL
2026
In progress
Trade runs on the webshop, the business runs in the Pantheon ERP - and the two are separate worlds. Orders are re-keyed by hand, statuses drift apart, stock and prices disagree, and Croatian fiscalization happens - if at all - as a separate manual step.
Nobody asked for this, because everyone assumes it cannot work any other way. We built a service that forces the two systems to behave as one: a sale shows up in Pantheon at once, status changes mirror both ways, the catalog stays aligned, and the customer gets a correct fiscalized invoice - without anyone touching it.
The service stands on the same foundations as our one-way Pantheon middleware - only it runs both ways. Everything specific to a given store lives in a thin connector; everything beneath it - the job queue, ERP writes, fiscalization, PDF, email, audit trail - is shared and does not change from platform to platform.
The inbound flow works with any webshop. An order arrives either through a platform connector, or directly as our canonical JSON on the published endpoint. A store that can send an HTTP request can send orders - no connector, no waiting on us.
The return flow needs a per-platform connector. To push a status, a stock level or a price back into the store, we have to speak its API. So the connector is a tightly bounded interface with a handful of operations - fetch order, set status, update stock and price, upsert product. A new connector means implementing that interface, not building a new service.
WooCommerce is the first connector - REST API and webhooks, fully covered and integration-tested. The same shape applies to Shopify, Magento, PrestaShop or a custom store.
Receives events from the store - a signature-checked webhook, or canonical JSON with token authentication. Validates, enqueues the job and returns 200 OK immediately. The store never waits on the ERP.
Writes orders into Pantheon, mirrors statuses, syncs stock, prices and products, fiscalizes and emails the invoice - pushing ERP changes back into the store through the connector, with retries at every step.
The service ships as a Docker image, so it runs the same anywhere - and the merchant picks where.
The service runs inside their network, next to Pantheon, without exposing the ERP outward. They get the image, docker-compose configuration and runbooks for deploy, backup and rollback. Data never leaves their environment, and we stay available for support and upgrades.
We run, monitor and maintain the service, with separate production and test environments. The merchant gets a URL and credentials, and never has to think about the server, updates or certificates. All it takes is a secure network path to their Pantheon instance.
The service is built as a product, not as a bespoke build for a single merchant. The core, the Pantheon access layer and the fiscalization layer are generic; what differs from store to store - credentials, certificate, warehouses, status mapping, tax rates, invoice templates - is environment configuration.
For a store on a supported platform, onboarding comes down to configuration and a check on the test environment - not a new development cycle. For a new platform, a connector is added; everything else already exists and already runs in production.
The project is in active development. The whole loop is built and integration-tested against a live Pantheon instance and a staging store: order in → customer ensure → ERP order → status mirroring → fiscalization → PDF → email.
Containerized and observable. The production fiscalization-certificate cutover is documented as a runbook - the same procedure already carried out on our one-way Pantheon middleware, which is in production.
Tell us what you're building. We'll come back within one business day with a clear plan, a timeline, and a real human to talk to.