明初,京衛有軍儲倉。洪武三年增置至二十所,且建臨濠、臨清二倉以供轉運。各行省有倉,官吏俸取給焉。邊境有倉,收屯田所入以給軍。州縣則設預備倉,東南西北四所,以振兇荒。自鈔法行,頗有省革。二十四年儲糧十六萬石於臨清,以給訓練騎兵。二十八年置皇城四門倉,儲糧給守御軍。增京師諸衛倉凡四十一。又設北平、密云諸縣倉,儲糧以資北征。永樂中,置天津及通州左衛倉,且設北京三十七衛倉。益令天下府縣多設倉儲,預備倉之在四鄉者移置城內。迨會通河成,始設倉於徐州、淮安、德州,而臨清因洪武之舊,并天津倉凡五,謂之水次倉,以資轉運。既,又移德州倉於臨清之永清壩,設武清衛倉於河西務,設通州衛倉於張家灣。宣德中,增造臨清倉,容三百萬石。增置北京及通州倉。
京倉以御史、戶部官、錦衣千百戶季更巡察。外倉則布政、按察、都司關防之。
各倉門,以致仕武官二,率老幼軍丁十人守之,半年一更。英宗初,命廷臣集議,天下司府州縣,有倉者以衛所倉屬之,無倉者以衛所改隸。惟遼東、甘肅、寧夏、萬全及沿海衛所,無府州縣者仍其舊。正統中,增置京衛倉凡七。自兌運法行,諸倉支運者少,而京、通倉不能容,乃毀臨清、德州、河西務倉三分之一,改為京、通倉。景泰初,移武清衛諸倉於通州。成化初,廢臨、德預備倉在城外者,而以城內空廒儲預備米。名臨清者曰常盈,德州者曰常豐。凡京倉五十有六,通倉十有六。直省府州縣、藩府、邊隘、堡站、衛所屯戍皆有倉,少者一二,多者二三十云。
預備倉之設也,太祖選耆民運鈔糴米,以備振濟,即令掌之。天下州縣多所儲蓄,后漸廢馳。于謙撫河南、山西,修其政。周忱撫南畿,別立濟農倉。他人不能也。正統時,重侵盜之罪,至僉妻充軍。且定納谷千五百石者,敕獎為義民,免本戶雜役。凡振饑米一石,俟有年,納稻谷二石五斗還官。弘治三年限州縣十里以下積萬五千石,二十里積二萬石;衛千戶所萬五千石,百戶所三百石。考滿之日,稽其多寡以為殿最。不及三分者奪俸,六分以上降調。十八年令贖罪贓罰,皆糴谷入倉。正德中,令囚納紙者,以其八折米入倉。軍官有犯者,納谷準立功。
初,預備倉皆設倉官,至是革,令州縣官及管糧倉官領其事。嘉靖初,諭德顧鼎臣言:“成、弘時,每年以存留馀米入預備倉,緩急有備。今秋糧僅足兌運,預備無粒米。一遇災傷,輒奏留他糧及勸富民借谷,以應故事。乞急復預備倉糧以裕民。”帝乃令有司設法多積米谷,仍仿古常平法,春振貧民,秋成還官,不取其息。府積萬石,州四五千石,縣二三千石為率。既,又定十里以下萬五千石,累而上之,八百里以下至十九萬石。其后積粟盡平糶,以濟貧民,儲積漸減。隆慶時,劇郡無過六千石,小邑止千石。久之數益減,科罰亦益輕。萬歷中,上州郡至三千石止,而小邑或僅百石。有司沿為具文,屢下詔申飭,率以虛數欺罔而已。
弘治中,江西巡撫林俊嘗請建常平及社倉。嘉靖八年乃令各撫、按設社倉。
令民二三十家為一社,擇家殷實而有行義者一人為社首,處事公平者一人為社正,能書算者一人為社副,每朔望會集,別戶上中下,出米四斗至一斗有差,斗加耗五合,上戶主其事。年饑,上戶不足者量貸,稔歲還倉。中下戶酌量振給,不還倉。有司造冊送撫、按,歲一察核。倉虛,罰社首出一歲之米。
其法頗善,然其后無力行者。