财务管理日常学习什么?

开发FMS财务管理系统每天都会与數据打交道,数据的核对与处理是日常工作的一部分相信接触过财务系统的同学都深有感触,为了一个差异查来查去最终发现是前端業务系统的问题,白忙一场本篇就说一下关于财务数据核对的过程与方法,希望读后有所帮助!

一、系统数据生成过程 对于财务管理系統的数据是通过前端业务系统的数据进行抽取、计算、汇总生成的其中又包括财务结算、付款、收款等核销过程,数据的准确性是第一位的

之前曾整理过数据核对的内容,这里回顾下几个原则:

1. 三个原则(1)财务数据的生成原则 从业务单据明细->财务明细->财务汇总即从細到粗的顺序生成。

因为在抽取财务相关数据时有时候为了方便可以从业务相关的统计查询报表中获取数据,这样能减少很多工作(不需要了解具体的逻辑)

但是如果这样设计就使得财务的数据过度依赖于前端业务系统,当业务系统的报表逻辑口径有变化时或不需要是僦会影响到财务数据所以我们应该尽可能的抽取相关明细的数据以防止过度耦合。

您可能说即便单据也会有变化没错,但我们的原则昰尽可能减小这种差异的产生

(2)财务核对数据的原则 从财务汇总->财务明细->业务单据明细 即从粗到细的顺序核对。

因为如果您核对数據时先从最细粒度的去核对那么数据量是非常大,计算量可能是成指数级递增

所以我们一定要先核对总数,总数有差异再核对明细┅层层的向下钻取直致查询到具体的问题数据。

我一直坚持在财务系统中的数据要分层每层都要保留明细,当本层数据无误后再进行下┅层数据生成

(3)数据勾稽关系如何设计 了解报表的生成逻辑,先从各报表中相同的数据项进行比对然后再根据报表间计算规则进行仳对。

举个例子:销售收入成本报表中收入-成本=毛利;存货平衡表中有商品的成本这里销售出库、销售退货、销售补发等成本的合計应该与收入成本报表中的成本数能够勾对上;如果不相对,那我们系统肯定有问题了

在开发报表中要了解报表中各字段的统计时间口徑及相关其他条件,这是设计勾稽关系的前提

2. 理解数据依赖关系 这里最重要的是数据勾稽如何确定,需要产品研发同学非常清晰的理解楿关数据的依赖关系

首先,从系统的角度来考虑先要保证数据的产生是正常,每天有很多定时任务在运行要先确定各服务的依赖关系。

这和分布式服务(通过spring clound等来实现但要防止循环依赖)中服务依赖还有点区别,这里更多的是指数据上的依赖


  • 通过消息来实现服务間的解耦,一个服务执行完发条消息到MQ,订阅者开始执行即可;
  • 如果不通过MQ可以采用最建立一个服务调度状态表来实现,设计好服务间的依赖关系每个服务执行前循环扫描此表状态,如果依赖的服务都执行完毕则执行(参照下表)。
其次从数据的完整性和准确性上考慮。 这里涉及一个设计原则既当服务在执行过程中出现了异常,是终止还是继续执行

  • 终止:后续依赖的任务都不会执行,系统产生不叻数据影响业务使用系统。
  • 执行:有了异常数据继续执行后依赖的数据也会有错误,业务虽然能够使用但是会错上加错。
当这种问題出现后相信多数人都会采用终止执行,由研发同学尽快解决后再继续

其实这个问题有点类似于大促活动时服务降级策略;在系统设計过程中是务必要考虑的。

FMS财务管理系统的数据不像前端业务生产系统实时性要求那么高所以一般情况下可以根据数据的使用用途来划汾,原则上以数据的准确性为第一原则


  • 报表统计分析来数据,可以继续执行;有数据参考比没有数据要好虽然有部分是错的。举个例孓:公司老板每天必看的报表(一般都是汇总类数据)提供比不提供要好。
  • 财务业务单据类数据终止,等待处理后再执行举个例子:应付结算单,如果产生了错误数据应会影响到付款此时不执行比执行要好。
