开发者开年变富,如何迈出第一步?| 「钞能力养成指北」前传

news/2024/7/7 20:32:54

写在前面 面对全面放开后多样的消费机会,开发者们如何在保障品质生活的同时,借助开源工具,全面、科学地规划和管理个人财务,把握资金动向,避开消费陷阱?

LigaAI 特邀我司 Nerd4me 大佬分享其个人财务管理经验,系列共分「概念篇」和「实战篇」。本篇「概念篇」,将详细介绍复式记账法的基本框架。

一、为什么要记账?

关于「为什么要记账?」,常见回答有这些:

  • 掌控收支情况,以便更好地制定理财计划;
  • 单纯地作为一种生活记录,以承载记忆;
  • 希望通过记账,改变或调整消费习惯;
  • 鼠鼠穷,希望通过记账寻找可削减的开支;

在我看来,记账所带来的好处远不止这些。记账能让我们更清晰宏观地了解自身的财务状况,通过合理的财富资源配置(让钱去该去的地方),更好地应对/规避风险,规划投资行为

一个维护良好的账本能够生成许多有用的账务报表,其中最有用的两个是:

  • 损益表 - Income Statement: 周期性地审阅损益表有助于了解周期时间内的资金流向和盈亏情况。也就是我们常说的:钱从哪来?到哪去?亏了还是赚了?
  • 资产负债表 - Balance Sheet:用于呈现我们拥有多少钱 钱分布在哪里?

想要更好地维护账本,我们需要采用一种更科学的记账方式——复式记账法。

二、图论 & 复式记账法

「有借必有贷,借贷必相等」 是复式记账法最出圈的口诀。它反映了用复式记账法记录的每一条帐目,至少会与两个交易账户和一条交易同时出现。

如果将「账户」视为「节点」,「交易」看做「有向边」,所有账目都可以被抽象成含若干个节点和有向边的「有向图」,其中有向边的方向是资金的流动方向。

这就是 Martin Kleppmann 大神在 Accounting for Computer Scientists 中提出的理论。本文将围绕「账簿与图论」揭开复式记账法的神秘面纱。

👉 账户 = 节点,交易 = 有向边

老王准备开一个煎饼摊,获得了老婆提供的 5,000 元启动资金支持(转入银行卡)。

他先花 1,000 元(银行卡支付)购买煎饼设备,又花 500 元(信用卡付款)采购煎饼材料,最后用银行卡支付了 250 元的信用卡账单。

老王按照「账户 = 节点,交易 = 有向边」的原则,将交易过程抽象成有向图。虽然节点的名称不太符合会计规范,但有向边的方向严格遵循交易逻辑,即资金永远从一个节点指向其他节点。

图片

👉 标记并更新账户余额

在会计学中,每个账户都有余额(Balance),而余额的多少完全由进出账户的交易决定。

图片

账户余额有两个特性在账目准确性的检查方面,非常有用;若违反了其中任何一条,都能说明账目有问题。它们分别是:

  1. 笔交易会同时关联两个账户(进账和出账),其余额此消彼长,所以图中节点的余额之和始终为 0

  2. 所有节点分成两个不相交的子集,子集的余额之和互为相反数

👉 经营煎饼摊

老王将自己做的账簿图给老婆看。她修改了一些的专业术语,比如将「启动资金」改成「实收资本」。

同时,王嫂指出「煎饼设备」的入账方式不对,应该将设备的使用损耗考虑进来,将采购费用分 4 年折旧,因为四年内老王可能将设备转让出去。

煎饼摊每天的生意都很火爆,经过计算目前已挣得收入 5,000 元。同时,老王对煎饼设备进行改造,并成功申请了专利;设备工厂决定以 10 元/台的价格,购买改良版设备的专利使用权,并为第一批生产计划的 500 台设备预付了 2,500 元。

另外,老王的朋友看生意不错,也注资了 25,000 元;他终于可以给自己发工资了。

图片

👉 如何将图转换成「财务报表」?

老王煎饼摊的故事先讲到这。交易抽象成有向图后,我们如何根据图中的信息,生成损益表和资产负债表?

01 分类处理

首先,对图中的节点进行分类、着色处理,使用不同颜色标记不同的含义。

🟢 绿色表示拥有的东西即资产(Assets) ,例如银行存款、现金或者已经买了且将来可能折旧卖出的东西,就像老王的「煎饼设备」。

另外,要收回来/还回去的欠款 ,也应做绿色标记。其中,欠你钱的企业/个人称为债务人(Debtors),你为债权人(Creditors);而你要还的钱为负债(Liabilities)。

🔵 蓝色表示销售产品或知识产权转让的收入(Income)和花出去且永远不会再回来的钱(花费,Expenses) 。购买煎饼设备的费用是绿色的,因为它还能以「设备」形态再次卖出;而食材买回来做成煎饼就没了,因此是蓝色的。

🌸 粉色表示来自 投资者或自己的钱,即权益(Equity)

图片

02 损益表

损益表反映了一定时间内的利润实现情况,也是关于图中蓝色节点的财务报表。

将图中所有蓝色节点的余额相加,若值为负数,说明煎饼摊「盈利 Profit」,其绝对值为煎饼摊的「净利润 Net Profit」;若值为正数,则代表经营「亏损 Loss」,其绝对值为「净亏损 Net Loss」。

将蓝色节点的信息整理成下图所示的会计学标准格式。为了易于理解,这里对收入余额取绝对值。

图片

