diff --git a/src/PowderCoating.Web/Controllers/InventoryController.cs b/src/PowderCoating.Web/Controllers/InventoryController.cs index 3ae5d49..a703431 100644 --- a/src/PowderCoating.Web/Controllers/InventoryController.cs +++ b/src/PowderCoating.Web/Controllers/InventoryController.cs @@ -946,7 +946,10 @@ public class InventoryController : Controller if (!string.IsNullOrWhiteSpace(urlMfr)) { aiResult = await _aiLookupService.LookupAsync(urlMfr, urlColor, null, urlPart); - if (aiResult.Success && aiResult.SpecPageUrl == null) + // The scanned QR URL is always the authoritative product page link — it came + // directly from the manufacturer's bag and is always fully-qualified. Overwrite + // whatever LookupAsync returned (which may be a scheme-less path from the template). + if (aiResult.Success) aiResult.SpecPageUrl = qrUrl; } else