合同负债和预收账款的区别主要表现为以下几点:

1、是否收到钱。预收账款是在确认预付款前^确定是否已经收到付款。而合同负债指的是确定是否履行义务,并不是以收到付款为前提。

2、收到的款项是否履约。合同责任的确认是以履约义务为前提的,而预收账款与合同约定的履义务并没有直接的关系,是无法进入到合同负债中的,需要记为预收款项。

3、商品交货期不同,预收账款往往已经约定了商品交货期,而合同负债通常是无法确定商品交货期的。

4、核算范围存在差异。预收账款只能核算已经实际收到的账款。而合同负债可以核算出已经收到的预付账款,并且还能计算出没有实际收到但是有收款权利的预收款。