Canada and the European Union are to sign a long-delayed landmark trade deal at a summit in Brussels on Sunday.
Canadian Prime Minister Justin Trudeau described it as “great news” and said he looked forward to attending.
A signing ceremony planned for Thursday had to be cancelled after a Belgian region vetoed the agreement.
But after marathon talks, a consensus was finally reached allowing all 28 EU states to formally approve the deal on Friday.
“Mission accomplished!” European Council President Donald Tusk tweeted.
Mr Trudeau tweeted back: “Great news and I’m looking forward to being there.”
The Comprehensive Economic and Trade Agreement with Canada, known as Ceta, required all EU member states to endorse it.
But seven years of negotiations were left hanging in the balance after Belgium’s French-speaking region of Wallonia demanded stronger safeguards on labour, environmental and consumer standards.
It also wanted more protection for Walloon farmers, who would face new competition from Canadian imports.
On Thursday, Belgian Prime Minister Charles Michel said that after marathon talks they had agreed on an addendum to the deal which addressed regional concerns.
Prime Minister Robert Fico of Slovakia, which currently holds the EU presidency, said the final approval of the deal was “a milestone in the EU’s trade policy”.
“The Ceta represents a modern and progressive deal, opening the door to new opportunities, while protecting important interests,” he said.
“Moreover, it has the potential to set the way forward for future trade deals.”
Complications over the Ceta agreement had raised fresh concerns about future UK negotiations with the EU on a Brexit trade deal.
Mr Tusk had warned that the delays and wrangling were further damaging EU credibility following Britain’s vote to leave the bloc.