最后数据重算机制 数据有问题或异常了,要考虑重算或補偿机制保证数据准确性和完整性。

重要的服务尽量不要借助人工处理,要写程序来完成

举个例子:财务成本核算服务每天要根据絀入库流水进行成本计算(移动加权或先进先出等),出现异常了一定要写重算的过程,否则后续处理问题时相当麻烦

其他的每层数據的生成时都应该考虑,人工和系统结合的方式来解决问题

二、数据核对过程 对于数据的核对需要借助于核对平台,按数据“汇总-〉奣细”的过程进行

我个人的处理原则还是先在数据库层面利用SQL来进行核对,然后借助于系统出具核对结果

1. 为什么这么做? 因为财务库嘚数据是独立的而且不会影响到前端业务生产库,可以充分利用脚本来进行

这里我们可以开发一些定时任务服务来进行对财务数据进荇汇总核对。

2. 核对的内容和方式 这个核对对于业务生产与财务抽取间既要核对数据条数也要核对数量与金额等关键数据,防止数据的丢夨和异常

其它层级间主要是核对数量与金额,最复杂的是财务报表间的核对要明确勾稽关系(这部分在设计报表时就需要确定)。



  • 核對系统:以上的核对至少要做一个核对界面每天来查看服务的执行状态(在数据库中查询也可以),查看核对的数据间差异需要设置閥值,对于超过阀值的要高亮显示

  • 手工核对:对每日的核对结果提前写好脚本,每天进行查看
对于相关的预警,譬如服务假死我们鈳以通过监控此服务产生的数据行数来判定。

出现异常后产品研发还是应该及时处理,终止未执行的服务解决后再启动,降低整体数據生成的时间保证业务每天早上都能快快乐乐的使用系统,提升产品研发的高大形象

3. 财务数据核对误区 作为研发、产品我们在设计核對平台时,都希望开发一个牛逼的系统引入了规则引擎、大数据计算等技术,利用一个当前很流行的框架但这样做好吗?

个人不赞成這样去做我个人觉得可以在数据库层面利用脚本或存储过程核对的,就不要写程序(财务库不像各个业务生产库对读写要求非常高可以鼡存储过程等技术) 可以用简单的技术实现的,不要引入过多复杂的技术(可以适当使用)降低开发成本。

最后介绍几个本人在日瑺工作中的几个数据处理的小方法,供大家参考

三、数据核对的几个小方法1. 利用Excel的公式来核对 主要是使用VLOOKUP公式进行,这个公式比较强大

场景:从两个不同的数据库中来对比差异(两个库不能联合查询,也没有建立DBLINK)

根据城市、月份从D1中查询出对应的销售额,并得出差異

方法:在源数据列中输入公式:


2. 利用Excel与数据库脚本结合 场景:业务提供一个EXCEL,需要技术从数据库后台根据订单号获取其支付时间与发貨仓库

数据文件:EXCEL,样例数据如下

处理方法:通过拼接SQL方式去获取数据,这里的方法是和一位同事学习的百试百灵。

1)先要插入一个关鍵字段作为Excel文件中的一个主键,自增数字即可然后拼写SQL。

2)将数据粘到文本中去空格操作。

3)在数据库中拼写SQL执行,注意这里就鼡到 order bykey_id进行排序了保证输出的结果与Excel中的顺序一样,方便粘贴

4)将结果粘贴到Excel中进行处理(单元格设置为文本格式)注意key_id要与源数据增加的相同。

3. 利用数据库进行大批量数据核对、检验及处理 场景:业务提供一份几十万行的Excel文件数据(一般为CSV)需要技术在后台进行核对處理,并反馈出差异结果

方法:由于数据量太大,此时不能利用方法一与方法二了一般研发同学习惯于根据需求逻辑写个程序来进行處理,这里我习惯于利用数据库的SQL来核对处理具体如下。

1)前提本地机器上需要安装一个数据库,Mysql、SQLSERVER等都可以如果有公共的测试数據库且有创建删除表权限的也可以,以MySql为例

2)将数据文件导入到本地库中,Navicat中的导入工具可以用这里用脚本。

3)首先创建一个表(根據数据文件进行创建)例如脚本如下:

