The budget includes oil production the federal government does not now control and envisions a rise in oil prices, meaning revenue may fall short of projections.
Parliament speaker Salim al-Juburi announced that the budget had been approved, but did not provide further details.
The 105.8 trillion dinars ($88.2 billion at the 1,200 dinars/dollar rate in use within Iraq) was little changed from the 106 trillion dinars the cabinet proposed last month.
It projects a deficit of $20.1 billion (24.1 trillion dinars), but there are two significant factors that could undercut a projected $68.1 billion in revenue.
Signup to our newsletter and follow us on Facebook and Twitter!
Firstly, it envisions oil exports of 3.6 million barrels per day, including a total of 550,000 bpd from Iraqi Kurdistan and Kirkuk province, a large part of which is under the autonomous region's control.
Kurdistan has been exporting oil independently and is likely to continue doing so barring a deal with Baghdad, meaning $9 billion in revenue may not materialise.
The budget is also based on an oil price of $45 a barrel, a significant increase from Iraq's November average of $36.
And with the US Congress set to lift a four-decade ban on oil exports and the OPEC cartel deciding against cutting output, prices could remain low.
Iraq has been especially hard hit by low oil prices, which come as it wages a costly war against the Islamic State group that overran large parts of the country last year.