I try to replicate this error, but I didn't get an error message when using $ in fieldnames. However, it's possible that QlikVIew is not interpreting the fieldname as expected.
You can try putting the fieldname between [ ], so QlikView interprets correctly the fieldname.
it would be something like:
Year (date(date#(SBINDT, 'YYYYMMDD'),'YYYY/MM/DD')) as Year,
INV$ as [INV$],
SQL SELECT *
FROM DATABASE.COMPANY WHERE COMP = 1;