For citizens of European Union countries who have joined the Schengen Treaty, a valid identity card or passport is sufficient. Citizens from all other countries must present a passport at the border and, if necessary, have an entry visa indicating the duration of the stay and the place of destination. The visa must be requested from Italian consulates in the country of residence (it is generally issued after 90 days from the request) specifying the reason for the trip. When you arrive at your destination, and if you do not stay in a hotel, you must register at the police headquarters within 8 days of arrival. For tourists staying in hotels, or other types of tourist accommodation, registration is done automatically by the reception of the structure.
There are no limitations on how much you can buy and take with you on trips within the European Union, provided that what you buy is for personal use.