损益表指出,老王靠销售煎饼和专利转让获得了 10,000 元的收入,产生了 8,750 元的花费,所以煎饼摊的净利润为 1,250 元。

「损益表」的统计和分析常以月、季度或者年为单位。 通过对比不同时期的数额变化与账户增减,我们可以更全面地了解收支明细,调整开支项目,评估或预测未来的收支水平。

需要注意的是,由于债务人的存在,「盈利」不能代表「银行账户」的余额增加。 这也是为什么一些财报呈现盈利的企业,最终会因资金流紧张(账上没钱)而无法良好运转。

03 资产负债表

资产负债表,又称财务状况表,用于揭秘资产、负债、权益的金额明细和分布状态。

前文提到,将图中所有节点分成任意两个不相交的集合,集合的账户余额之和为 0 ——这正是资产负债表的由来。

将蓝色节点(收入和花费,即损益值)和粉色节点(权益)分为一类,其余额之和应与绿色节点(资产和负债)的余额之和互为相反数。

老王煎饼摊的资产负债表如下,此处数额同样做了绝对值处理。

图片

三、参考资料

[1] 复式记账法,又称为复式簿记(Bookkeeping),是商业及其他组织上记录金融交易的标准系统。

[2] 图论是研究事物之间关系的科学。万事万物皆有千丝万缕的联系,而任何有联系(联接)的事物都可以抽象成图结构,以便展开全面而强大的分析,包括但不仅限于分析节点影响力、寻找关键路径、预测发展情况等等。

[3] Martin Kleppmann 是剑桥大学「分布式」系统研究人员,著有 Designing Data-Intensive Applications 一书。


编者语:# 编程之外 是 LigaAI 开设的全新栏目。在这里,我们将与开发者朋友们一起发现和分享生活中的「技术时刻」,并通过极具创意与实用的「生活代码」,感受「技术改善生活」的真谛。如果你也对「代码提升幸福感」感兴趣,欢迎关注 LigaAI 帐号。

LigaAI 是新一代智能研发协作平台,我们关注研发协作与效率,重视开发者个人的价值创造。往期文章中,我们分享了许多敏捷开发、项目管理、个人成长与提升的文章,欢迎朋友们阅读交流。

体验新一代智能研发协作,请 点击这里 展开了解。LigaAI 助力开发者扬帆远航,期待与你一路同行!


http://lihuaxi.xjx100.cn/news/796595.html

相关文章

2-2JVM-GC垃圾回收

GC垃圾回收 了解什么是垃圾回收掌握垃圾会回收的常见算法学习串行、并行、并发、G1垃圾收集器学习GC日志的可视化查看 1.什么是垃圾回收? 程序的运行必然需要申请内存资源,无效的对象资源如果不及时处理就会一直占有内存资源,最终将导致内…

mybatis批量执行sql的处理 spring boot

关于循环查询的方式&#xff0c;使用in方式 <foreach collection"ids" item"id" open"and business_id in (" separator"," close")">#{id} </foreach> 里面的变量&#xff0c;ids代表是一个list的string类型…

Code:美团代码托管平台的演进与实践

总第550篇2023年 第002篇美团代码托管平台经过长期的打磨&#xff0c;完成了分布式架构的改造落地&#xff0c;托管数以万计的仓库&#xff0c;日均Git相关请求达到千万级别。本文主要介绍了美团代码托管平台在迭代演进过程中面临的挑战及解决思路&#xff0c;希望对大家有所帮…

代码随想录day20

530. 二叉搜索树的最小绝对差 https://leetcode.cn/problems/minimum-absolute-difference-in-bst/ 中序遍历找最小值。 class Solution {int minInteger.MAX_VALUE;TreeNode prev;public int getMinimumDifference(TreeNode root) {if(root.left!null&&getMinimumDi…

【算法】程序猿必备算法

文章目录快速排序算法堆排序算法归并排序二分查找算法BFPRT(线性查找算法)DFS&#xff08;深度优先搜索&#xff09;BFS(广度优先搜索)Dijkstra算法动态规划算法朴素贝叶斯分类算法Floyd Warshall算法贝尔曼福特算法贪心算法拓扑排序最小生成树分治算法KMP暴力匹配更多来源快速…

element - - - - - Form表单的resetFields()方法没有生效?

万事如伊 大吉大利 Form表单的resetFields方法没有生效?1. 场景描述2. 问题分析3. 解决办法关于element组件&#xff0c;相信各位同学都不陌生。其各个组件不可谓不好用&#xff0c;能够快速的帮助开发人员进行排版布局&实现效果。 但是总会遇到一些不可避免的坑。 1. 场…

微信小程序+前端+天行数据垃圾图像识别接口API

文章目录 前言 步骤 1. 去到天行数据官网注册账号&#xff0c;去到接口的介绍网站 2. 去测试网站&#xff0c;先看看请求的格式 3. 小程序端我采用的是把网站上的url链接的网络图片转成base64编码后的形式作为传入参数&#xff0c;这里需要有点基础&#xff0c;因为只给上了…

毫米波雷达「增量」升级

随着智能驾驶进入高阶周期&#xff0c;基于视觉感知的冗余策略&#xff0c;也在走出两条不同路径&#xff1a;一是&#xff0c;拿掉传统角雷达&#xff0c;并增加激光雷达来作为补充&#xff0c;而去年补盲激光雷达的加入&#xff0c;让竞争也更加激烈&#xff1b;二是&#xf…