-1

我正在學校管理軟件,其中包括學生計費模塊,即從學生收費。學校管理軟件的計費模塊(費用)

費用按月收取(每年12次),總月費是各種費用的組合,按類別和月份確定。部分費用包括學費,巴士費,印刷費或其他費用。從日期開始每月收取固定金額的滯納金,這個月份可能會有所不同。巴士費用根據特定學生的巴士類別收取。 還有部分付款的條款。

我目前的做法是這樣的:

主表存儲費用設定,其中包括本月&類和費用設置。

feeMaster 
    fid -> Primary key 
    month_year -> Stores Month Year 
    stu_class -> Class of Student 
    tuition_fee -> Tuition fee for that class 
    tuition_fee_percent -> Percentage of Tuition fee to take, defaults to 100% 
    bus_fee_percent -> Percentage of bus fee 
    late_fee_start -> Day of month from which to charge late fee 
    late_fee -> fixed late fee on per month basis 
    printing_charge -> Printing charge if any 
    other_fee -> Other fee if any 
    other_fee_reference -> Other fee reference 

每當學生來支付他/她的費用,計算和交易發生在系統中。交易的細節存儲在兩個表中。

事務主表,用於存儲所述交易

transMaster 
    tid -> Primary key 
    purpose -> purpose of transaction, monthly fee 
    amount -> amount of transaction 
    type -> transaction mode/cash/cheque/dd 
    created -> date 

本次交易的細節存儲在另一個表作爲

studentFeeDetails 
    sfid -> unique id 
    tid -> transaction id from transMaster table 
    fid -> fee id from fee settings table feeMaster 
    tuition_fee -> calculated tuition_fee 
    bus_fee -> calculated bus_fee 
    printing_charge -> calculated printing_charge 
    other_fee -> calculated other_fee 
    late_fee -> calculated late_fee 
    total_fee -> total fee calculated 
    discount -> discount if given any 
    amount_payable -> net amount payable 
    amount_paid -> paid amount 
    balance -> balance - if paid amount is greater or lesser than the original one, 
       it is stored here 
    status -> status - true if partial fee else false 
    created -> date of creation 

這是模塊的當前體系結構。沒有涉及會計實務,因此爲我們的會計部門製造了很多問題。

  • 要報告的總支付費用了一個月,每一次,系統運行所有的學生計算算法,並配備了身影。
  • 要查找課程的待定費用,系統會再次檢查該類別的應收費用,並刪除在studentFeeDetails表中找到的條目以生成待處理報告。
  • 在這個系統下沒有適當的費用分類。

現在系統需要轉換成適當的會計系統,可以跟蹤預付款和餘額。

我在考慮一個系統,每個月的發佈過程都會爲每個學生的帳戶記入當月的費用以及每個滯納金開始日期,如果費用仍在處理中,另一個過程會將滯納金記入學生帳戶。

此方法可以對應收賬款,待處理和收到的費用進行檢查。

請幫助,如果方法是正確的,如何去與它。我堅持數據庫模式部分及其實施。

+0

複雜的話題,我覺得這對於SO來說太廣泛了。 Neverthess,有一件事情對我來說似乎很明顯,我將'feeMaster'表格歸一化。你的列'otherFee'已經指出了這一點,我會創建一個表,比如'line_item'引用某個'fee_type'。 – home 2012-02-18 10:21:22

+0

我曾經與這類問題合作過。我願意再次與你分享數據庫。 – 2012-02-20 17:56:41

回答

1

在電信域最佳做法是細分爲不同的部分這一點:

  • 充電事件調解:計費事件從下游業務邏輯生成並存儲在數據存儲器中,例如每個週期,人員和事件的評分表。在你的情況下,這將每月進行一次。

  • 評分:計算每個事件的費率。在你的情況下,這似乎是一個事件類型表中的查找。

  • 賬單:累計每期的評級事件。在你的情況下,這將是一個帳單運行,每月執行一次。

  • 會計:將結算結果轉移到每個人的賬戶,並考慮到以前的賬單運行和現金收入,保持一個餘額。

  • 開票:根據帳戶數據,生成一個發票放入各自的分銷過程。

  • 現金收集:確保您收到款項並相應地調整帳戶。這取決於您的付款方式。

  • 可選:催款:強制現金收款。

這裏的關鍵是使整個過程透明並且可以在生產中調試。使每個步驟與輸入和可追蹤輸出分開。這是關於金錢的問題,如果遇到問題,你不能沒有答案。

+0

謝謝貝爾德, 所以基本上你的意思是說,一個月內一個進程必須運行,它將計算每個學生的費用並將其存儲在某個地方。然後在收集時,例行考慮學生以前的餘額並在系統中進行交易。 以下是可能出現的部分付款問題。在電信公司,你有一個單一的帳單項目,但這裏的帳單包括多個項目,即學費,巴士費等。如何處理這種情況下的部分付款。 – Ehs4n 2012-02-18 16:15:06

+0

你的意思是沒有整體賬單,但學生可以單獨支付項目?這就是所謂的「分離計費」。每位學生需要多個(子)帳戶,並在帳單運行期間將額定事件映射到這些帳戶。或者您只是處理部分付款,導致負帳戶餘額。 – Bernd 2012-02-18 22:17:03

0

您的規格中幾乎沒有含糊的要求。學生可以部分支付嗎?我的意思是支付一半的費用?您將需要處理會計實施確切解決方案的人員的輸入。

根據我的理解,到目前爲止,您需要在會計科目表中爲各種費用和會計科目創建單獨的會計科目。將這些置於收入負責人之下。爲每個學生創建一個單獨的帳戶(分類帳),帳戶號碼與錄取號碼相匹配,或爲每個學生獨特的其他內容。當學生支付費用時,您將創建一個日記帳分錄(總帳),該分錄將具有交易ID。此日記條目需要獲得批准。對於現金收款,這可能發生在現金賬單結束的當天結束時,並且在銀行轉賬時(重新調節銀行對賬單),將發生這種情況。

一旦日記條目被批准,它就會被髮布。日誌應該自動發佈到每個學生賬本下的所有賬戶主管。任何支付的入學金額都應在學生賬本的「存款」頭下。

要計算到期的費用,您可以簡單地添加每個分類賬的餘額,如果總和爲負數,則有應付費用,如果爲正數,則手頭有超額金額。

現在在您的要求中沒有處理的問題是,當學生支付少於規定的金額時會發生什麼?哪種類型的費用應該被標記爲部分或以會計術語支付,在哪個賬戶頭部應該加上負的餘額。其次,這些各種費用會發生什麼?他們是否轉移到其他賬戶?總之,您需要了解費用如何映射到收入以及哪些費用映射到哪些費用,以實施進一步的會計覈算。

順便說一句我沒有看到任何稅款被支付。學校免稅嗎?

+0

感謝Vivek,實際上,有一個單獨的會計軟件包,他們使用真正的會計:)。他們正在使用Tally ERP。我們的系統只輸出要在其包裝中使用的數據。稅和其他東西由他們處理。 – Ehs4n 2012-02-19 03:55:37

+1

Tally有SDK,在這種情況下需要與Tally集成。詢問他們如何在Tally維護賬戶並在系統中創建副本。除非您瞭解客戶的會計實踐,否則您無法獲得良好的實施。 – 2012-02-19 07:53:36