@Mindy Jensen This is a hot topic in Iowa City and throughout the state right now. I strongly recommend that your friend does not charge the tenant for the costs of carpet cleaning, unless it is very clear that the damage to the carpet is beyond normal wear and tear (i.e. significant stains, burns).
Iowa courts have consistently ruled under Iowa Code section 562A.12(3) that landlords are not legally allowed to require carpet cleaning for "normal wear and tear" on carpets and cannot withhold any part of the security deposit for professional carpet cleaning unless there is damage to the carpets that is above and beyond normal wear.
The Iowa Supreme Court also recently classified this practice as a prohibited provision under code 562A.11 and has required the named landlord company to pay back their current and former tenants.
Search “Caruso versus Apts Downtown” to see the Iowa Supreme Court Ruling from May 2016 and related press.
I also think it is worth mentioning that these prohibited provisions apply not just to carpet cleaning but any flat fees in the form of additional rent or withholding security deposits. You may only charge for costs incurred to you, above and beyond normal wear and tear. This includes additional rent for pets.