财务人员要把好票据审核关(发票汇总与账务核对的简单方法)

2023-01-23 09:48 知识科普 0阅读 投稿:小七

在会计核算中,不同的系统之间进行数据核对是经常发生的事情,比如CRM(客户关系管理系统)与收入对账、税务系统与应交税费对账、采购系统与存货对账。

如果公司的信息化程度较高,在进行收入核算的时候输入发票号或者收入凭证本身就是根据开票信息生成的,那么核对这两者的信息就比较容易了,只需按照发票号进行匹配和查找就OK了。

据了解,会计在月末的时候需要将开票系统中的明细数据导出来与收入核算进行核对。在核对过程中,小秘书了解到很多财码的朋友会遇到如下的问题:

  • 一个合同或一笔凭证对应好几张发票;
  • 发票金额或记账金额录入错误出现差异;
  • 有些收入是未开票收入,核对时需要剔除这些项目;
  • 有些发票是废弃发票,同样需要剔除。

在今天的课程案例中,我们将结合数字化工具Python,以开票系统的发票数据与收入核算核对为例,为大家解决上述的问题!

在案例开始前,我们给大家提供了即学即用的Tips,对未开票收入的处理,可以参考如下方式:

  • 未开票收入直接按开票方式入账。相关分录如下:借:银行存款
    贷:主营业务收入
    应交税金-应交增值税
  • 无票收入在税控系统中有专门的录入窗口,同样需要缴税。
  • 无票收入入账前,应确认清楚,对方以后是否要发票,若需要发票的话可以留到开票后再做收入,避免进行调整。当然,确实有已经入账的不需开票收入后来需要开票时,可以先冲销入账时的记账凭证,再开票重做收入,成本不用处理。但是,税控系统内要做适当调整,冲减无票收入,增加开票收入。

接下来,我们结合案例看看如何将Python运用到收入与发票的核对中!

1

数据准备

从核算系统导出收入凭证数据,需要包含主营业务收入、其他业务收入、营业外收入等任何发生开票行为的科目。

import pandas as pdimport warningswarnings.filterwarnings("ignore")file = '财会实验数据.xlsx'dfj = pd.read_excel(file, sheet_name='收入记账凭证')dfj.fillna(0,inplace=True)dfj
财务人员要把好票据审核关(发票汇总与账务核对的简单方法)图1

从开票机导出发票信息:

dft=pd.read_excel(file,sheet_name='开票机')dft.fillna(0,inplace=True)dft
财务人员要把好票据审核关(发票汇总与账务核对的简单方法)图2

2

数据处理

剔除凭证中的无票收入,并且计算凭证金额为贷方-借方:

dfj1=dfj[dfj['科目名称'].str.contains('开票收入')]dfj1['凭证金额']=dfj1['贷方']-dfj1['借方']dfj1
财务人员要把好票据审核关(发票汇总与账务核对的简单方法)图3

3

数据计算

剔除发票中的作废票据,并且计算不含税金额为开票金额(收入是不含税的,拿不含税的开票额才能比对)

dft1=dft[dft['作废']==0]dft1['开票金额']=dft1['金额']-dft1['税额']dft1
财务人员要把好票据审核关(发票汇总与账务核对的简单方法)图4

4

数据输出

按客户比较凭证数和开票数的差异:

a.凭证金额按客户汇总dfj2 = pd.pivot_table(dfj1,index=['客户名称'],values=['凭证金额'],aggfunc='sum').reset_index()b.发票金额按客户汇总dft2 = pd.pivot_table(dft1,index=['购方名称'],values=['开票金额'],aggfunc='sum').reset_index()c.两者相减得出差异diff = dfj2.merge(dft2,how='outer',left_on='客户名称', right_on='购方名称')diff['差异'] = diff['凭证金额']-diff['开票金额']diff找到差异不为0的客户,将原始数据按金额匹配。这里以A客户为例,匹配不到的即双方的差异原因。dfj1[dfj1['客户名称']=='A'].merge(dft1[dft1['购方名称']=='A'],how='outer',left_on='凭证金额',right_on='开票金额')
财务人员要把好票据审核关(发票汇总与账务核对的简单方法)图5

同理,使用循环对所有差异客户输出比对表:

for index, row in diff[(diff['差异']>0.001)|(diff['差异']<-0.001)].iterrows():print(dfj1[dfj1['客户名称']==row['客户名称']].merge(dft1[dft1['购方名称']==row['购方名称']],how='outer',left_on='凭证金额', right_on='开票金额'))# 可以用to_excel输出到excel中,方便查看

在上述案例中,我们可以看到A客户的差异不为0,可以将Python计算生成的表格输出到Excel中做详细的分析。以上就是用Python实现收入与发票核对的方法了~你get到了吗?


©图片版权归财码数字化所有,如对版权有异议,请联系后台议定处理。

声明:若水百科所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系youzivr@vip.qq.com