Odoo相关财务概念的讲解
一、记账凭证(Account Move)
会计上的记账凭证,也叫会计分录,在Odoo中叫“Account Move”。Account Move直译是“账户移动”,之前解释过复式库存管理的核心概念“库存移动(Stock Move)”,Account Move和Stock Move有些相似。 什么是会计?这里不想给会计下个严格的学术上的定义,简单的说,会计是从资金变动的角度记录经济活动,并以此记录为基础,对经济活动进行统计分析、核算监督。任何经济活动,都伴随着财物变动,例如采购,物资从供应商“移动”到本公司,资金从本公司“移动”到供应商。Odoo中管这种“财物移动”叫“账户移动(Account Move)”,中国会计上叫分录,或记账凭证,其意为财物从这个账户移动到那个账户。 下面以采购过程举例说明“账户移动”的概念。采购有多种情况,先说最简单的情况,即一手交钱一手交货。这种情况,“库存现金”账户减少,“库存商品”账户增加,相当于从库存现金账户移动到库存商品账户,会计上记录如下(假设采购1000元): 借:库存商品 1000 贷:库存现金 1000
这个记录形式,就是“会计分录”,也即Odoo的Account Move,它的含义,你总是可以理解为从贷方账户移动到借方账户。
不过,现实中的采购通常更复杂些,例如,下单后一个月货物才能到达,入库后一个月才会支付货款。这样,下单、入库、付款三个经济活动就必须分开来记录,不可以合并成上述的一个分录。 下单(从负债移动1000元到在途物资): 借:在途物资 1000 贷:应付账款 1000
入库(从在途物资移动1000元到库存商品): 借:库存商品 1000 贷:在途物资 1000
付款(从库存现金移动1000元到应付账款): 借:应付账款 1000 贷:库存现金 1000
经过上述的账户移动后,最终相当于:从库存现金移动了1000元到库存商品。
通过上述的例子,可以得出几个结论:
1)账户移动(会计分录)从经济活动产生,如采购、销售、生产领料、成品入库等,都会产生相应的会计分录。
2)恰当的设置好系统参数,系统能够自动生成相应的会计分录。
3)为了让系统自动产生会计分录,需要预先设置账户(会计科目),并告诉系统,哪个经济活动对应到哪个账户的资金变动。
4)根据一段时间内(会计上叫会计分期,在中国是一个月)的账户移动记录,可以很容易统计各个账户的增减额,从而判断该段时间内经济活动的盈亏情况。各个账户的增减额,就是“资产负债表”,该段时间的盈亏情况,就是“损益表”。
二、凭据(Invoice)
凭据(Invoice),会计上叫原始凭证。会计记账(填写会计分录,或者说账户移动)必须有依据,不能凭空登帐。例如,前述的采购下单时候的会计分录,会计必须看到采购部门的采购传票才可记账,付款分录必须看到出纳拿到的供应商发票才可记账。采购传票、供应商发票就是原始凭证,Odoo中原始凭证叫凭据(Invoice)。 在Odoo中,凭据(Invoice)是沟通业务部门和财务部门的桥梁。例如,采购部门填写采购单,采购下单时候(点击采购单的确认按钮),系统自动生成供应商凭据。该凭据自动送至财务部门,财务部工作人员确认该凭据无误后,确认凭据(点击凭据的“确认”按钮),系统根据凭据自动生成采购对应的会计分录(Accout Move)。
Odoo的凭据有四种,采购凭据(Supplier Invoice),客户凭据(Customer Invoice)、采购退货凭据(Supplier Credit Note or Supplier Refund)、销售退货凭据(Customer Credit Note or Customer Refund)。采购凭据在采购订单确认时生成,客户凭据在销售订单确认时生成。这四种凭据,Odoo内部都是通过account_invoice对象实现 的,只是显示界面有所不同。account_invoice对象,包含了对应经济活动的财务处理(记账、开票、支付或收款)需要的所有信息。包括交易产 品、数量、金额,业务伙伴(供应商和客户),交易日期,记账账户,税金账户,分类账(Journal,后面再讲),等等。 Odoo依据凭据上的信息生成会计分录。Odoo自动生成的会计分录(Account Move)比会计上要求的记账凭证包含的信息更多,不仅有借方、贷方账户,金额,发生时间,还包括交易的产品、数量,交易的业务伙伴,等等。因此,基于Odoo的Account Move,可以统计各种财务报表。
三、归类账(Journal)
经济活动林林总总,会计分录种类和数量众多。如果将所有的会计分录都在一个窗口上显示,对会计工作不是很方便。归类帐(Journal)就是用于分类显示会计分录(Account Move)。例如,选择销售归类帐(Sales Journal),双击打开,则显示的都是销售业务相关的会计分录。 除了分类显示会计分录外,归类帐还有如下一些作用:
1)默认借方、贷方科目:可以设置Journal的默认借方、贷方科目,这样,当你在Journal中输入会计凭证的时候,例如,只要输入借方科目,系统会自动用Journal的默认贷方科目生成贷方记帐。输入贷方科目则系统自动生成借方记帐。
2)指定凭证号生成方法:Odoo支持多种会计分录的凭证号生成方法,每个Journal可以指定不同的凭证号生成方法,该Journal中的会计分录都将用指定的方法生成凭证号。
3)其他一些控制会计分录的参数设置。
在Odoo中,必须配置销售归类帐(Sales Journal)、采购归类账(Purchase Journal)、现金归类账(Cash Journal),通常还会配置库存归类账(Stock Journal)。 顾名思义,当系统从销售订单自动生成的销售相关分录归类于Sales Journal,当系统从采购订单自动生成的采购相关分录归类于Purchase Journal,当系统从银行对账单自动生成的支付相关分录归类于Cash Journal,当系统从出入库单自动生成的库存相关分录归类于Stock Journal。
四、支付(Payment)和核销(reconcile)
Odoo的支付,有两种模式,一是单个支付,一是批量支付。单个支付,直接在凭据(Invoice)上按“Payment(支付)”按钮,系统会弹出支付画面,输入支付信息。系统自动核销(reconcile)该凭据上的应收/应付账款,生成相应支付分录。这个模式适合于没有专职出纳的小公司。 批量支付,Odoo提供一个支付画面,逐行输入每笔收/支信息,包括“业务伙伴”、“金额”等。输入好以后,确认该支付单,系统可以自动或手动查找 每笔支付对应的凭据(Invoice),核销相关“应收/应付账款”,生成支付会计分录。支付相关会计分录通常是,借:应付账款,贷:银行存款。这个模式 适合于有专职出纳的公司,出纳批量处理收支事务。
Odoo的支付管理功能,输入好各支付行后,也可以让系统生成银行支付电子文件。或者将一个大额支付拆成多个银行帐号支付。
Odoo提供自动或手动核销(reconcile)功能。例如,支付时候,系统会自动匹配业务伙伴的“应 付账款”,用支付金额核销对应“应付账款”,并且,标记该应付账款对应的凭据(Invoice)为已支付(自动勾上Invoice上的属性 “Paid/Reconciled”)。只要是可核销科目(科目设置画面上,勾上属性”Recocile”),系统就会试图自动核销。常见的可核销科目是 “应付账款”和“应收账款”。
五、财务重要参数配置
Odoo的财务模块比较复杂,要配置的参数比较多,下面简单介绍一些重要参数:
1)会计分期(Periods):这个配置比较简单,中国的话,按自然年,每个月一个分期,十二个分期。
2)归类账(Journal):前面介绍过了,系统至少要配置销售归类帐、采购归类账、现金归类账。
3)会计科目(Account):根据财务部的规定,一级科目大概有七、八十个,再加上公司自己的二级、三级等科目,设置到系统中。
4)税种(Taxes):当你设置好了Taxes,Odoo会用设置好的税种计算方法,自动在采购、销售等业务生成的会计分录中增加“增值税”等税务记账条目。
5)应税设定(Fiscal Position):通常,在产品信息中设定销售、采购该产品应缴纳的税种。之后,在销售订单、采购订单中,系统会自动采用产品上设定的税种计税。但是, 有时候,同一产品,针对不同类型客户,其计税方式不同。例如,某产品内销时要计消费税,但外销时不计消费税。那么,对于外销客户,应该采用不同于产品上设 定的计税方法计税。Fiscal Position就是处理这种情况的。
6)付款条件(Payment Term):当你设置好了付款条件,Odo会按销售订单上选择的付款条件,及时提醒财务人员注意收款/付款。在付款条件中,可以设置什么时间、收/付多少,或收/付百分之多少。
此外,在业务伙伴和产品上还要设置几个和财务科目相关的属性,这些属性告诉系统如何自动生成相关会计科目。 业务伙伴相关属性设置:
Account Receivable:和客户发生的销售业务记账凭证中,应收账款对应的会计科目,通常是“1014 应收账款”。销售业务中,系统会根据这里的设置自动生成会计分录。
Account Payable:和业务伙伴发生的采购业务记账凭证中,应付账款对应的会计科目,通常是“2011 应付账款”。
Fiscal Position:应税设定。当指定客户的应税设定后,系统会根据应税设定中指定的替换规则将产品中设定的税种换成别的税种计算税额。应税设定在财务模块中设置。
Payment Term:付款条件,如30日内付全款,或者10日内付30%,20日内再付30%,余款2月内付清。当设置好付款方式后,如该客户未按时付款,系统会自动报警。付款条件在财务模块中设置。
Total Receivable:该业务伙伴的应收账款总额,这个是系统自动显示,不可修改。
Total Payable:该业务伙伴的应付账款的总额,这个是系统自动显示,不可修改。
产品相关属性设置:
Income Account: 产品收入科目,产品销售业务的会计分录的贷方,通常是“6001 主营业务收入”。借方是应收账款。
Expense Account: 产品成本科目,产品采购业务的会计分录的借方。对于商业流通企业,通常是“1042 在途物资”。贷方是应付账款。
Stock Output Account: 产品出库科目,产品出库时会计分录的借方,贷方是库存管理中库位设置时指定的科目。对于商业流通企业,通常是“6015 主营业务成本”,贷方通常是“1036 库存商品”。
Stock Input Account: 产品入库科目,产品入库时会计分录的贷方,借方是库存管理中库位设置时指定的科目。对于商业流通企业,通常是“1042 在途物资”,借方通常是“1036 库存商品”。
Sale Taxes: 产品销售时的税种。销售订单默认采用此处的税种计算税额。税种在财务模块中设置。
Purchase Taxes: 产品采购时的税种。采购订单默认采用此处的税种计算税额。税种在财务模块中设置。
六、分析会计(Analytic Account)
分析会计(Analytic Account),有时候也叫管理会计(Management Account)、成本会计(Cost Account)。要理解分析会计,首先要理解,为什么要分析会计。例如,在财务会计上,和成本相关的一级科目主要有:销售成本和生产成本。如果要按部门 计算销售成本,或者按产品类型计算生产成本。在财务会计上,这个要求的实现相当麻烦,这意味着在各个成本相关科目上都要增加很多以部门名、产品名为名称的 二级、三级会计科目,科目增多了,意味着计算量也急剧增加。此类问题,需要用分析会计的方法解决。 分析会计解决问题的原理是,对于每一笔收入或支出的账务记录,都增加一个分析会计科目,表示收入或成本分配于该科目。分析会计科目可以是部门名(如按部门 核算制造成本的情形)、产品名(如按产品分配成本或收入的情形)、客户名、项目名,等等。例如,在每张采购订单上记录以产品名称为名的分析科目,这样,系 统就能自动记录,该笔采购成本应算到哪个产品。在每张制造订单上也记录分析科目(产品名),系统会自动将该张制造单的成本分配到该产品。
Odoo分析会计实现成本核算的具体方法是,例如前述的销售订单,如果单子上记录有以产品名为名的分析科目,则采购订单对应的凭据(Invoice)确认时候,系统同时自动生成财务会计分录和分析会计分录,如下例:
财务会计分录 金额 | 分析会计 金额
借:原材料 1000 | 产品A
-1000
贷:应付账款 1000 | -
-
在系统数据库中的动作是,系统在 account_move_line 数据表中增加两条记录,分别是财务会计分录的借方和贷方。同时在analytic_account_move_line 数据表中增加一条记录,是分析会计的“产品A -1000”,表示产品A上分配1000元费用,该记录和“借:原材料 1000”互相关联。贷方“贷:应付账款 1000”没有对应的分析会计记录。注意,分析会计分录不分借方、贷方,只记金额,如果是收入,金额记”+”,费用则记”-”。 如果每一笔采购订单都记录了对应产品,那么,如果要统计产品A的原材料成本,只要统计analytic_account_move_line 数据表中,分析科目为“产品A”,关联财务科目为“原材料”,且金额为负数的所有记录之金额和,即得一段时期产品A应分配的原材料成本。如果在制造单上也 记录了以产品名为名的分析科目,则统计分析科目为“产品A”,关联财务科目为“制造费用”,且金额为负数的所有记录之金额和,即得一段时期产品A应分配的 制造成本。
再看看人力成本的分析。对于服务型企业,如软件开发公司、咨询企业、法律事务所等等,通常他们是以“案子”(Case or Project)进行收费。为了计量案子是否盈利,需要知道每个案子的成本。服务企业,案子的成本主要是人力成本。人力成本的计量有两个因素,一个是员工 级别,一个是工作时间。员工级别可以用员工工资计量,如资深员工综合月工资是4万,每月工作时间150小时,则每小时成本是266元。 要求每个员工每天必须填写“工作时间表(Time Sheet)”,时间表上逐项记录该员工一天的工作时间安排,如“案子A 工作时间3小时;案子B 工作时间2小时”。这里案子A、案子B就是实现设置好的以案子名为名的分析会计科目,员工填写Time Sheet时候,从系统选择案子科目。如此,当Time Sheet确认时候,系统自动计算员工在每个案子上的成本(小时成本 * 小时数),并生成分析会计分录,关联到相应财务会计分录(管理费用 or 营业成本 等等)。
注:Time Sheet功能由HR模块提供。Odoo中员工的小时工资的计算方法是,每个员工关联一个“产品”,不同级别员工的服务(如咨询),相当于出售不同 价格的产品。为了有效使用Time Sheet,要预先设置好各级别员工对应的产品,以及以案子名为名的分析会计科目。分析会计科目可以分级,如,一级科目是部门名,部门名下再以案子名设置 二级科目。
以下两点值得商榷: 各个账户的增减额,就是“资产负债表”, 凭据(Invoice)
————————————- 资产负债表显示账户(会计科目)在某个日期的余额,所以表显示账户(会计科目)在某个时间段内的变动
Invoice就是发票,为什么要叫凭据呢?
顶下,楼上比我看的认真多了。Account Move 看到这个字面的理解,就觉得复式库存的那个处理也就自然而然了。
第一点,我同样也觉得不妥,因为资产负债表是指一个时点的值,即在某个时点上,单位所有拥有的资产、负债、所有者权益。各个账户的增减额是指一段时间内的变动,通常 这种一定时间内的变动应该是损益表(现在统一称为利润表了)的来源。 关于第二点,Invoice除了发票的意思,还有发货清单、服务费用清单的意思。至于为什么叫凭据,我也不清楚。但大陆会计上叫凭证,台湾叫传票,windows上倒是叫凭据。
附:牛津英汉双语词典上的解释
invoice
/ ˈɪnvɔɪs; ˋɪnvɔɪs/ n ~ (for sth) (commerce 商) list of goods sold or services provided with the price(s) charged, esp sent as a bill 发票; 发货清单; 服务费用清单: make out an invoice for the goods 开发货清单.
invoice v (commerce 商)
[Tn] make a list of (such goods) 开(货物)的发票: invoice the orders, goods, etc 开定单﹑ 货物等的发票.
[Tn, Tn.pr] ~ sb (for sth)/~ sth to sb send such a list to sb, esp as a request for payment 给某人开发票(尤指要求付款的): invoice sb (for an order, for goods, etc) 给某人开(定单﹑ 货物等的)发票.
两位高人,谢谢指点。 第一点,确实不妥。不过,这里重在理解会计的原理,以及在Odoo中的实现方法。概念的叙述以易于理解为重,不过于强调准确性。
第二点,Invoice叫发票不妥,因为它确实不仅仅是发票。不叫凭证,是为了不和会计上的“原始凭证”概念混淆,Invoice可理解为原始凭证在电脑中的反映,但又不是原始凭证,故而译作“凭据”。不过,可能叫凭证更符合财务习惯。
编辑于 2017-03-11