【问题标题】:Building a rudimentary accounting app [closed]构建一个基本的会计应用程序[关闭]
【发布时间】:2009-01-07 18:19:43
【问题描述】:

我正在构建一个用于个人理财的简单会计应用程序。

用户可能会跟踪购买、即将到来的账单、定期存款等。这将非常简单。

两个问题:

1) 我应该记住任何建议吗?显然,我会在适当的情况下使用事务,但最好了解正确的数据类型和其他注意事项。

2) 是否有任何您知道的 API 可以用来定期从用户的银行获取用户余额?即,无论他们是在 Chase、BofA 还是其他机构,都可以轻松查询他们的帐户的 API?

非常感谢,

迈克尔

【问题讨论】:

    标签: api finance accounting


    【解决方案1】:

    刚刚为学校相关的非营利组织完成了一些定制的在线会计软件的 1.0 版,我有一些建议 :)

    • 使用标准复式记账法/簿记(借方和贷方)作为财务引擎的基础。您会发现这不仅可以为您存储交易数据,还可以生成报告。资产 = 负债 + 股权是一种可靠的方法来追踪谁拥有什么。
    • 使用小数类型表示货币。
    • 使用事务。
    • 保持界面简单 可能。
    • 你需要有一个方法来 允许用户对账银行 记录与他们自己的记录。 提取银行数据将对此有所帮助 过程,但您需要提供 用户用一种方法进行比较。 您可以为此使用银行对账单 过程。
    • 银行总是被认为是正确的。 如果两者之间存在差异 银行和用户记录... 故障几乎总是在用户身上 记录。
    • 确保提供某种 用户备份工具
    • 保护用户数据
    • 确保您完全了解您正在自动化的流程。不要做假设。由专门研究个人理财的会计师来管理您的想法。进行此审查将有很大帮助。
    • 准备好编写大量代码。会计软件已经存在多年,典型会计软件包的“标准功能”列表不断增加,市场上的参与者也不少。如果您打算销售此产品,则需要提供这些标准功能,然后找到某种方式将其与已有的附加功能区分开来。
    • TEST TEST 再次测试。你 正在保存人民的记录 个人金融交易 (他们的钱)。不采取错误 轻轻地。

    【讨论】:

      【解决方案2】:

      当我完成一个专注于会计的 POS 系统时,我将添加一些提示 - 这意味着需要跟踪购买、费用、发票、账户、信用卡、现金、车辆等。这些概念最终将应用于个人系统。

      最好的建议是查看您的文书工作,并尝试围绕将物理文档翻译到计算机所需的操作来构建您的数据库。将此与会计教科书的前几章结合起来,其中讨论了帐户、会计科目表和日记帐。

      我用过的书: George Murray 触手可及的会计 苏珊娜·卡普兰 (Suzanne Caplan) 为企业家提供的财务和会计 安斯沃思的会计导论 霍兰德的会计、信息技术和业务解决方案

      将源文档输入系统后,您就可以运行查询以获得答案。这样做消除了“总帐”和“试算表”的概念,因为您只需更正或添加到您的源文档。所以“总账”变成了计算。这让我非常困惑。同样,所有源文档都将放入“期刊”中,可以是您的数据库表。我使用一般日记帐、采购日记帐、付款或现金支出日记帐、销售日记帐和现金收入日记帐。请记住,“CASH”一词是指现金、信用卡、支票、借记卡。

      例如,我有一本“普通日记”,这基本上就是您所需要的。在这本日记中,我记录了“来源收据”。收据可能是发票,如时代华纳有线电视,它有一个帐号。在这种情况下,我为时代华纳创建了一个“帐户”。时代华纳账户将链接到“账户图表”,该账户将指定费用类型为“互联网”。然后输入发票,其中包含日期、金额等。发票链接到时代华纳的帐户。一旦输入发票,它是未付款的。然后,您需要添加付款。当然,您可以按应有的方式全额支付账单,但您可能需要分两次付款,或分期付款,或不全额付款。这将引导您进入“付款日志”以及“发票到付款查找表”,该表需要应用金额才能应用于发票。此应用金额很重要,因为您可能有 4 个未付的时间警告账单和您只需惊慌失措地汇出 200 多美元即可恢复您的帐户。然后,这笔付款需要在发票中拆分,并分别应用金额。当然,付款帐户会链接回您的帐户。

      在输入收据的情况下,不使用帐户。假设你在 embrasse-moi 买了一些内衣,然后付现金。您的系统将获取供应商、embrasse-moi、日期、成本,如果您通过互联网购买并且没有缴税但您仍然欠税,我添加了“使用税”、金额和“图表帐户”,这本质上是您的费用类别。这一切都归于一般期刊。在同一张表格上,您将拥有付款方式。我为费用+确切付款制作了一个简化表格,因为这很常见。如果付款被拆分,那么您将需要使用一个表格输入收据,然后使用其他表格创建多个付款链接到该收据。

      因此,最终您的这个简单会计应用程序的数据库将包含以下表格: 账户(账户信息包括账户类型,如抄送卡/借记卡、支票、现金、商业采购的库存账户、公用事业等费用账户、默认会计科目表) 会计科目表(基本上是一个描述如何对将流入您的运营报表的费用和科目进行分类的列表,我把我的放在这里供您查看: http://embrasse-moi.com/exampleData/pos_chart_of_accounts.csv) 我有一张用于开立账户余额的表格,因为你必须从某个地方开始 帐户类型 - 表示信用卡、借记卡等。请记住,会计等式基本上会根据帐户进行切换。支票账户借方是“坏的”,因为你放弃了钱,贷方是“好”,因为你赚了钱,而信用卡借方是“好”,因为你减少了债务,贷方是“坏”,因为你增加了债务 账户类型图表,它是“资产、负债、长期资产等”。这可以作为 Enum 类型包含在账户购物车中 然后是general journal,如上所述,它包含足够的信息来描述您的文档。是算账吗?日期、金额、类型(收据或发票)到期日,我保留一个“已付款”标志以方便查询。 然后您在“一般日记帐”表和付款表之间进行查找 然后你就有了付款表

      一旦您掌握了所有这些信息,您几乎永远不会使用您的银行作为来源,因为它们并不总是正确的,至少我的银行会出错。因此,这种类型的结构将使您始终掌握您的信息,并且在月底,该系统将生成与您的帐户报表看起来相同的报表。这就是目标。

      【讨论】:

        【解决方案3】:

        关于从银行获取信息的 API:如果可能的话,这并不简单。您可以想象您的银行将花费多少时间来确保一切安全。我认为不可能自动连接。 通常有一种方法可以在您登录网上银行后(如果有的话)通过手动下载文件来下载数据。希望它是 CSV 格式或类似的格式 ;-)

        [编辑]

        显然我在这里错了,主要银行确实允许直接连接。我想你必须咨询你的银行技术支持。

        [/编辑]

        至于要使用的数据类型,我至少建议货币值使用小数,而不是双精度/浮点数。也请参阅this SO question thread。

        【讨论】:

        • 大多数主要银行都允许您自动连接到它们,这就是 Quicken 和 MS Money 等应用程序很有用的原因。
        • 他们有吗?我猜那是公司服务?我在个人银行业务中还没有遇到过这种情况,但话又说回来,我不是会计专业人士。我把它留给从事该行业的人:)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-17
        • 2020-12-31
        • 1970-01-01
        • 2021-08-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多