The two clubs have been in discussions for several weeks, but both the fee and payment schedules have now been agreed.
Coutinho will sign a five-and-a-half year contract and will have a buyout clause of €400m.
He will fly to Barcelona and is expected to have a medical on Monday.
The 25-year-old did not travel with the Liverpool squad for a winter training camp in Dubai and has not played in either of the side’s games since the January transfer window opened because of a minor thigh problem.
The Brazilian was the subject of three failed bids from Barcelona in the summer, the largest of which was worth £113m, and he handed in a transfer request in an attempt to force a move but was unsuccessful.
Liverpool manager Jurgen Klopp said it was “no secret that Philippe has wanted this move to happen since July”.
“Philippe was insistent with me, the owners and even his teammates this was a move he was desperate to make happen,” he added.
“Despite that, we managed to keep the player here beyond the summer window, hoping that we would be able to persuade him to stay and be part of what we are looking to do.
“I can tell the Liverpool supporters that we, as a club, have done everything within our means to convince Philippe that remaining part of LFC was as attractive as moving to Spain, but he is 100% certain his future – and that of his family – belongs at Barcelona.”
Announcing Coutinho’s transfer, Barcelona said the midfielder arrives at the Nou Camp “after demonstrating his class as a player with Liverpool and the Brazilian national side”.
Coutinho made 20 appearances in all competitions for Liverpool this season, scoring 12 goals.
More from UK
Victim of black cab rapist John Worboys fears he could strike again after release
Ambulance service apologises after 81-year-old with chest pains dies waiting for paramedics
Police investigate Sinn Fein MP Barry McElduff over Kingsmill video on massacre anniversary
Police arrest man after five cats killed in Northampton
Firefighters tackle large blaze at Bristol University
Sunday’s national newspaper front pages
He was bought by Liverpool from Inter Milan for £8.5m in 2013.