天天看点

虎年「开工大吉」速领2022财务工作提效增速妙招

往来核算是企业发生的任何与经营活动有关的收款权利或付款义务的核算,包括应收应付、预收预付、其他应收应付等往来款项。

当老板让你核对往来账款是否正确时,你该从何下手呢?在2022年开年之际,小秘书为大家献上往来客户对账技巧,总的来说分为三个部分:

1、结出余额后自查

重点审查往来账余额的大小和方向,看看是否正常。如果出现异常,就转看明细账,明细账要逐笔检查借贷方有没有不正常的发生额和摘要,对应的记账、原始凭证也要确认清楚,防止错记金额。自查无误的话,就要记录好凭证的日期、金额、发票编号等信息,方便和对方单位对账。

2、与对方公司进行余额核对

如果双方余额一致,证明两边都记录无误。

如果不一致,那就结合数字化工具计算两者的差额,分节点核对,判断错误发生的时间点,分析其方向和大小:

a.判断是否有和差额相同金额的业务发生?是否有未达账项、要不要编制“余额调节表”进行调节?

b.有差额的一半/两倍金额的业务发生吗?

如果还是分析不出来,就继续下一步:发生额核对。

3、发生额核对有常用两种方法

  • 分别核对借方(或贷方)发生额,这就不需要按照时间顺序逐笔核对;
  • 若想缩小详细核对的范围,可以核对单位往来账中的借方(或贷方)发生额,找出对应的业务。如果此类业务对余额不产生影响,则问题可能存在于没有借贷对应关系的业务中。

今天我们来通过案例,了解如何将数字化工具应用在客户往来账单核对上~

我们根据应收账款凭证数据,统计2020年与某公司发生交易,或者2020年有未清账项的客户应收账款往来数据,用Python制作客户对账单。

1

数据准备

从核算系统导出全部应收账款数据,然后将数据加载到Python中:

import pandas as pd
import openpyxl
from openpyxl.styles import Font,Border,Side,Alignment,PatternFill,Color
from openpyxl.utils.dataframe import dataframe_to_rows
from openpyxl.utils import get_column_letter
pd.options.display.float_format = '{:,.2f}'.format
file = '财会实验数据.xlsx'
df = pd.read_excel(file, sheet_name='客户往来账')
df.fillna(0,inplace=True)
df           
虎年「开工大吉」速领2022财务工作提效增速妙招

2

数据处理

我们要给客户发对账单,需要先满足两个条件,如果客户余额是0,且2020年未与该客户发生任何业务往来,我们不需要和他进行对账,因此排除这部分数据。

a. 先筛选余额不为0的客户

v = pd.pivot_table(df, index='客户编号',values='本币金额',aggfunc='sum')
EL1 = v[(v['本币金额']>0.0001)|(v['本币金额']<-0.0001)].reset_index()
# 根据非0客户列表,筛选应收账数据
df1 = df[df['客户编号'].isin(EL1['客户编号'])] # DataFrame.isin()方法的主要任务是选择特定列中具有特定(或多个)值的行。条件前加~表示isin函数的逆函数
df1           
虎年「开工大吉」速领2022财务工作提效增速妙招

b.再筛选2020有业务往来的客户数据

df2=df[df['年']==2020]
df2           
虎年「开工大吉」速领2022财务工作提效增速妙招

c. 将两次筛选的结果并起来,就是我们要发送客户对账单的原始数据了

df3=pd.merge(df1,df2,how='outer')
df3           
虎年「开工大吉」速领2022财务工作提效增速妙招

3

数据分组

我们按客户制作对账单,每个客户一张表,做一个函数,分组后的每一个客户的数据写入一张Sheet,当然也可以一个客户写入一个workbook/工作簿。这里我们使用的写Excel工具是openpyxl。

wb = openpyxl.Workbook()
def writesheet(x):
ws = wb.create_sheet(title=str(x.name))
for r in dataframe_to_rows(x, index=False,header=True):
ws.append(r)
df3.groupby('客户编号',as_index=False).apply(writesheet)
wb.save('客户对账单.xlsx')           
虎年「开工大吉」速领2022财务工作提效增速妙招

可以看到系统已经生成了表单,但是缺少必要的说明和格式。

4

数据输出

对生成的对账单做一些样式加工,所以,我们重新加工一个函数:

wb = openpyxl.Workbook()
def writesheet(x):
ws = wb.create_sheet(title=str(x.name))
ws.append([str(x.name)+'对账单']) #插入一行单元格数据作为标题
ws.append(['日期','摘要','凭证编号','金额','备注']) #插入表头
data = x[['过帐日期','摘要','凭证编号','本币金额']]
for r in dataframe_to_rows(data, index=False,header=False): #按行插入表格
ws.append(r)
ws.append(['合计','——','——',data['本币金额'].sum()])# 插入合计数
ws.append(['请核对,如无误请在七天内签名后回传我司,谢谢!']) #再加一些文字说明
ws.append(['某某公司财务部制作'])
# 调整表格样式
ws.merge_cells('A1:E1') #第一行合并单元格
for c in ws['A']: #第一列居左
c.alignment = Alignment(horizontal='left')
ws['A1'].alignment = Alignment(horizontal='center',vertical='center') #第一行居中
ws.column_dimensions['A'].width = 20 #调整列宽
ws.column_dimensions['B'].width = 30
ws.column_dimensions['D'].width = 18
ws.row_dimensions[1].height = 25 #调整行高
for c in ws['D']: #调整数据格式
c.number_format = '##,##0.00'
for c in ws['A']: #调整日期格式
c.number_format = 'yyyy-mm-dd'
for row in ws[1:2]+ws[ws.max_row-2:ws.max_row]: #字体加粗
for c in row:
c.font = Font(bold=True)
df3.groupby('客户编号',as_index=False).apply(writesheet)
wb.save('客户对账单.xlsx')           
虎年「开工大吉」速领2022财务工作提效增速妙招

在案例中,我们结合Python完成了客户往来账单的核对,财码的朋友们,大家都会了吗?

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

本文由财码数字化整理发布,如需转载请务必注明以上信息。

继续阅读