Yes, that is the difference.
The federal government orders from the federal railway, which is mainly the SBB. This is the most important and the biggest company in Switzerland. It's the Swiss Federal Railways.
The cantons order from the companies they own; they order from the cantonal companies, but also the communes. Of course, they work very closely together. For example, the offices on the federal level and the offices at the communal level work very closely together. They discuss it together and they make plans together, but in the end it's the Swiss government or the cantonal government that decides about the money.
If it's a small sum, it is the government. If it's a very big sum, it's up to the parliaments of the cantons or the Parliament of Switzerland.