結局要件があいまいだから何とも言えんけど普通に考えれば費目ごとに派生するのはないね。

せっかくC#にはデリゲートがあるんだから、費目で違う処理はコンストラクタで
デリゲート食わせて対応できるし、その上でプロトタイプパターン適用した方が分かりやすいと思うよ。

もちろん費目ごとの固有の処理が費目固有のプロパティに依存するような場合は
継承を使うしかないけどね