The SUM versus + comparison explains the 'total is too low' symptom better than most error guides. One catch in fix 2: REGEXEXTRACT with [0-9]+ keeps only the first run of digits, so '2.5 kg' becomes 2 and '1,200 pcs' becomes 1, with no error to warn you. A pattern like [0-9]+(?:[.,][0-9]+)? helps, though the separator still has to match the sheet's locale.