The Portuguese teenager, who is understood to have signed a five-year contract, will officially join on July 1.
Carvalho, out of contract this summer, was set for a move four months ago on deadline day when a £5million deal was agreed with the SkyBet Championship winners but the transfer window closed without a medical and formal paperwork being concluded.
However, with a number of overseas clubs starting to show interest post-January the PA news agency understands Liverpool were keen to avoid being dragged into an auction for the player when his contract expired.
Therefore they subsequently agreed that in addition to the initial fee they would pay a further £2.7m in add-ons and attach a 20 percent sell-on clause to secure the player’s future ahead of the end of the season.
Those terms mirror the ones set by a tribunal over the signing of another Cottagers youngster Harvey Elliott in the summer of 2019, a transfer which was much more acrimonious.
The strained relationship between the two clubs as a result of that deal was improved by the transfer Harry Wilson to Craven Cottage last summer and Liverpool were impressed with the co-operation they received from Fulham’s owner Tony Khan and chief executive Alistair Mackintosh during the Carvalho negotiations.
That led to Fulham granting Carvalho, who scored 10 goals in 36 league matches this season, permission to visit Liverpool’s AXA training complex to meet manager Jurgen Klopp and his coaching staff, have his medical and agree personal terms.
Klopp is understood to highly value the player’s versatility, skill set and personality and his status as a home-grown player due his development at Craven Cottage is an important factor as Liverpool look to freshen up an ageing squad.
Carvalho’s arrival will help replenish a forward line, already boosted by the arrival of Luis Diaz in January, which is losing Divock Origi.
The Belgium international has not played enough matches to trigger a contract extension and was given a farewell send-off at Anfield after the 3-1 victory over Wolves.
Origi missed the match with a muscle injury and Klopp confirmed he had now played his last game for the club as the striker will not be fit for Saturday’s Champions League final.
“Div is definitely out for the final because he (got) injured in the last second of the last session (on Saturday),” said the manager.
Liverpool are also sweating on the fitness of midfielder Thiago Alcantara, who was forced off late in the first half with an injury which makes him a doubt to face Real Madrid in Paris.
Key defender Virgil Van Dijk was an unused substitute on Sunday after a knee injury in the FA Cup final the previous weekend but he is expected to start at the Stade de France.
Fellow centre-back Joe Gomez, who injured an ankle in Tuesday’s win at Aston Villa, is also expected to return to the squad after sitting out the Wolves game.