Arriving soon .....
Upon arrival at Tehran Imam Khomeini International Airport (IKIA), follow the sign to the visa office rather than immigration, then head to the insurance counter first instead of visa counter. Once the insurance is paid for, go get and fill the form the visa counter staff give you (make sure you fill in the sponsor's address and contacts correctly), then to the Bank office at the left of the visa counter to pay (it's €75 per pax), and finally present all your documents - passport, the invitation/confirmation letter from the hotel/hostel, the insurance receipt and the bank receipt back to the visa counter staff for processing. I have heard the waiting times varied wildly. But mine took less than 30 mins which was a blessing.
Other airport tips
To change your first Rial, you can go to the money exchange kiosk in the departure hall (one level up) instead of the bank in arrivals. Though they have a limit of USD200 or €200 per person.
Highly recommend you to buy the IRANCELL data sim card in the arrival hall. I get the 5GB (the highest at the moment) that valid up to a month for USD15 which also allowed me to make calls and SMS, and pretty reliable thus far. The most important thing is using Google Maps or maps.me to get to places. Wifi here simply sucked, even the internet at the 5-stars hotel was much to be desired.
If you don't have a driver from the hotel waiting for you, you can get a taxi to Tehran city for USD20 (750,000 rials). The drive to Tehran takes about an hour depending on the traffic.