社仓多设于乡社，也称乡仓。与义仓既相似又有别。义仓起源于汉代，发展成熟于北齐，兴盛于隋唐。北齐征“义租”，在州县设仓存贮，为义仓的先河。社仓大多为民间自营，其谷为地方豪富或一般民家自动输供，平时积贮、灾时赈民。隋文帝开皇五年（585年）当时工部尚书长孙平奏请于乡社建立义仓，在粮食收获时向各州百姓和军人征粮积贮，以备荒年。此类设仓于社，并由社司管理的义仓就是后代的社仓。当时社仓、义仓无别。唐太宗贞观二年（628年），戴胄奏请仿照隋制，并正式以“社仓”命名，但实际上大多设于州、县。宋代也有于乡社设立义仓