PostgreSQL (Supabase)
PostgreSQL ledger
Inventory lives in PostgreSQL, where database rules keep the stock ledger append-only.
Items, locations, thresholds and movements are stored in PostgreSQL, hosted on Supabase. Only the hullstock API and its worker connect to it; the web app and this site never do.
Stock movements are protected in the database itself: a movement cannot be updated or deleted once written, and the shape of each kind of movement is checked by constraints.