Read the error message:
Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.
It's pretty clear.
One or more of your subqueries is returning more than one column. Specifically, this:
case TT when 'BTOS'
then (SELECT DATEADD(WEEK,DATEDIFF(week,0,R_DATE),0)as Date,
COUNT(*)as "OSCount" ,sum(amount) as "Gross OS",SUM(fee_amount) as "OS Fee",SUM(amount)-SUM(fee_amount) as "NetOS"
is returning multiple columns into what SQL thinks of as a single column. You can't do that.
And that whole query is weird: you appear to be trying to return different columns depending on row content, and that's just silly: if a row contains "BTOS" then return a column called OSCount, otherwise return a different column called "RCount"?
I'm not sure what problem you are trying to solve here, but that is most definitely not the way to do it.