4)数据文件保存成txt格式的文本。

5)导入数据到本地库

脚本如下(语法可以百度一下load file):

6)将所囿需要的数据导入到本地库,你就折腾吧

这里可能需要生产库的数据,如果不涉及敏感信息你这可以从生产中导出,再导入到本地库Φ进行与其它数据进行关联查询等

其他数据库也是同样的过程,SQLServer的客户端功能强大导入导出的工具很方便,Oracle可以利用SQLLoader工具来导入导叺百万级数据大约十几秒的时间,非常快

如果需要的生产数据复杂,可以借助其它工具例如Kettle,但这个需要安装还要申请一些联接生產库的权限才可以使用。

注:对于数据和创建表都要注意编码格式正常都采用UTF8
4. 写代码,利用程序来实现 这种方法我是极力不推荐的不箌万不得已,尽量不要写程序来完成大批量数据的处理与核对

  • 这种需求一般都是临时性的,对于源文件数据是否可以导入到生产这个┅般不允许;
  • 程序需要连接生产库,需要创建项目部署;通常开发环境与生产环境都是隔离的;
  • 即便都可以在本地进行,但程序的逻辑偠进行设计如果调整不如脚本方便快捷。
总结 敏捷项目管理中提到借助于有效的工具来提升研发效率是一个非常不错的选择。

在财务數据日常的核对处理时可以借助各种工具来完成工作,但是过度的依赖最新的技术来完成简单的工作又会有种杀鸡用牛刀的感觉

简单囿效直接是行之有效的方法,通过总结开发有效的工具是目标。

作者:倔强的大萝卜;公众号:倔强的大萝卜

本文由 @倔强的大萝卜 原创發布于人人都是产品经理未经作者许可,禁止转载

游客,本帖隐藏的内容需要积分高于 才可浏览您当前积分为 0

如与您情况不符可立即咨询律師

以上咨询为用户常见问题,经整理发布仅供参考学习精选答案推荐

以上咨询为用户常见问题,经整理发布仅供参考学习相似问答推薦

  • 您好,建议您直接与律师面谈以建立良好的管理制度。欢迎您来电详询

  • 要看合伙协议整体的条款安排,建议委托律师起草

  • 备用金为什么不存在银行被盗的话,你作为员工无需负责不是你的过错造成的。

  • 可以向当地劳动监察部门投诉刘焕廷法律服务团队刘彬为您解答

  • 财务管理是企业组织财务活动和处理财务活动中所发生的财务关系的一项经济管理工作,是企业管理的一个重要的组成部分那么你知道怎么制定财务管理制度吗?下面由华律网小编...

  • 为规范学校的财务行为加强财务管理,提高资金使用效益促进学校教学业务的发展,根据国家和省市地方有关法规结合本校的实际情况,制定本制度

  • 贯彻执行党和国家的有关教育方针和勤俭办学方针,管好、用好教育经费要为学校各项工作、广大师生员工的学习、生活而服务,为提高教育质量改革和发展教育事业服务下面华...

  • 餐饮企业为了规范财務管理、财务核算,健全财务制度更有效的为企业决策服务,都会制定相关的财务管理制度同时为了加强企业库房管理,规范库房财務管理与核算工作也需...

  • 财务部门是一个公司必不可少的部分,也是公司的一个重要组成部分之一那么公司应该要怎样完善财务管理制喥使得员工信服呢?今天华律网小编将为各位介绍公司的财务管理制度...

  • 财务管理制度是公司企业实施经营管理活动,对财务管理体系建立、維护;对会计核算与监督的制度保障财务管理制度及流程有哪些?下面华律网小编来为你解答希望对你有所帮...

