我正在构建一个用于个人理财的简单会计应用程序。
用户可能会跟踪购买、即将到来的账单、定期存款等。这将非常简单。
两个问题:
1)我应该记住什么建议?显然,我将在适当的情况下使用事务,但最好了解正确的数据类型和其他注意事项。
2) 您知道我可以使用任何 API 来定期从他们的银行获取用户的余额吗?即,无论他们是在 Chase、BofA 还是其他机构,都可以轻松查询他们的帐户的 API?
非常感谢,
迈克尔
我正在构建一个用于个人理财的简单会计应用程序。
用户可能会跟踪购买、即将到来的账单、定期存款等。这将非常简单。
两个问题:
1)我应该记住什么建议?显然,我将在适当的情况下使用事务,但最好了解正确的数据类型和其他注意事项。
2) 您知道我可以使用任何 API 来定期从他们的银行获取用户的余额吗?即,无论他们是在 Chase、BofA 还是其他机构,都可以轻松查询他们的帐户的 API?
非常感谢,
迈克尔
刚刚为学校相关的非营利组织完成了一些定制的在线会计软件的 1.0 版,我有一些建议:)
当我完成一个专注于会计的 POS 系统时,我将添加一些提示——这意味着需要跟踪购买、费用、发票、账户、信用卡、现金、车辆等。这些概念最终将应用于个人系统。
最好的建议是查看您的文书工作,并尝试围绕将物理文档翻译到计算机所需的操作来构建您的数据库。将此与会计教科书的前几章结合起来,该教科书讨论了帐户、会计科目表和日记帐。
我使用的书籍:George Murray 的《Accounting at your fingertips》 苏珊娜·卡普兰(Suzanne Caplan)的财务和企业家会计 安斯沃思(Ainsworth)的会计导论 霍兰德(Hollander)的会计、信息技术和商业解决方案
将源文档输入系统后,您可以运行查询以获得答案。这样做消除了“总帐”和“试算表”的概念,因为您只需更正或添加到您的源文档。所以“总账”变成了计算。这让我非常困惑。同样,所有源文档都将放入“期刊”中,可以是您的数据库表。我使用一般日记帐、采购日记帐、付款或现金支出日记帐、销售日记帐和现金收据日记帐。请记住,“现金”一词是指现金、信用卡、支票、借记卡。
例如,我有一个“普通日记”,基本上就是你需要的。在这本日记中,我记录了“来源收据”。收据可能是发票,如时代华纳有线电视,它有一个帐号。在这种情况下,我为时代华纳创建了一个“帐户”。时代华纳账户将链接到“账户图表”,该账户将指定费用类型为“互联网”。然后输入发票,其中包含日期、金额等。发票链接到时代华纳的帐户。一旦输入发票,它是未付款的。然后,您需要添加付款。当然,您可以按应有的方式全额支付账单,但您可能需要分两次付款,或分期付款,或不全额付款。这将引导您进入“付款日志”以及“发票到付款查找表” 这需要有一个应用金额才能应用于发票。这个应用的金额很重要,因为您可能有 4 张未付的时间警告账单,而您只是惊慌失措地寄出 200 多美元来恢复您的帐户。然后,这笔付款需要在发票中拆分,并带有适用于每张发票的金额。当然,付款帐户将链接回您的帐户。
对于输入收据的情况,不使用帐户。假设你在 embrasse-moi 买了一些内衣,然后付现金。您的系统将获取供应商、embrasse-moi、日期、成本,如果您通过互联网购买并且没有缴税但您仍然欠税,我添加了“使用税”、金额和“图表帐户”,这本质上是您的费用类别。这一切都归于一般期刊。在同一张表格上,您将拥有付款方式。我为费用+确切付款制作了一个简化表格,因为这很常见。如果付款被拆分,那么您将需要使用一种表格输入收据,然后使用其他表格创建链接到该收据的多笔付款。
因此,最终您的这个简单会计应用程序的数据库将包含以下表格: 账户(账户信息包括账户类型,如 cc/借记卡、支票、现金、商业采购的库存账户、公用事业等费用账户、默认图表科目表) 科目表(基本上是一个描述如何对将流向您的运营报表的费用和科目进行分类的列表,我把我的放在这里供您查看: http ://embrasse-moi.com/exampleData/pos_chart_of_accounts.csv ) 我有一个用于开立账户余额的表格,因为你必须从某个地方开始 账户类型- 表示信用卡、借记卡等。请记住,会计等式基本上会根据帐户进行切换。支票账户借方是“坏的”,因为你放弃了你的钱,贷方是“好”,因为你赚了钱,而信用卡借方是“好”,因为你减少了债务,贷方是“坏”,因为你添加到了你的债务 图表帐户类型,它是“资产、负债、长期资产等。这可以作为枚举类型包含在帐户购物车中。然后是一般日记帐,如上所述,它包含足够的信息来描述您的文档。是算账吗?日期、金额、类型(收据或发票)到期日,我保留“已付款”标志以方便查询。然后你有一个查找在“一般日记帐”表和付款表之间然后您有付款表。
一旦你掌握了所有这些信息,你几乎永远不会使用你的银行作为来源,因为它们并不总是正确的,至少我的银行会出错。因此,这种类型的结构将使您始终掌握您的信息,并且在月底,该系统将生成与您的帐户报表看起来相同的报表。这就是目标。
关于从银行获取信息的 API:如果可能的话,这并不简单。您可以想象您的银行将花费多少时间来确保一切安全。我认为不可能自动连接。通常有一种方法可以在您登录网上银行后(如果有的话)通过手动下载文件来下载数据。希望它是 CSV 格式或类似的格式 ;-)
[编辑]
显然我在这里错了,主要银行确实允许直接连接。我想你必须咨询你的银行技术支持。
[/编辑]
至于要使用的数据类型,我至少建议货币值使用小数,而不是双精度/浮点数。也请参阅此SO question thread。