关于应收账款的账龄计算(应收账款账龄分析怎么做)

发表时间:2024-01-11 02:24:02
0 0

对于应收账款,作为财务的你是否在关心:谁欠钱?谁欠的多?谁欠的久?

当应收账款未能按时收回时,就会降低企业资金的使用效率,使企业效益下降。

在赊销业务中,企业发出商品并开票确认收入后,货款却不能同步到账,这种没有货款回笼的销售收入,势必会形成没有现金流入的会计利润,企业还需垫支由此产生的相关税款。

对于应收账款的管理成本、清欠过程中的中介费用等都会增加企业的现金流出,这不仅占用了大量的流动资金,还将影响企业现金流的正常运转。

在今天的案例中,为规避应收账款变成坏账的风险,小秘书将与大家分享跟应收账款账龄分析相关的实用工具,教大家如何借助数字化技术Python依据应收账款数据的“凭证日期”统计账龄。

在案例中,我们将运用先进先出的原则:

如果应收账款借方发生额已经实现回款,那么,这部分交易不影响我们对应收账龄的统计;倒序统计应收账款余额分布在哪几笔借方发生里(定义为“实际应收”),即可按实际应收借方发生的日期统计应收账款账龄。

(在本次案例中,我们暂不考虑应收账款借方红字的情况)

一般来说,应收账款清账操作需要在核算系统中找到对应的应收账款借方凭证,然后对该笔凭证进行冲销。在这种情况下,统计应收账款账龄只需要找到未冲销的应收账款,计算凭证日期/交易日期至统计日期的间隔时长就可以了。

我们使用先进先出的方法统计截止2023/9/30的应收账龄,账龄分段格式如下:

1

数据准备

引入应收账款凭证数据:

importpandasaspdfromdatetimeimportdatetime,dateimportwarningswarnings.filterwarnings("ignore")pd.options.display.float_format='{:,.2f}'.formatfile='财会实验数据.xlsx'df=pd.read_excel(file,sheet_name='客户往来账')df.fillna(0,inplace=True)df

2

数据处理

根据实验要求,按每个客户先进先出的原则统计账龄。因此先对应收账款数据按客groupby,再在每个group中进行账龄计算,group内的账龄计算逻辑我们命名为AR函数。

defAR(x):#计算客户应收款余额total=x['本币金额'].sum()#统计应收账款借方df_dr=x[x['本币金额']>0]#按过账日期降序df_dr=df_dr.sort_values(by=['过帐日期'],ascending=False).reset_index(drop=True)#应收账款先进先出,因此将余额分摊在最后几笔借方交易,一旦分摊完则停止forindex,rowindf_dr.iterrows():iftotal-row['本币金额']>0:df_dr.loc[index,'实际应收']=row['本币金额']else:df_dr.loc[index,'实际应收']=totalbreaktotal=total-row['本币金额']returndf_drdf2=df.groupby('客户编号',as_index=False).apply(AR)#找一个客户验证计算结果df2.loc[df2['客户编号']==23500000]

过滤实际应收为空或者为0的数据(代表已清账)

df3=df2[(pd.isna(df2['实际应收'])==False)&(df2['实际应收']!=0)df3.loc[df3['客户编号']==23500000]

3

数据计算

计算每笔实际应收账款截止2023/9/30的账龄,账龄以月份数据表示,不足一月的按照天数/30计算小数。

enddate=date(2023,9,30)deftotalmonth(startdate):returnround((enddate.year-startdate.year)12+(enddate.month-startdate.month)+(enddate.day-startdate.day)/30,2)df3['账龄']=df3['过帐日期'].map(totalmonth)df3.loc[df3['客户编号']==23500000]

计算账龄区间:使用条件判断

▪当账龄小于等于3个月时,落入账龄区间1-3月;▪当账龄大于3个月小于等于12个月时,落入账龄区间3月-1年;▪当账龄大于12个月小于等于24个月时,落入账龄区间1-2年;▪当账龄大于36个月时,落入账龄区间3年以上。

defage(totalmonth):iftotalmonth<=3:age='1-3月'eliftotalmonth<=12:age='3月-1年'eliftotalmonth<=24:age='1-2年'else:age='3年以上'returnagedf3['账龄区间']=df3['账龄'].map(age)df3.loc[df3['客户编号']==23500000]

账龄统计:

pd.pivot_table(df3,index['客户编号'],columns=['账龄区间'],values=['实际应收'],aggfunc=sum,fill_value=0)

以上就是用Python自动计算应收账款账龄的操作步骤了。公司的应收账款在流动资产中具有举足轻重的地位,如果公司的应收账款能及时收回,那么公司的资金使用效率将能大幅提高!

声明:本文图片、文字、视频等内容来源于互联网,本站无法甄别其准确性,建议谨慎参考,本站不对您因参考本文所带来的任何后果负责!本站尊重并保护知识产权,本文版权归原作者所有,根据《信息网络传播权保护条例》,如果我们转载内容侵犯了您的权利,请及时与我们联系,我们会做删除处理,谢谢。

全部评论 0条
请先登录发表后评论(·ω·)
表情
发表
1页,跳至

金币

主题
最新发表
返回顶部