# F-176 — Implementer ## Cause POS lookup SQL was written for an obsolete schema and referenced nonexistent columns: `v.name`, `v.active`, `p.active`, `inventory_stock.quantity`, `pricing_variant_prices.price_cents`, plus category links by variant. PostgreSQL returned 500; the UI swallowed it and rendered “Sin resultados”. ## Changes - Search uses product name/state and current variant SKU/EAN. - Inventory uses summed `available`, scoped to the active store. - Price uses offer or current net amount. - Category lookup uses `catalog_product_categories.product_id`. - Manual partial EAN search uses parameterized `ILIKE`; exact EAN/SKU endpoints were repaired too. - UI now exposes API search errors rather than reporting false empty results. ## Evidence - Project TypeScript PASS. - POS Next build PASS. - `git diff --check` PASS. - Authenticated runtime search `q=590123412345`: HTTP 200, 12 existing products. - Exact EAN `59012341234501`: HTTP 200, Almendras Crudas Ecologicas, stock 25, price 895.