All work

Case study · Wholesale distribution ERP

Valyxto

A multi-warehouse inventory and distribution ERP running the full order-to-cash and procure-to-pay cycle — with landed cost, lot/bin traceability, and a live report builder feeding a configurable BI dashboard.

Role

Senior UI Engineer

Focus

Theming, dashboards
& BI widgets

Stack

Angular · PrimeNG
Chart.js

Industry

Wholesale
distribution

Valyxto application interface

Order-to-cash

Full sales and procure-to-pay cycles — quote, order, fulfilment, invoice, payment — in one system.

6 formats

Barcode and QR label generation across CODE128, EAN, UPC, CODE39, MSI and QR for lot/bin tracking.

Live BI

A dynamic report builder feeds configurable, Gridster-based Chart.js dashboard widgets.

Multi-currency

Live exchange-rate integration recalculates every money-bearing document automatically.

The problem

Distribution businesses run two parallel financial cycles — selling and buying — across multiple warehouses, currencies and regulatory reporting periods, and they all have to reconcile.

The platform needed multi-warehouse stock visibility down to the bin and lot, landed-cost apportionment across receipts and returns, AR/AP aging by fiscal period, and a reporting layer flexible enough to answer questions the team hadn't anticipated when the schema was designed.

What it does

Order-to-cash & procure-to-pay

CRM opportunity through fulfilment, invoicing and payment in one connected pipeline.

Multi-warehouse inventory

Stock tracked per warehouse down to bin and lot level, with cycle counts and transfers.

Landed cost

Freight, duty and other costs apportioned directly into receipts, fulfilments and returns.

Barcode & QR labelling

Warehouse-precise label generation across six barcode/QR formats for bin and lot use.

Dynamic report builder

Entities, joins and filters compose custom reports — not a fixed set of canned ones.

Gridster BI dashboards

Any saved report becomes a live, drag-and-drop, resizable Chart.js widget.

My role

I worked as UI engineer on Valyxto, focused on the application's visual theme, dashboard tooling and BI widget system across dozens of live transactional screens.

  • • Refreshed the application's visual theme in PrimeNG without touching existing functionality
  • • Implemented the interactive dashboard charts using Chart.js
  • • Led R&D on Gridster2 for dashboard customization — drag-and-drop layout, resizable widgets
  • • Helped developers persist dashboard layouts through existing APIs
  • • Delivered responsive layouts optimized for multiple screen sizes

Key decisions

Restyling live screens without breaking them

The theme refresh had to touch dozens of transactional PrimeNG tables, dialogs and forms already in production use — I restyled in place, layering Tailwind utilities for custom layout rather than risking a disruptive rebuild.

Proving out Gridster before committing

Drag-and-drop, resizable dashboard widgets needed real R&D — I evaluated Gridster2 directly against the report-builder data model before it became the dashboard's foundation, then worked with backend developers to persist layouts through existing APIs.

Any report, any widget

Rather than hardcoding a fixed set of dashboard charts, the report builder's entity/join/filter output feeds directly into Chart.js widgets — so a newly saved report becomes a live, rearrangeable dashboard tile with no extra engineering.

Outcome

Valyxto gives the distribution business one system for selling, buying and tracking stock across every warehouse — with multi-currency, landed cost and lot traceability built in, and a report builder that turns any slice of that data into a live dashboard.

Let's talk about your project