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.