What are the differences between 金、料、代、and 費？


For example, 入学金 is correct; we can't use 入学費・代・料; that's not 日本語.

But all of them mean costs for something. Could someone please explain this?




The top few pages of Google search result already contain lots of fruitful
answers, only if you can read them:

[「…代」と「…料」はどう使い分けますか？](http://homepage3.nifty.com/recipe_okiba/nifongo/060.htm)
(Japanese)  
[中上級を教える人のための日本語文法ハンドブック](https://books.google.co.jp/books?id=0eprLex8sr0C&lpg=PA533&ots=4KFix_xBnG&dq=%E9%87%91%20%E6%96%99%20%E8%B2%BB%20%E4%BB%A3%20%E8%B3%83&hl=ja&pg=PA533#v=onepage&q=%E9%87%91%20%E6%96%99%20%E8%B2%BB%20%E4%BB%A3%20%E8%B3%83&f=false)
(Japanese)  
[JeckGroup](https://www.facebook.com/jeckgroup/posts/387185661362484)
(Vietnamese)

The following is basically a summary of them in English, plus what little I
know.

* * *

`～金`:  
A general term for money in specific situations, not necessarily in exchange
for something, might even not cost. It's a fallback option when none of the
rest could apply.

> 保証金, 入学金, お祝い金, 所持金, 補助金, 契約金, 敷金, 賠償金

`～料`:  
Charge or fee for activities done, typically charged by organizations with a
predetermined amount of money.

> 授業料, 手数料, 送料, 使用料, サービス料, 通行料, キャンセル料

`～代`:  
Price or charge in exchange for concrete (doesn't mean tangible) items. Most
widely used.

> 食事代, 飲み代, タバコ代, バス代, バイト代, 電気代, 地代, 修理代

`～費`:  
Overall expenses for specific activities, not used for detailed items.

> 医療費, 交通費, 学費, 生活費, 食費, 参加費

**BONUS**

`～賃`:  
Fare or transportation fees, otherwise limited to a small number of idiomatic
expressions.

> 運賃, 電車賃, 家賃, 工賃, 手間賃

`～料金`:  
Similar to `代` or `料`, just preferred in charges for constant everyday
services.

> 通話料金, 電気料金, 高速料金, 基本料金

* * *

So, your `入学金` is a good example of unspecified expenditure. Not only you in
Japan wonder why and for what they have to pay it.