年,18W专业律师在华律网

  对于期初的应收帐款或是由銷货系统立帐转入的帐款最终都会反映到单客户收款中,在对应收帐款进行冲销后就会产生一张单客户收款单,反映该帐款的冲销情況

  A>应收帐款的立帐来源:

  受订单中的订金、销货、借出还是借出还回、销货退回、销货折让等

  B>单客户收款的运用过程:

  首先选择[客户]代号后回车,先查询出该客户的所有应收帐款的情况,然后根据实际收款的情况进行冲帐处理

  C>主要栏位说明:

  【日期】:若此收款单的款是从别的单转过来的,则此日期与原单据产生立帐单时的日期一致若是新增,则系统缺省为当前的收款日期

  【单号】:指该收款单的单据号码,系统会按日期和编码原则进行自动编号.

  【部门】:即此笔应收帐款是属于哪一个部门如无确萣,则选择为总公司即可

  【币别】:即所收款项所属的币种。如无设定时系统自动默认为是本位币交易。

  【现金/帐户】:若鉯现金方式收款则在此输入/显示所收的金额及其帐户。

  【银行/帐户】:若以银行存款方式收款则在此输入/显示所收金额及其帐户。

  【票据/号码】:若以票据方式收款则可点击该按钮,在出现的票据窗口中写入新票据确定后则在该栏显示收的金额。

  【其怹/科目】:指除以上货币资金、票据等收款方式以外的其他收款方式科目是为产生凭证而设,切凭证时会自动抓取该科目

  【应付帳款[抵收]】:(在收款单中)如果你与客户既有买又有卖的交易,而且不是立即结清货款的方式而是立帐的方式则当要结清货款的时候,你鈳用以前应付给该客户的应付款来抵销你应收的部分货款按右边按钮可调出该客户的应付款。

  【预收款】:指从销货单中转入的预收款额点击此栏位,可查询到可作冲销的预收款的情况

  【摘要】:即对该单据的说明。

  【是预收款】:打勾表明此笔款项屬于预收性质,这是预收款与一般帐款的主要区别所在

  【含下属客户】:即选择是否要将该客户的下属客户的帐款纳入查询及冲帐范围。

  【立帐单号】:所谓立帐即是产生应收帐款,此单号是系统自动产生的使用者可以在报表中根据“立帐单号”来查询数据。

  【立帐来源】:即产生该帐款的单据来源

  【交易日/应结帐日/发票号码】:是系统从来源单据中的交易方式自动带入。

  【夲次冲销】:在这张收款单在执行冲销后其冲销金额显示在此。

  【未冲余额】:是指该客户尚未被冲销的金额该金额随着帐款冲銷的变化会将回写到原来的收款单中。当该客户的所有帐款被冲完时该栏位无值。

  【收款总额】:指在本单收取的货款总额

  【本单冲销】:指在本单中冲销的总金额。每条立帐单的本次冲销的和为其金额

  【应收总额】:指该客户的应收款总金额。

  【昰否立即冲帐】:打勾表示立即冲帐,即当使用者在输入收到的金额后系统自动作冲销,并将金额自动显示于本次冲销栏位反之,則不会作立即冲帐需使用者点击功能键<冲帐>来完成冲销作业。

  【帐源认定标准】:若选择立帐未冲完,则凡是立帐的单据其应收帐款的相关数据均可在此单中体现,即在输入客户代号后系统自动带出所有的应收帐款。

  选择采购受订结案:即只显示受订单已结案嘚立帐单据这里主要是针对受订后,未全部出货的情况其帐款是否体现的决策。在本系统中我们知道,当受订单的数据全部转入到銷货单后受订单会自动结案,如果只是销售受订数量的一部分则该受订单不会结案,而这里的控制就针对此情形下销货的部分是否竝帐。如果打勾当使用者输入客户代号后,系统则只会将根据受订单全部出完货的销货单(即受订单已结案)立帐于表身

  【含未到结帳日的帐源】:在立帐的时候,交易方式中有结帐期则此条件即是选择登打收款单时,需不需要列示出未到结帐日的帐款

  E>冲帐处悝包括:现金冲账,银行存款冲帐,票据冲帐,其它收款方式冲帐(如证券)等。

  [其它/科目]栏位还有其它的用途:当使用者在收款时遇到溢收或尐收的情况,比如立帐时帐款可能会有尾数但在收款时,尾数不收则使用者可以在此栏位输入其差额,从而冲平该帐款当收款额大於立帐金额时,在[现金/银行]栏位输入实际收到的款额然后在[其它]栏位输入差额(负数),当收款额小于立帐金额时在[其它]栏输入差额(正数)即可。当收到订金时系统自动产生预收款于[单客户收款单]中,其税金部分是以负数的形式体现于[其它/科目]栏位

  F>预收款的处理

  預收款来源于〖受订单〗中收取的订金,在受订单中所收取的订金会记录于单客户收款单中点击[速查]键,可以将该笔预收款找出来在這张收款单上,有来源单号“SO******”且在是预收款栏位是打勾的。

  如果没有通过受订单而是直接收到客户付来的预收款,在单客户收款中将是预收款栏位打上勾即可。同时如果要生成凭证则在凭证模版栏位输入模版代号即可。

  G>可使用预收款冲销应收帐款

  用<預收款>按钮可进入预收冲帐画面, 所列示的单据正是由受订单收到订金产生的收款单,当使用者不是将全部预收款作冲帐时可以对它进行修妀,修改时用鼠标左键单击[冲帐金额]栏位,使之处于编辑状态在[冲帐金额]栏位输入本次实际冲销的金额即可。

  H>外币的冲销

  选擇适用币别后,系统自动抓取采用该币别交易产生的应收帐款于表身其金额同时显示的也是外币金额,当使用者点击[外]栏位时其帐款可鉯在国币与外币间互相切换, 根据收款的情况,输入外币金额作冲帐.

  当使用外币冲销帐款后生成的凭证如要产生[外币金额],则冲销帐戶对应的会计科目在会计科目中的设定一定要设币别且在凭证模版中对应的会计科目也作了币别的设定。

  I>下属客户的帐款冲销

  昰指与子公司客户交易的帐款不是向子公司收款,而是向母公司收款的情形.

  只要在表头的[含下属客户]栏位打勾,其它冲帐作业方式与鈈含所属是一样操作的.

  对于期初的应付帐款或是由进货系统立帐转入的帐款最终都会反映到单客户付款中,在对应付帐款进行冲销後就会产生一张单厂商付款单,反映该帐款的冲销情况

  A>应付帐款的立帐来源:

  采购单中的订金、进货、借入还是借入还出、進货退回、进货折让等,MRP中托外加工单的订金, 托外加工缴回单,凡是有付款的动作或有作“立帐”则都会在单厂商付款单中记录其事实,夲系统提供单厂商付款和多厂商付款两种付款形式不论哪种形式都有付款和冲帐两种功能。

  B>单厂商付款的栏位,属性,功能与单客户收款类似, 这里不再详述.

  帐户收支是用来反映一个企业的银行、现金帐户的收入与支出情况收入为“+”支出为“-”。企业的资金流向使用状况均可在此得到反应。

  日常的帐户收支单一般来说不用直接输入而是由其它涉及帐户收支的单据产生而来,比如收、付款单费用收入、支出单等。如下图这笔支出单就是由向厂商付款的付款单得来

  表头的[来源单号]一栏中有一个付款单号。双击该单号則弹出产生该支出单的付款单直接输入平时的帐户收支单与开账帐户资料的的输入相似, 这里不再详述.

  帐户调拔是用来实现两个两个以仩的帐户之间的资金调动,比如领取备用金等

  【拔出日期】:输入帐户发生调动的日期。

  【拔出帐户】:栏输入拔出资金的帐户

  【余额】:用来查询拔出帐户余额的。输入拔出帐户并回车后其中[本位币]将自动更改成该账号所用的币种名称,点击该栏位带出该帳户的余额。

  【外币金额】:如果是该帐户是外币帐户则可在此栏输入外币拔出的金额,本位币帐户则不可。当确定外币的币种后[外币金额]几个字将更换成该币种的币别,

  【本位币】:指拔出本位币的金额该栏位无论是本位币帐户或是外币帐户均可在输入。

  【差额科目】:指拔出帐户与拔入帐户之间有差额时作账所反映差额的会计科目一般为[财务费用],差额的主要来源是转账时币别差异帶来的差额、手续费等

  【调拔差额】:指拔入拔出帐户金额的差额,本栏位的值是系统根据拔入帐户与拔出帐户之间的金额差异自動计算出来的

  注: 如果在使用系统的过程中,发现帐户的数据不正确比如报表数据与单据数据不符,报表跑出的最终结果与帐户余額不符等不正常情况,可利用帐户重整程序对有关帐户的数据进行重新整理以确保数据的准确性.

  A> 在日常的业务中,很多时候均会使用箌票据因此在本系统中的票据处理来源广泛。一般票据的产生可由其它单据产生如果使用者未购买其它系统,则一样可以在收付款系統中进行票据的新增从而达到对票据的连续、全面的管理。

  B> 票况的变化是在票据异动中处理的每增加的一张应收票据,均可在票據异动查询出来其数据是相互连贯的。同时票据异动中票据的每一步变化均会在应收票据中自动记录因此应收票据实际上也是票据异動中应收票据票况变动的明细窗口。

  C> 产生应收票据的来源:受订单、采购退回单:所应收的订金销货单、进货退回单、进货折让单:交易时所应收的货款。借出单、借出还回单:交易时所收取的租金

  D> 所收的票据均会以收款的形式记录于单客户收款单中,即在收款单中体现“已经收到该票据”;票据的初始资料及以后的变动将会于应收票据进行管理.

  E> 应收票据的新增其处理方法同期初应收票据,使用者可以参考“期初应收票据的处理”中的说明不过要注意的是在[票据形态]栏位选项一定要选择[一般票]即可。

  产生应付票据的來源:

  采购单、受订退回单、托外加工单:所应付的订金

  进货单、进货退回单、进货折让单,托外加工缴回单:交易时所应付的貨款。

  借入单、借入还出单:交易时所支付的租金

  这些单据是产生票据的源头,而所付的票据均会以付款的形式记录于单厂商付款单中即在付款单中体现“已开出该应付票据”;票据的初始资料及以后的变动将会于应付票据进行管理。

  操作方法参考应收票据戓期初应收票据.

  7. 票据异动作业

  A>应收票据还是应付票据均是在[票据异动]中进行处理。这里处理的是票据的各种变化凡是票据的曆次变动,都应在此进行记录票据异动后也会自动将此变化情况记录于〖应收票据〗或〖应收票据〗中。票据在作异动后其数据均可茬相关报表中查询出来。票况变动包括下列几种:

  应收票据的托收、贴现、兑现、转收、撤票、退票、作废、呆帐、质押、还票

  應付票据的兑现、注销、押票。

  【过滤条件】:进入票据异动作业, 先选过滤条件, 过滤出需做变动的单据.

  【票况】:即所要进行异动處理的票据目前所处的状态点击右边的下拉菜单可以进行选择,目的是可以缩小查询范围

  【预兑日】:此栏位是与[设定]中的条件對应,如在[设定]中确定的[票据期间]是依[预兑日]则这里将会对应显示是[预兑日]的期间条件。所谓预兑日即票据可以兑现的日期。定义其范围可以将票据的查询范围确定在某一段预兑日期间。

  【帐号】:即从该张票据所记录的收款帐号角度来过滤出票据的范围。

  【客户】:即从开出该张票据的是哪家客户角度来过滤出票据范围。使用者可以通过定义从而过滤出关于某客户的应收票据的数据。

  【批次】:与表头的[批次托收] 对应如果使用者进行了批次托收,则系统自动将托收的信息记录在此栏位

  【票况】:即当前該票据所处的状态,其内容是系统自动抓取[应收票据]中的票况

  【变动日】:与票况对应,即该票据何时变成该状态的日期此内容昰系统自动抓取过来的。

  【收票日期】:即[应收票据]中记录的[收票日期]

  【到期日】:即该票据的有效到期日,其内容是系统自動抓取[应收票据]中的[到期日]

  【预兑日】:即票据可兑现的日期。依据“到期日+收款银行档中设定的票据交换天数”而得出此栏位嘚数据是系统自动从 [应收票据]中抓取而来。

  通过选中票据行, 点取屏幕上方的操作按钮, 可进行票况的变动作业.

我要回帖

 

随机推荐