Product names must match exactly (case/whitespace-insensitive) — a
misspelled or reworded name on the pull sheet will be skipped, not
guessed. Columns are auto-detected by header name (Product/Product Name
+ Quantity/Qty Pulled/Pulled), falling back to the first two columns if
no header matches.