---
tags: [products, hub]
module: Products
---

# Products Module — Hub

> Products, categories, units, cost centers, warehouse inventory, and recipes. Central data layer for Sales, Purchases, and Inventory.

## Models
[[[Model]Product]] · [[[Model]WarehouseProduct]] · [[[Model]Category]] · [[[Model]Unit]] · [[[Model]CostCenter]]

## Controllers
[[[Controller]ProductController]] · [[[Controller]CategoryController]] · [[[Controller]UnitController]] · [[[Controller]CostCenterController]] · [[[Controller]ApiControllers]]

## Services
[[[Service]ProductServices]] · [[[Service]CategoryServices]] · [[[Service]UnitServices]] · [[[Service]CostCenterServices]]

## Infrastructure
[[[Repo]Repositories]] · [[[Observer]Observers]] · [[[Enum]Enums]] · [[[Notification]Notifications]] · [[[Command]Commands]]

## Reference
[[[Routes]Routes]] · [[[DB]DatabaseTables]] · [[[Cross]CrossModuleDependencies]]

---

## Flow

```
Product (4 types: PRODUCT | RECIPE | SERVICE | EXPENSE)
    ↓
WarehouseProduct (per-warehouse quantity, price, cost)
    ↓ low stock
WarehouseProductObserver → Notification (low-stock alert)

CostCenter (hierarchical, auto-code)
    ↓
links to: Invoices, Bills, Expenses, JournalRecords

Category (hierarchical) + Unit (with UnitType + ZATCA code)
    → assigned to Product
```

## Permissions
`products.products.{action}` · `products.units.{action}` · `products.categories.{action}` · `products.cost-centers.{action}`

---

## Related Modules
[[START_HERE]] · [[_Accounting]] · [[_CompanyUser]] · [[_Inventory]] · [[_Settings]]
