Your code does not appear to be a stored proc. I assume you are using MS SQL Server. The convert() function is failing because the string ' ' cannot be converted to a numeric type (money in this case) and the second convert has a trailing comma (or maybe that's just a typo on the post).
"Select...into" does not return a recordset, so this code as posted will fill the temp table but will not return any data to QS, so I am not sure what you mean by "returns the expected no of rows through Qlik Sense'.
Logic will get you from a to b. Imagination will take you everywhere. - A Einstein