何如楨


摘要:在財務(wù)數(shù)字化轉(zhuǎn)型大背景下,財政部提出高等院校要“加大會計信息化人才培養(yǎng)力度”。本文嘗試將Python編程引入管理會計課堂教學(xué),探索基于數(shù)字化技術(shù)的“Python+管理會計”教學(xué)方式,并以全面預(yù)算編制為案例進(jìn)行演示,進(jìn)而對此教學(xué)方法進(jìn)行總結(jié)和思考。研究發(fā)現(xiàn),Python能夠契合管理會計“適應(yīng)性原則”,解決個性化問題;將Python引入管理會計教學(xué)能夠提升學(xué)生對管理會計工具的理解和運(yùn)用能力,在信息技術(shù)的加持下提升管理會計工具運(yùn)用效率和效果,但是可能面臨學(xué)生缺乏編程基礎(chǔ)等影響教學(xué)效果的困境。本文認(rèn)為“Python+管理會計”教學(xué)方法仍是管理會計信息化教學(xué)的有益嘗試,而且在課程體系中前置Python編程基礎(chǔ)課程將有利于實現(xiàn)信息技術(shù)與會計的融合教學(xué)。
關(guān)鍵詞:信息化教學(xué) 管理會計 Python 全面預(yù)算
中圖分類號:F230
一、引言
隨著信息化技術(shù)的快速發(fā)展以及信息化技術(shù)在管理領(lǐng)域應(yīng)用的不斷深入,管理會計作為科學(xué)化管理的重要工具和方法得到了市場和政府等多方面的重視[1]。2021年,我國財政部制定了《會計改革與發(fā)展“十四五”規(guī)劃綱要》,提出積極推動會計工作數(shù)字化轉(zhuǎn)型,研究信息化新技術(shù)應(yīng)用于管理會計實踐。在此背景下,高校的會計教學(xué)不僅是讓學(xué)生具備有效輸入和輸出會計信息的實踐能力[2],還要培養(yǎng)學(xué)生成為既懂會計又懂信息技術(shù)的會計信息化人才。在《會計信息化發(fā)展規(guī)劃(2021—2025年)》中,財政部進(jìn)一步提出“會計信息化人才隊伍不斷壯大”的總目標(biāo),著力打造懂會計、懂業(yè)務(wù)、懂信息技術(shù)的復(fù)合型會計信息化人才隊伍,并提出“加強(qiáng)會計信息化人才培養(yǎng),繁榮會計信息化理論研究”的具體保障措施,要求高等院校要適當(dāng)增加會計信息化課程內(nèi)容的比重,加大會計信息化人才培養(yǎng)力度。因此,作為會計人才培養(yǎng)的主陣地,高校在會計專業(yè)人才教育中融入“信息技術(shù)+會計”教學(xué)模式將是有益探索。
自20世紀(jì)90年代初全面推行會計信息化工作以來,我國會計信息化已得到廣泛應(yīng)用。而我國高等院校的會計專業(yè)會計信息化及相關(guān)課程的教學(xué)與實務(wù)中的會計信息化、數(shù)字化發(fā)展仍有差距,使得會計專業(yè)的畢業(yè)生在就業(yè)后難以直接勝任實際會計和管理工作[3]。在現(xiàn)階段的高校會計專業(yè)課程教學(xué)中,管理會計課程主要以多媒體教學(xué)形式開展。多媒體課件是固化的、可預(yù)見的,它排斥師生互動中的非預(yù)見性因素[4]。在課程體系中,雖然會計專業(yè)課與會計信息化課程并行而設(shè),但會計信息化課程主要以SAP、用友、金蝶等成熟財務(wù)軟件為基礎(chǔ)進(jìn)行財務(wù)會計教學(xué)。一方面,不同高校購買的財務(wù)軟件系統(tǒng)和版本不盡相同,各企業(yè)的實際應(yīng)用情況也各有差異,導(dǎo)致教學(xué)與應(yīng)用可能不匹配;另一方面,由于財務(wù)會計標(biāo)準(zhǔn)化程度高,相應(yīng)的財務(wù)系統(tǒng)模塊較為成熟,現(xiàn)有課程主要針對財務(wù)會計相關(guān)模塊開展會計信息化教學(xué),對管理會計信息化教學(xué)以及學(xué)生開源編程能力的關(guān)注尚有不足。因此,現(xiàn)有的課程體系和教學(xué)方式雖然為學(xué)生提供了較好的信息技術(shù)平臺[5],但學(xué)生對于信息技術(shù)的應(yīng)用能力尚嫌不足。本文基于現(xiàn)今最流行的開源程序設(shè)計語言之一—Python,以全面預(yù)算為例探討編程技術(shù)在管理會計教學(xué)中的實際應(yīng)用。
Python是一種跨平臺的計算機(jī)程序設(shè)計語言,由Guido van Rossum于1989年開發(fā)而成,是一種結(jié)合了解釋性、編譯性及互動性的面向?qū)ο蟮哪_本語言,有簡單易學(xué)、可讀性高、標(biāo)準(zhǔn)庫豐富成熟等優(yōu)點(diǎn)。Python作為一門編程語言,其應(yīng)用依賴于具體場景,目前已被廣泛應(yīng)用在數(shù)據(jù)分析、機(jī)器學(xué)習(xí)以及文本分析等領(lǐng)域。在管理會計中,根據(jù)使用者掌握程度不同,可以用來解決成本性態(tài)分析、全面預(yù)算和績效管理等管理會計具體問題,也可以進(jìn)階開發(fā)管理會計應(yīng)用系統(tǒng),對提升管理會計效率具有重要意義。但是,在高校管理會計課程教學(xué)中,仍缺乏Python在課堂教學(xué)和實驗中的具體探索。本文將在Jupyter Notebook應(yīng)用環(huán)境下,以《管理會計應(yīng)用指引詳解與實務(wù)》[6]一書中的全面預(yù)算例題為基礎(chǔ),演示如何運(yùn)用Python實現(xiàn)全面預(yù)算編制的課堂教學(xué)。
二、基于Python的管理會計教學(xué)設(shè)計與實踐
本文以銷售預(yù)算為例進(jìn)行演示,其他預(yù)算編制代碼在此省略,如有需要可向作者索取。
根據(jù)銷售預(yù)測,2018年公司第一季度預(yù)計銷售量為17000件(其中,1月份預(yù)計銷售6000件,2月份預(yù)計銷售6000件,3月份預(yù)計銷售5000件),單位產(chǎn)品銷售價格都是26元,公司的信用政策是銷售款當(dāng)月收取50%,其余下月收訖。公司期初應(yīng)收賬款75000元。
根據(jù)上述資料,本文制定了如圖1所示的全面預(yù)算方案編制框架,以銷售預(yù)算為起點(diǎn)編制包括1至7項在內(nèi)的經(jīng)營預(yù)算,并將經(jīng)營預(yù)算項目匯總?cè)氍F(xiàn)金流量表、利潤表和資產(chǎn)負(fù)債表,完成財務(wù)預(yù)算。
本文將主要基于Jupyter Notebook使用Python編程語言實現(xiàn)管理會計中的全面預(yù)算案例教學(xué)。Jupyter Notebook是基于網(wǎng)頁的用于交互計算的應(yīng)用程序,支持運(yùn)行包括Python在內(nèi)的40多種編程語言,可應(yīng)用于全過程計算:開發(fā)、文檔編寫、運(yùn)行代碼和展示結(jié)果。該軟件是一個實現(xiàn)了可讀性分析的靈活工具,集合代碼、圖像、注釋、公式、表格等于一處,適合數(shù)據(jù)分析以及初學(xué)者編寫和調(diào)試程序等應(yīng)用場景。
如圖2所示,基于Python編制預(yù)算的流程大致可以分為4個步驟:①根據(jù)預(yù)算項目的預(yù)期結(jié)果設(shè)計預(yù)算目標(biāo)格式,即最終呈現(xiàn)的預(yù)算表格;②根據(jù)預(yù)算編制規(guī)則構(gòu)造預(yù)算函數(shù),在不同月份或季度的預(yù)算編制過程中可以重復(fù)執(zhí)行;③根據(jù)預(yù)測中做出的關(guān)鍵假設(shè),對相關(guān)參數(shù)進(jìn)行賦值;④運(yùn)行函數(shù)得到預(yù)算結(jié)果,并將結(jié)果輸出到預(yù)先所設(shè)計的預(yù)算表格中。后續(xù)我們將以銷售預(yù)算為例展示經(jīng)營預(yù)算編制過程。
第一,根據(jù)銷售預(yù)算最終呈現(xiàn)的預(yù)期結(jié)果設(shè)計銷售預(yù)算表格的目標(biāo)格式。Python代碼如下文“第一步”所示,執(zhí)行“第一步”可以得到圖3所示的二維表格。該步驟目的在于清晰地呈現(xiàn)出銷售預(yù)算的實現(xiàn)步驟和預(yù)期格式:定義預(yù)算期間,基于銷售量和銷售價格計算銷售額,基于期初應(yīng)收款和信用政策計算當(dāng)期現(xiàn)金收入。
第二,將關(guān)鍵、可重復(fù)且需要重復(fù)執(zhí)行的計算步驟標(biāo)準(zhǔn)化,并定義為函數(shù)。代碼如“第二步”所示,函數(shù)名(“銷售預(yù)算”)、參數(shù)名(“預(yù)計銷售量”等)和變量名(“預(yù)計銷售收入”)等均可以中文命名,函數(shù)中的計算公式(如“預(yù)計銷售收入 = 預(yù)計銷售量 * 預(yù)計銷售價格”)也較為直觀、可讀。
第三,根據(jù)案例中的關(guān)鍵假設(shè)條件,為關(guān)鍵參數(shù)賦值。需要注意的是,銷售預(yù)算中每期“期初應(yīng)收款”來自于上一期銷售預(yù)算函數(shù)中得到的期末應(yīng)收賬款,因此銷售預(yù)算的“第三步”和“第四步”代碼需要按月份逐期執(zhí)行。
第四,輸入?yún)?shù)并調(diào)用“銷售預(yù)算”函數(shù),得到“預(yù)計銷售收入”和“預(yù)計現(xiàn)金收入”;將函數(shù)運(yùn)算結(jié)果和“預(yù)計銷售量”等參數(shù)值輸出到預(yù)設(shè)的目標(biāo)格式中,得到圖3所示的1月份銷售預(yù)算結(jié)果;同時得到“期末應(yīng)收款”,作為下一期“期初應(yīng)收款”參數(shù)值。
第五,重復(fù)執(zhí)行“第三步”和“第四步”,對相應(yīng)參數(shù)進(jìn)行賦值后計算得到結(jié)果,并將結(jié)果輸出到目標(biāo)表格中,依次完成2月、3月和1季度銷售預(yù)算,得到如圖3所示的一季度銷售預(yù)算結(jié)果。
#第零步,預(yù)先導(dǎo)入本案例需要的庫:
import pandas as pd
import numpy as np
#第一步,根據(jù)要實現(xiàn)的銷售預(yù)算結(jié)果設(shè)計最終實現(xiàn)的目標(biāo)格式:
df_銷售預(yù)算 = pd.DataFrame ( columns = [′摘要′, ′1月′, ′2月′, ′3月′, ′1季度′] )
df_銷售預(yù)算[′摘要′] = [′預(yù)計銷售量(件)′ , ′預(yù)計銷售價格(元/件)′, ′預(yù)計銷售額(元)′, ′期初應(yīng)收款(元)′, ′預(yù)計現(xiàn)金收入(元)′]
#第二步,根據(jù)預(yù)算規(guī)則構(gòu)建函數(shù):
def 銷售預(yù)算(預(yù)計銷售量, 預(yù)計銷售價格, 期初應(yīng)收款, 現(xiàn)金收入比):
預(yù)計銷售收入 = 預(yù)計銷售量 * 預(yù)計銷售價格
預(yù)計現(xiàn)金收入 = 期初應(yīng)收款 + 預(yù)計銷售收入 * 現(xiàn)金收入比
期末應(yīng)收款? ?= 預(yù)計銷售收入 - 預(yù)計銷售收入 * 現(xiàn)金收入比
return 預(yù)計銷售收入, 預(yù)計現(xiàn)金收入, 期末應(yīng)收款
#第三步,參數(shù)賦值:
預(yù)計銷售量_1月,? 預(yù)計銷售價格_1月, 期初應(yīng)收款_1月, 現(xiàn)金收入比_1月 = 6000, 26, 75 000, 0.5
#第四步,輸出結(jié)果:
預(yù)計銷售收入_1月, 預(yù)計現(xiàn)金收入_1月, 期末應(yīng)收款_1月 = 銷售預(yù)算(預(yù)計銷售量_1月, 預(yù)計銷售價格_1月, 期初應(yīng)收款_1月, 現(xiàn)金收入比_1月)
df_銷售預(yù)算[′1月′] = [預(yù)計銷售量_1月,? 預(yù)計銷售價格_1月, 預(yù)計銷售收入_1月, 期初應(yīng)收款_1月, 預(yù)計現(xiàn)金收入_1月]
#第五步,同理,傳入相應(yīng)參數(shù)可以得到2月、3月和1季度預(yù)算結(jié)果:
預(yù)計銷售量_2月, 預(yù)計銷售價格_2月, 期初應(yīng)收款_2月, 現(xiàn)金收入比_2月 = 6000, 26, 期末應(yīng)收款_1月, 0.5
預(yù)計銷售收入_2月, 預(yù)計現(xiàn)金收入_2月, 期末應(yīng)收款_2月= 銷售預(yù)算(預(yù)計銷售量_2月, 預(yù)計銷售價格_2月, 期初應(yīng)收款_2月, 現(xiàn)金收入比_2月)
df_銷售預(yù)算[′2月′] = [預(yù)計銷售量_2月, 預(yù)計銷售價格_2月, 預(yù)計銷售收入_2月, 期初應(yīng)收款_2月, 預(yù)計現(xiàn)金收入_2月]
預(yù)計銷售量_3月, 預(yù)計銷售價格_3月, 期初應(yīng)收款_3月, 現(xiàn)金收入比_3月 = 5000, 26, 期末應(yīng)收款_2月, 0.5
預(yù)計銷售收入_3月, 預(yù)計現(xiàn)金收入_3月, 期末應(yīng)收款_3月= 銷售預(yù)算(預(yù)計銷售量_3月, 預(yù)計銷售價格_3月, 期初應(yīng)收款_3月, 現(xiàn)金收入比_3月)
df_銷售預(yù)算[′3月′] = [預(yù)計銷售量_3月, 預(yù)計銷售價格_3月, 預(yù)計銷售收入_3月, 期初應(yīng)收款_3月, 預(yù)計現(xiàn)金收入_3月]
預(yù)計銷售收入_1季度 = 預(yù)計銷售收入_1月 + 預(yù)計銷售收入_2月 +預(yù)計銷售收入_3月
預(yù)計現(xiàn)金收入_1季度 = 預(yù)計現(xiàn)金收入_1月 + 預(yù)計現(xiàn)金收入_2月 +預(yù)計現(xiàn)金收入_3月
df_銷售預(yù)算[′1季度′] = [17 000, 26, 預(yù)計銷售收入_1季度, 75000, 預(yù)計現(xiàn)金收入_1季度]
三、基于Python的管理會計教學(xué)思考與展望
(一)基于Python的管理會計教學(xué)思考
通過上述探討以及作者在廈門國家會計學(xué)院2021級碩士課堂教學(xué)的實際應(yīng)用中發(fā)現(xiàn), Python在管理會計教學(xué)中具有以下特征:
第一,Python中面向?qū)ο蟮木幊陶Z法以及對漢語的兼容使得相關(guān)程序具有較高的可讀性和可理解性,規(guī)范的代碼和釋義使得相關(guān)程序可復(fù)制、可傳遞、可擴(kuò)展。在實際教學(xué)過程中,首先,學(xué)生可以通過復(fù)制示例代碼熟悉該技術(shù)在全面預(yù)算場景中的應(yīng)用范式;其次,學(xué)生基于示例代碼進(jìn)行優(yōu)化和擴(kuò)展,加深對編程和全面預(yù)算的理解;最后,學(xué)生將該技術(shù)應(yīng)用在其他全面預(yù)算項目的編制。更為深遠(yuǎn)地展望,學(xué)生在課堂中對每一個管理會計工具和方法的實例編程,均可以此為基礎(chǔ)加以修改、完善甚至標(biāo)準(zhǔn)化封裝和集成,以解決日后可能遇到的實際管理問題。
第二,Python程序可以直觀地反映預(yù)算規(guī)則和不同表格相關(guān)項目的鉤稽關(guān)系。正如圖2所示的預(yù)算編制流程圖所展示的,基于Python實現(xiàn)全面預(yù)算編制的關(guān)鍵步驟在于構(gòu)建相關(guān)預(yù)算函數(shù),以明確的規(guī)則重復(fù)執(zhí)行相關(guān)計算。在銷售預(yù)算等具體預(yù)算項目編制過程中,定義函數(shù)時需要學(xué)生將預(yù)算規(guī)則轉(zhuǎn)化為公式,而Python語言中公式的代碼接近日常用語習(xí)慣,并且直接面向?qū)ο?,過程清晰而直觀。此外,在編制財務(wù)預(yù)算的過程中,學(xué)生通過代碼建立財務(wù)報表項目和經(jīng)營預(yù)算報表項目之間的鉤稽關(guān)系,相對于Excel中跨Sheet或文件通過鏈接建立聯(lián)系,Python更為直觀、痕跡可見和易于理解。因此,基于Python的教學(xué)更有利于學(xué)生理解管理會計中的運(yùn)算規(guī)則和預(yù)算邏輯。
第三,基于Python進(jìn)行全面預(yù)算編制的教學(xué)實踐,可以有效提升學(xué)生的參與程度和學(xué)習(xí)效果。一方面,基于Excel等傳統(tǒng)手段的課堂教學(xué)中,由于教學(xué)設(shè)施和時間限制,只能允許個別同學(xué)上講臺做預(yù)算編制展示,容易造成教師對學(xué)生掌握知識的情況了解不夠充分,影響教學(xué)效果。而Python教學(xué)可以使每一位同學(xué)動手編程,充分發(fā)現(xiàn)問題并解決問題;另一方面,全面預(yù)算編制過程較為系統(tǒng)、復(fù)雜,學(xué)生在學(xué)習(xí)過程中出現(xiàn)的問題往往不盡相同,而Python程序強(qiáng)大的邏輯性要求學(xué)生正確處理每一步驟才能操作下一步,因此該教學(xué)方法可以及時發(fā)現(xiàn)學(xué)生問題所在,并幫助學(xué)生系統(tǒng)掌握全面預(yù)算的每一個環(huán)節(jié)。
但是不可忽視的是,將Python融入管理會計課堂教學(xué)也將遇到諸多問題。首先,基于Python的教學(xué)需要學(xué)生有一定的編程基礎(chǔ),雖然Python易學(xué)、易懂,但是仍需要一定課時為學(xué)生講解Python基礎(chǔ)語法和規(guī)范作為教學(xué)鋪墊;其次,Python教學(xué)要求每一位學(xué)生在電腦上完成相關(guān)任務(wù),因此對教學(xué)設(shè)施也有一定要求,還可能增加教師控制學(xué)生上課紀(jì)律的難度。可見,“Python+管理會計”仍有待進(jìn)一步完善。
(二)基于Python的管理會計教學(xué)展望
在智慧財務(wù)和“業(yè)財融合”等財務(wù)轉(zhuǎn)型背景下,高等院校應(yīng)主動適應(yīng)市場需要,探索“信息技術(shù)+會計”的教學(xué)模式,培養(yǎng)出能夠熟練應(yīng)用信息技術(shù)的復(fù)合型會計人才。
本文認(rèn)為Python編程語言符合管理會計的“適應(yīng)性原則”,針對不同管理要求設(shè)計個性化程序或系統(tǒng),從而提升管理會計工具執(zhí)行效率。在課堂教學(xué)中,“Python+管理會計”的教學(xué)方法有利于培養(yǎng)學(xué)生基于信息技術(shù)學(xué)習(xí)管理會計工具原理并付諸運(yùn)用的能力,更為重要的是,可以將Python進(jìn)一步引入管理會計實驗教學(xué),通過優(yōu)化管理會計實驗教學(xué)模式培養(yǎng)符合企業(yè)需要的管理會計應(yīng)用型人才[7],利用信息技術(shù)解決管理會計實際問題的能力。因此,管理會計中嘗試“Python+管理會計”教學(xué)方法將是有益探索。在財會專業(yè)學(xué)生的培養(yǎng)過程中,高??蓢L試通過在課程體系中前置Python編程語言基礎(chǔ)課程等方式培養(yǎng)學(xué)生編程基礎(chǔ),從而更好地實現(xiàn)信息技術(shù)與會計專業(yè)課程的融合教學(xué)。
參考文獻(xiàn):
[1]邱杰. 高校管理會計信息化教學(xué)探討[C].中國會計學(xué)會第十三屆會計信息化年會報告論文集,2014:201-207.
[2]陳曉芳,陳昕,洪葒,等.“會計學(xué)原理”課程思政建設(shè):價值意蘊(yùn)與教學(xué)實踐[J]. 財會月刊,2022(3):79-87.
[3]梁亞玲. 會計信息化教學(xué)研究初探[J].財會通訊,2017(31):53-56.
[4]蘇彩霞. 多媒體輔助會計教學(xué)的局限及對策[J].電化教育研究,2011(3):113-115.
[5]來華,乾惠敏,代少升. 信息技術(shù)在會計學(xué)專業(yè)實踐教學(xué)中的應(yīng)用[J].現(xiàn)代教育技術(shù),2010,20(5):138-141.
[6]胡玉明. 管理會計應(yīng)用指引詳解與實務(wù)[M]. 北京:經(jīng)濟(jì)科學(xué)出版社,2019.
[7]胡毛利. 互聯(lián)網(wǎng)時代管理會計實驗教學(xué)探討[J]. 當(dāng)代會計,2021(20):115-117.
責(zé)任編輯:姜洪云