If you pay the hotel in cash over 1000 euro, that is against the law. The law is article 49 of Legislative Decree 231/2007.
It is also against the law if you artificially break up the payment of over 1000 euro into 2 separate cash payments that together amount to over 1000 euro.
So if you pay 1,500 euro with two payments, one for 800 euro one day and 700 euro the next day, since they refer to the same transaction, you are still in violation of the law.
This circumstance was clarified by Ministerial Circular no. 4154 of 16 January 2012 from the Ministry of Finance and was previously upheld by the Supreme Court of Cassation in the decision no. 15103 of 22 June 2010.
You can break up the payment between a cash payment under Euro 999.99 and a traceable payment for the remainder. Traceable payment could be via bank transfer, credit card, debit card, check, etc.
EDIT:
There is an exception to the law. Art. 3, comma 1 of Legislative Decree no. 16/2012 set forth that is if the person making a payment is a non EU citizen residing outside of the EU the cash payment can be over 1,000 Euro (up to 15,000 euro).
However in that case they need to make a photocopy of your passport and you need to sign an affidavit that you are not a resident of the EU. They also need to make photocopy of the invoice/receipt. All of the above must be given to the bank where they deposit your money, and the money must be deposited within one business day.
They made this change at the request of the hotel lobby, they say to accommodate the Russian tourists, who apparently like to pay with large wads of cash. So the most 'tax' honest people on Earth, Italians and Russians, working together for the good of tourism.