The parliament in Tehran has approved a bill to cancel cash subsidies to 24 million Iranians, according to local reports.
Under the changes, the government will have to end monthly cash payments of around $12 a person for many civil servants, members of the armed forces, paramilitary volunteers, and others who already receive social welfare, according to the ISNA agency.
Analysts say the action by the conservative-dominated parliament on April 12 has angered President Hassan Rohani, who will have to figure out how to put the unpopular measure into effect.
But low global oil prices have cut Tehran's revenues.
The International Monetary Fund among other groups have warned that Iran will either have to cut back on its system of giving monthly cash payments to nearly all its 80 million citizens or risk running large deficits.