The compound tenses (i tempi composti) are verb tenses that consist of two words, such as the passato prossimo (present perfect). Both the verbs essere and avere act as helping verbs in compound tense formations. For example: io sono stato (I was) and ho avuto (I had).
Present Perfect with Avere
In general, transitive verbs (verbs that carry over an action from the subject to the direct object) are conjugated with avere as in the following example:
Il pilota ha pilotato l'aeroplano. (The pilot flew the plane.)
When the passato prossimo is constructed with avere, the past participle does not change according to gender or number:
Io ho parlato con Giorgio ieri pomeriggio. (I spoke to George yesterday afternoon.)
Noi abbiamo comprato molte cose. (We bought many things.)
When the past participle of a verb conjugated with avere is preceded by the third person direct object pronouns lo, la, le, or li, the past participle agrees with the preceding direct object pronoun in gender and number. The past participle may agree with the direct object pronouns mi, ti, ci, and vi when these precede the verb, but the agreement is not mandatory.
Ho bevuto la birra. (I drank the beer.)
L'ho bevuta. (I drank it.)
Ho comprato il sale e il pepe. (I bought the salt and pepper.)
Li ho comprati. (I bought them.)
Ci hanno visto/visti. (They saw us.)
In negative sentences, non is placed before the auxiliary verb:
Molti non hanno pagato. (Many didn't pay.)
No, non ho ordinato una pizza. (No, I didn't order a pizza.)
Present Perfect with Essere
When essere is used, the past participle always agrees in gender and number with the subject of the verb, so you have four endings to choose from: -o, -a, -i, -e. In many cases, intransitive verbs (those that cannot take a direct object), especially those expressing motion, are conjugated with the auxiliary verb essere. The verb essere is also conjugated with itself as the auxiliary verb.
Some of the most common verbs that form compound tenses with essere are listed in the table below:
INTRANSITIVE ITALIAN VERBS THAT APPEAR WITH ESSERE IN PRESENT PERFECT
andare
to go
arrivare
to arrive
cadere
to fall
dimagrire
to diet
entrare
to enter
immigrare
to immigrate
morire
to die
partire
to depart
restare
to stay, to remain
(ri)tornare
to return
salpare
to weigh anchor, to set sail
sfuggire
to run away, to flee
stare
to stay, to be
uscire
to go out
venire
to come
From:https://www.dbfei.com/Article/yidaliyu/201311/7719.html