Das Regelwerk, wann mit essere und wann mit avere zu konjugieren ist, müssen wir uns jetzt mal auf der Zunge zergehen lassen.

Beispiele
1) Transitive Verben werden mit avere konjugiert.
L' ho fatto<=> Ich habe es gemacht
2) Intransitive Verben werden mit essere konjugiert
È andato via <=> Er ist gegangen
3) Ist kein Reflexivpronomen vorhanden, aber ein Modalverb, richtet sich das Hilfsverb nach dem
Vollverb.
L' ho potuto fare <=> Ich habe es machen können
È potuto andare via <=> Er konnte weggehen
4) Ist ein Modalverb involviert und ein Reflexivpronomen und steht das Reflexivpronomen vor dem Modalverb, dann wird immer mit essere konjugiert, egal ob das Reflexivpronomen ein Akkusativ oder ein Dativ (Falle für Leute, die Französisch sprechen!), das Verb intransitiv oder transitiv ist, es wird mit essere konjugiert.
Mi sono potuto fermare. <=> Ich habe anhalten können.
Mi sono voluto comprare questo libro. <=> Ich habe mir das Buch kaufen wollen.
5) Ist ein Modalverb involviert und ein Reflexivpronomen und das Reflexivpronomen ist an den
Infinitiv angehängt, dann richtet sich das Hilfsverb wieder nach dem Infinitiv.
Ho potuto fermarmi. <=> Ich habe anhalten können.
Ho voluto comprarmi questo libro. <=> Ich habe mir das Buch kaufen wollen.