Product catalogue & warehouse

Sofar Products

The full catalogue of everything Sofar Solar sells — PV inverters, hybrid inverters, ESI all-in-one systems, batteries and accessories — plus live stock snapshots per warehouse. Exposed as a read API so every internal service shares one source of truth for SKUs.

In build

Seeded from the NL warehouse report

The first import loads 120 SKUs across 10 categories from NL Stock Report 20260423. Each row keeps its ERP material number (e.g. 900.01200098-0) so records line up with the existing Sofar accounting system.

PV-Single phase · 14PV-Three phase ≤12KW · 8PV-Three phase 12-100KW · 21PV-Three phase 100-200KW · 2PV-Three phase 200-350KW · 4ESI All-in-one · 42Hybrid 1P DC · 7Hybrid 1P AC · 1Hybrid 3P ≤10KW · 13Hybrid 3P >10KW · 8

Data model

Product
sku, matNo, familyCode, model, categoryCode, productKind (INVERTER_PV / INVERTER_HYBRID / ESI_AIO / BATTERY / ACCESSORY), ratedPowerW, phaseCount, active
ProductCategory
code, name, summaryGroup, order
ProductStockSnapshot
productId, warehouseCode (NL-K+N / NL-K+G-FOX / GIT), stockFree, stockLocked, stockInTransit, snapshotAt
Warehouse
code, name, region, countryIso2 — operator-visible, editable

API surface

All endpoints are org-scoped. Public read endpoint lets other services pull the catalogue without user credentials.

GET /api/productsGET /api/products/:skuGET /api/products/categoriesPOST /api/productsPATCH /api/products/:skuGET /api/products/stockGET /api/public/products (service token)

Who reads this

TMS Asset records FK into Product. CSP RMA cases need to know which SKU is being replaced and which spare-part SKUs to pull. Tickets tag product context. Sofar CSP and future e-learning content key off the same catalogue.

Integrates with

Sofar TMSSofar CSPSofar TicketsSofar Knowledge (future)HuiLianYi OAWeCom bot commands