For sure they making money and made a lot in the last years with selling players , but mostly they have to sell them because of there higher salary they want.
And on top of that they want trophies but they got unlucky and other teams was better in that seasons.
If they sign the players at a tender age and when they are not in hot form there is no way the players will be demanding high salaries when their contract is still running in the team, I understand that Dortmund wants to keep making money since they can not win trophies with the players they have but I think they can still have good players after selling some all they should do is to spend money to buy young players then groom some to sell and some to fight for the trophy.
That's the reality about Dortmund, they do more of business than play for trophy. They have this gift of building young stars, but they end up not utilising any of them. They sell them off close to their peak and make the money instead of utilizing them for trophy. Knowing fully well that their current squad can not take them anywhere in the league at most, they fight for top 4, but they can never bring out money to buy players in their peak to boat their team performance. There are some teams that focus more on businesses than trophy and I think Dortmund is one of them. Selling someone like Harland and Sancho almost without any proper replacement is one of their biggest mistakes, and they're still not stopping. Maybe because everything about football is also about making money.