According to Alkire and Rosen (Romance Languages: a Historical Introduction), a perfective construction with habeō wasn't uncommon in Classical Latin:
Caput cinctum habēbant filō.
They had their heads encircled with cord.
(Varro 5.15, first century BCE, translation mine.)
Over time, this got extended to intransitive verbs. In other words, habeō became an auxiliary; the subject didn't necessarily "have" any specific noun.
Dē eā rē supra scriptum habēmus.
We've written about this above.
(Vitruvius 9.1.4, first century BCE, translation mine.)
Here, habēmus has no direct object: it's just supporting scriptum.
This turned out to be a very useful construction! Latin (like all Italo-Celtic languages) had combined its present perfective and past aoristic tense-aspect combinations, but being able to distinguish those two meanings was really nice. So this new habeō-perfect generally took over the present perfective, leaving the original "perfect" to handle the past aoristic.
At first, when habeō had a direct object, the participle would agree with it. But when it didn't, the neuter singular was used by default. And over time, the neuter singular took over everywhere: the agreement didn't really add anything meaningful, and it only appeared half the time anyway. This was a slow and inconsistent process:
Metuō enim nē vōs ibi habeam fatigātōs.
But I'm afraid I might have exhausted you here.
(Augustine Sermones 37.27, fourth century CE, translation mine.)
Haec omnia probātum habēmus.
We've already tried all these things.
(Oribasius 7.48.189f, fourth century CE, translation mine.)
Both of these examples are from educated, formal writings in the same time period: Augustine was a prolific philosopher, and Oribasius was an imperial physician. So it seems both forms were perfectly acceptable at that point.
Over time, the "always neuter singular" form won out (unless the noun comes immediately before habēre, as pointed out in the comments—then it still acts like a direct object). And this is what we see in all the modern Romance languages.
P.S. A bit of searching has turned up people calling this the "composite perfect", "habeō-perfect", "Romance perfect", or "true perfect" (since it actually has a perfective meaning). I think all of those names would be understood.