JurgestBalla
AboutServicesWorkBlogContact
JurgestBalla

Senior Full-Stack Engineer

ERP Integrations & Legacy Modernization

Tirana, Albania

Navigation

AboutServicesWorkBlogContact

Connect

LinkedInGitHubinfo@jurgest.comB2B projects via Klartech

Legal

Privacy policyImprint

© 2026 Jurgest Balla. All rights reserved.

Built by me ·

Back to selected work
ERP & integrationsERP integration · B2B ordering

OrderOps

A white-label B2B ordering platform that runs on top of legacy ERPs: two-way sync, offline mobile ordering and safe write-back, in production for two wholesale distributors.

Role
Creator: architecture, backend, sync worker, frontend and deployment
Client
Two wholesale distributors (cosmetics & household goods, FMCG)

The problem

Sales agents, the warehouse and finance were working from phone calls, spreadsheets and an ERP that only the office could use. The ERP itself had to stay: it is the source of truth for stock, prices, invoices and tax. One of the companies also ran a legacy POS system, and neither database was documented.

What I built

  1. 1

    Reverse-engineered both schemas with discovery scripts and a confidence-rated mapping document, and analysed more than 500 vendor stored procedures before writing a single row.

  2. 2

    Built a dedicated NestJS sync worker: one job per domain (18 domains) on a single FIFO queue, with a hang guard, backoff of 1, 2, 5, 10 and 15 minutes, and one alert per outage.

  3. 3

    Made reads incremental: ID floors with an overlap margin, frozen baselines for closed fiscal years, and checksum-based change detection per day.

  4. 4

    Made write-back safe to retry: a marker checked under row locks so an order can never be booked twice, and a serializable transaction with a table lock against the vendor's MAX+1 numbering race.

  5. 5

    Shipped an offline-first PWA for sales agents: orders queue on the phone and sync idempotently when the connection returns; offline data packs are encrypted.

  6. 6

    White-label deployment per company by tag: content-hash image builds, migrations, seed and health check in one guarded script, least-privilege database logins and private networking to the ERPs.

Architecture

OrderOps sync topologyPhones talk to the OrderOps API; a sync worker reads from and writes back into a legacy ERP and a legacy POS, imports exchange rates, and keeps a reporting copy in PostgreSQL.idempotent POSTinternalupsertsread · write-backinvoicesdailySales & warehouse appNext.js PWA · offlineOrderOps APINestJS · RBACSync worker18 domains · FIFO queuePostgreSQLorders · reporting copyLegacy ERPMSSQL · source of truthLegacy POSlegacy SQL ServerCentral bankEUR rates
Phones talk to the OrderOps API; a sync worker reads from and writes back into a legacy ERP and a legacy POS, imports exchange rates, and keeps a reporting copy in PostgreSQL.Swipe sideways to see the whole diagram.

Integrations

  • Legacy MSSQL ERP: read 12 domains, write orders back
  • Legacy POS system: write invoices, read them back
  • Central-bank EUR exchange rates
  • Web Push notifications

Outcomes

  • Stock sync: 0 differences across 65k rows; run time down from ~11 s to ~2 s

  • Invoice sync: ~163k upserts per run → 0 in steady state

  • ~2.4M invoice lines and ~2.9M POS lines mirrored for reporting; 20+ legacy reports rebuilt as read-only SQL

  • 20+ production releases across two companies

Tech stack

TypeScriptNestJSNext.js PWAPostgreSQLPrismaSQL ServerDockerCaddyGitHub Actions

Next case study

Stoku