Nine gateway handlers for purchase orders, receipts, and suppliers were passing r.Context() directly to their logic constructors without first extracting the URL path segment via pathvar.Vars(r)["id"]. This caused ctxdata.GetPathId to always return an empty string, making GET/PUT/DELETE operations on individual resources silently return "not found" even when the record existed in the database.