The two clubs have reached an agreement for a deal worth up to £23million and the striker is now travelling to Germany for his medical.
An initial fee of around £19.5million will be paid, with £3.5million in add-ons included.
Dortmund and Italian side Roma both previously had offers rejected by Wolves as they negotiated for the 23-year-old striker.
Wolves were originally asking for a package worth up to £26million and a compromise has now been found to allow the striker to depart.