Der Schienenverkehr verursachte 2019 Gesamtkosten von 12,1 Milliarden Franken (2010: 9,8 Milliarden). Davon entfielen 9,9 Milliarden Franken auf den Personen- und 2,2 Milliarden auf den Güterverkehr.
Eine wichtige Rolle bei der Finanzierung des Schienenverkehrs spielt neben den Verkehrsnutzenden die öffentliche Hand: Bund, Kantone und Gemeinden übernahmen 2019 rund 5,4 Milliarden Franken der Gesamtkosten (45%). Sie taten dies, indem sie zum Beispiel Infrastrukturprojekte finanzierten oder Leistungsabgeltungen an Transportunternehmen zahlten.