-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以生成未决报告。
  • 在这个系统下没有适当的收费头分离。

现在需要将当前系统转换为可以跟踪预付款和余额的适当会计系统。

我正在考虑一个系统,其中每个月都会有一个过帐流程从每个学生的账户中扣除该月到期的费用,并且在每个滞纳金开始日期,如果费用仍然悬而未决,另一个流程会从学生的账户中扣除滞纳金。

这种方法可以对应收账款、待处理和已收费用进行检查。

请帮助,如果方法是正确的以及如何使用它。我坚持使用 db 架构部分及其实现。

4

2 回答 2

1

电信领域的最佳实践是将其细分为不同的部分:

  • 计费事件中介:计费事件由下游业务逻辑生成,并存储在数据存储中,例如具有每个时期、人员和事件的条目的评级表。在您的情况下,这将每月执行一次。

  • 评级:计算每个事件的比率。在您的情况下,这似乎是在事件类型表中的查找。

  • 计费:每个周期的评级事件的累积。在您的情况下,这将是每月执行一次的账单运行。

  • 会计:将计费结果转移到每个人的账户,持有余额,考虑到以前的账单运行和现金收款。

  • 开票:根据账户数据,生成发票,放入相应的分销流程。

  • 现金收款:确保您收到款项并相应调整账户。这取决于您的付款方式。

  • 可选:催款:强制收款。

这里的关键是使整个过程在生产中透明且可调试。使每个步骤都具有输入和可追溯的输出。这是关于金钱的,如果您遇到问题,您不能没有答案。

于 2012-02-18T14:17:19.860 回答
0

您的规范中几乎没有模糊的要求。学生可以部分支付吗?我的意思是支付一半的费用?您将需要那些处理会计实施精确解决方案的人的意见。

据我所知,您需要在您的会计科目表中为所有类型的费用创建单独的会计主管,并为存款创建一个会计主管。将这些放在收入标题下。为每个学生创建单独的帐户(分类帐),其帐号与录取号码或其他每个学生唯一的帐号相匹配。当学生支付费用时,您将创建一个具有交易 ID 的日记帐分录(总帐)。此日记帐条目需要获得批准。对于现金托收,这可能发生在收银台关闭的一天结束时,而对于支票/dd,这将发生在将金额转入银行时(银行对账单的重新调节)。

一旦日记条目被批准,它就会被发布。日记帐应自动过帐到每个学生分类帐下的所有帐户负责人。支付的任何访问金额都应在学生分类帐中的“存款”标题下。

要计算应付费用,您可以简单地将每个分类帐的余额相加,如果总和为负数,则您有应付费用,如果为正数,则您手头有多余的金额。

现在您的要求中未处理的问题是,当学生支付的金额低于规定金额时会发生什么?哪种类型的费用应该标记为部分支付,或者会计术语,我们应该在哪个账户头下添加负余额。其次,这些各种费用怎么办?他们是否转移到其他帐户?简而言之,您需要了解费用如何映射到收入以及哪些费用与哪些费用对应,以实施进一步的会计处理。

顺便说一句,我没有看到任何税款被支付。学校免税吗?

于 2012-02-19T00:51:32.450 回答