tft每日頭條

 > 生活

 > 應收賬款賬齡公式

應收賬款賬齡公式

生活 更新时间:2024-12-03 08:43:42

對于應收賬款,作為财務的你是否在關心:誰欠錢?誰欠的多?誰欠的久?

當應收賬款未能按時收回時,就會降低企業資金的使用效率,使企業效益下降。

在賒銷業務中,企業發出商品并開票确認收入後,貨款卻不能同步到賬,這種沒有貨款回籠的銷售收入,勢必會形成沒有現金流入的會計利潤,企業還需墊支由此産生的相關稅款。

對于應收賬款的管理成本、清欠過程中的中介費用等都會增加企業的現金流出,這不僅占用了大量的流動資金,還将影響企業現金流的正常運轉。

在今天的案例中,為規避應收賬款變成壞賬的風險,小秘書将與大家分享跟應收賬款賬齡分析相關的實用工具,教大家如何借助數字化技術Python依據應收賬款數據的“憑證日期”統計賬齡。

在案例中,我們将運用先進先出的原則:

  • 如果應收賬款借方發生額已經實現回款,那麼,這部分交易不影響我們對應收賬齡的統計;
  • 倒序統計應收賬款餘額分布在哪幾筆借方發生裡(定義為“實際應收”),即可按實際應收借方發生的日期統計應收賬款賬齡。

(在本次案例中,我們暫不考慮應收賬款借方紅字的情況)

一般來說,應收賬款清賬操作需要在核算系統中找到對應的應收賬款借方憑證,然後對該筆憑證進行沖銷。在這種情況下,統計應收賬款賬齡隻需要找到未沖銷的應收賬款,計算憑證日期/交易日期至統計日期的間隔時長就可以了。

我們使用先進先出的方法統計截止2020/9/30的應收賬齡,賬齡分段格式如下:

應收賬款賬齡公式(關于應收賬款的賬齡計算)1

1

數據準備

引入應收賬款憑證數據:

import pandas as pd from datetime import datetime, date import warnings warnings.filterwarnings("ignore") pd.options.display.float_format = '{:,.2f}'.format file = '财會實驗數據.xlsx' df = pd.read_excel(file, sheet_name='客戶往來賬') df.fillna(0,inplace=True) df

應收賬款賬齡公式(關于應收賬款的賬齡計算)2

2

數據處理

根據實驗要求,按每個客戶先進先出的原則統計賬齡。因此先對應收賬款數據按客groupby,再在每個group中進行賬齡計算,group内的賬齡計算邏輯我們命名為AR函數。

def AR(x): # 計算客戶應收款餘額 total = x['本币金額'].sum() # 統計應收賬款借方 df_dr = x[x['本币金額']>0] # 按過賬日期降序 df_dr = df_dr.sort_values(by=['過帳日期'],ascending=False).reset_index(drop=True) # 應收賬款先進先出,因此将餘額分攤在最後幾筆借方交易,一旦分攤完則停止 for index, row in df_dr.iterrows(): if total-row['本币金額']>0: df_dr.loc[index,'實際應收'] = row['本币金額'] else: df_dr.loc[index,'實際應收'] = total break total = total-row['本币金額'] return df_dr df2 = df.groupby('客戶編号',as_index=False).apply(AR) # 找一個客戶驗證計算結果 df2.loc[df2['客戶編号']==23500000]

應收賬款賬齡公式(關于應收賬款的賬齡計算)3

過濾實際應收為空或者為0的數據(代表已清賬)

df3=df2[(pd.isna(df2['實際應收']) ==False)&(df2['實際應收']!=0) df3.loc[df3['客戶編号']==23500000]

應收賬款賬齡公式(關于應收賬款的賬齡計算)4

3

數據計算

計算每筆實際應收賬款截止2020/9/30的賬齡,賬齡以月份數據表示,不足一月的按照天數/30計算小數。

enddate = date(2020, 9, 30) def totalmonth(startdate): return round((enddate.year-startdate.year)*12 (enddate.month-startdate.month) (enddate.day-startdate.day)/30,2) df3['賬齡']=df3['過帳日期'].map(totalmonth) df3.loc[df3['客戶編号']==23500000]

應收賬款賬齡公式(關于應收賬款的賬齡計算)5

計算賬齡區間:使用條件判斷

▪ 當賬齡小于等于3個月時,落入賬齡區間 1-3月;▪ 當賬齡大于3個月小于等于12個月時,落入賬齡區間 3月-1年;▪ 當賬齡大于12個月小于等于24個月時,落入賬齡區間 1-2年;▪ 當賬齡大于36個月時,落入賬齡區間 3年以上。

def age(totalmonth): if totalmonth<=3: age='1-3月' elif totalmonth<=12: age='3月-1年' elif totalmonth<=24: age='1-2年' else: age='3年以上' return age df3['賬齡區間']=df3['賬齡'].map(age) df3.loc[df3['客戶編号']==23500000]

應收賬款賬齡公式(關于應收賬款的賬齡計算)6

賬齡統計:

pd.pivot_table(df3,index['客戶編号'], columns=['賬齡區間'], values=['實際應收'],aggfunc= sum,fill_value=0)

應收賬款賬齡公式(關于應收賬款的賬齡計算)7

以上就是用Python自動計算應收賬款賬齡的操作步驟了。公司的應收賬款在流動資産中具有舉足輕重的地位,如果公司的應收賬款能及時收回,那麼公司的資金使用效率将能大幅提高!

©圖片版權歸财碼數字化所有,如對版權有異議,請聯系後台議定處理。

本文由财碼數字化整理發布,如需轉載請務必注明以上信息。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved