Menurut imam al-Nawawi, ada dua faktor yang menyebabkan kewajiban mengeluarkan zakat fitri bagi kaum Muslim; puasa Ramadhan dan Idul Fitri. Apabila dua faktor tersebut sudah ada, maka kita wajib membayar zakat fitri. Namun sebaliknya, apabila dua faktor tersebut tidak ada, maka kita tidak wajib mengeluarkan zakat fitri. Sehingga dengan demikian, kita tidak wajib, bahkan tidak boleh, mengeluarkan zakat fitri sebelum puasa Ramadhan disebabkan kedua faktor tersebut belum ada.
Pada dasarnya kewajiban membayar zakat fitri mulai berlaku setelah masuk waktu Idul Fitri atau setelah masuk waktu maghrib di hari terakhir bulan Ramadhan. Namun kita tidak harus menunggu masuk waktu Idul Fitri terlebih dahulu untuk membayar zakat fitri, karena kita diberi kelonggaran waktu membayar zakat fitri sejak awal masuk bulan Ramadhan.
Dalam fiqih, kelonggaran membayar zakat fitri ini disebut dengan khamsatu auqat, atau lima waktu pembayaran zakat fitri;
Pertama, waktu wujub, yaitu apabila menemui sebagian waktu bulan Ramadhan dan sebagian bulan Syawal. Dengan demikian, orang yang meninggal setelah magrib di malam pertama bulan Syawal, maka wajib dizakati. Sedangkan bayi yang lahir setelah magrib di malam pertama bulan Syawal tidak wajib dizakati. Hal ini karena bayi tersebut dinilai tidak pernah mengalami bulan Ramadhan.
Kedua, waktu jawaz, yaitu dimulai sejak awal bulan Ramadhan. Sehingga kita boleh mengeluarkan zakat fitri di awal bulan Ramadhan atau di pertengahannya.
Ketiga, waktu paling utama, yaitu membayar zakat fitri sesaat sebelum shalat Idul Fitri dilaksanakan.
Keempat, waktu makruh, yaitu membayar zakat setelah shalat Idul Fitri dilaksanakan sampai terbenamnya matahari pada hari pertama bulan Syawal.
Kelima, waktu haram, yaitu membayar zakat setelah terbenamnya matahari di hari pertama bulan Syawal.