公司规定病假超过20天,扣除当年所有福利,如果是用人单位内部的福利待遇,并不违法的,但是法定规定的一些假期,用人单位仍要让劳动者享受的,如年休假,相关规定如下:《职工带薪年休假条例》第四条职工有下列情形之一的,不享受当年的年休假:
(一)职工依法享受寒暑假,其休假天数多于年休假天数的;
(二)职工请事假累计20天以上且单位按照规定不扣工资的;
(三)累计工作满1年不满10年的职工,请病假累计2个月以上的;
(四)累计工作满10年不满20年的职工,请病假累计3个月以上的;
(五)累计工作满20年以上的职工,请病假累计4个月以上的。