基于Python的管理会计信息化教学实践与思考
2023-05-30何如桢
何如桢
摘要:在财务数字化转型大背景下,财政部提出高等院校要“加大会计信息化人才培养力度”。本文尝试将Python编程引入管理会计课堂教学,探索基于数字化技术的“Python+管理会计”教学方式,并以全面预算编制为案例进行演示,进而对此教学方法进行总结和思考。研究发现,Python能够契合管理会计“适应性原则”,解决个性化问题;将Python引入管理会计教学能够提升学生对管理会计工具的理解和运用能力,在信息技术的加持下提升管理会计工具运用效率和效果,但是可能面临学生缺乏编程基础等影响教学效果的困境。本文认为“Python+管理会计”教学方法仍是管理会计信息化教学的有益尝试,而且在课程体系中前置Python编程基础课程将有利于实现信息技术与会计的融合教学。
关键词:信息化教学 管理会计 Python 全面预算
中图分类号:F230
一、引言
随着信息化技术的快速发展以及信息化技术在管理领域应用的不断深入,管理会计作为科学化管理的重要工具和方法得到了市场和政府等多方面的重视[1]。2021年,我国财政部制定了《会计改革与发展“十四五”规划纲要》,提出积极推动会计工作数字化转型,研究信息化新技术应用于管理会计实践。在此背景下,高校的会计教学不仅是让学生具备有效输入和输出会计信息的实践能力[2],还要培养学生成为既懂会计又懂信息技术的会计信息化人才。在《会计信息化发展规划(2021—2025年)》中,财政部进一步提出“会计信息化人才队伍不断壮大”的总目标,着力打造懂会计、懂业务、懂信息技术的复合型会计信息化人才队伍,并提出“加强会计信息化人才培养,繁荣会计信息化理论研究”的具体保障措施,要求高等院校要适当增加会计信息化课程内容的比重,加大会计信息化人才培养力度。因此,作为会计人才培养的主阵地,高校在会计专业人才教育中融入“信息技术+会计”教学模式将是有益探索。
自20世纪90年代初全面推行会计信息化工作以来,我国会计信息化已得到广泛应用。而我国高等院校的会计专业会计信息化及相关课程的教学与实务中的會计信息化、数字化发展仍有差距,使得会计专业的毕业生在就业后难以直接胜任实际会计和管理工作[3]。在现阶段的高校会计专业课程教学中,管理会计课程主要以多媒体教学形式开展。多媒体课件是固化的、可预见的,它排斥师生互动中的非预见性因素[4]。在课程体系中,虽然会计专业课与会计信息化课程并行而设,但会计信息化课程主要以SAP、用友、金蝶等成熟财务软件为基础进行财务会计教学。一方面,不同高校购买的财务软件系统和版本不尽相同,各企业的实际应用情况也各有差异,导致教学与应用可能不匹配;另一方面,由于财务会计标准化程度高,相应的财务系统模块较为成熟,现有课程主要针对财务会计相关模块开展会计信息化教学,对管理会计信息化教学以及学生开源编程能力的关注尚有不足。因此,现有的课程体系和教学方式虽然为学生提供了较好的信息技术平台[5],但学生对于信息技术的应用能力尚嫌不足。本文基于现今最流行的开源程序设计语言之一—Python,以全面预算为例探讨编程技术在管理会计教学中的实际应用。
Python是一种跨平台的计算机程序设计语言,由Guido van Rossum于1989年开发而成,是一种结合了解释性、编译性及互动性的面向对象的脚本语言,有简单易学、可读性高、标准库丰富成熟等优点。Python作为一门编程语言,其应用依赖于具体场景,目前已被广泛应用在数据分析、机器学习以及文本分析等领域。在管理会计中,根据使用者掌握程度不同,可以用来解决成本性态分析、全面预算和绩效管理等管理会计具体问题,也可以进阶开发管理会计应用系统,对提升管理会计效率具有重要意义。但是,在高校管理会计课程教学中,仍缺乏Python在课堂教学和实验中的具体探索。本文将在Jupyter Notebook应用环境下,以《管理会计应用指引详解与实务》[6]一书中的全面预算例题为基础,演示如何运用Python实现全面预算编制的课堂教学。
二、基于Python的管理会计教学设计与实践
本文以销售预算为例进行演示,其他预算编制代码在此省略,如有需要可向作者索取。
根据销售预测,2018年公司第一季度预计销售量为17000件(其中,1月份预计销售6000件,2月份预计销售6000件,3月份预计销售5000件),单位产品销售价格都是26元,公司的信用政策是销售款当月收取50%,其余下月收讫。公司期初应收账款75000元。
根据上述资料,本文制定了如图1所示的全面预算方案编制框架,以销售预算为起点编制包括1至7项在内的经营预算,并将经营预算项目汇总入现金流量表、利润表和资产负债表,完成财务预算。
本文将主要基于Jupyter Notebook使用Python编程语言实现管理会计中的全面预算案例教学。Jupyter Notebook是基于网页的用于交互计算的应用程序,支持运行包括Python在内的40多种编程语言,可应用于全过程计算:开发、文档编写、运行代码和展示结果。该软件是一个实现了可读性分析的灵活工具,集合代码、图像、注释、公式、表格等于一处,适合数据分析以及初学者编写和调试程序等应用场景。
如图2所示,基于Python编制预算的流程大致可以分为4个步骤:①根据预算项目的预期结果设计预算目标格式,即最终呈现的预算表格;②根据预算编制规则构造预算函数,在不同月份或季度的预算编制过程中可以重复执行;③根据预测中做出的关键假设,对相关参数进行赋值;④运行函数得到预算结果,并将结果输出到预先所设计的预算表格中。后续我们将以销售预算为例展示经营预算编制过程。
第一,根据销售预算最终呈现的预期结果设计销售预算表格的目标格式。Python代码如下文“第一步”所示,执行“第一步”可以得到图3所示的二维表格。该步骤目的在于清晰地呈现出销售预算的实现步骤和预期格式:定义预算期间,基于销售量和销售价格计算销售额,基于期初应收款和信用政策计算当期现金收入。
第二,将关键、可重复且需要重复执行的计算步骤标准化,并定义为函数。代码如“第二步”所示,函数名(“销售预算”)、参数名(“预计销售量”等)和变量名(“预计销售收入”)等均可以中文命名,函数中的计算公式(如“预计销售收入 = 预计销售量 * 预计销售价格”)也较为直观、可读。
第三,根据案例中的关键假设条件,为关键参数赋值。需要注意的是,销售预算中每期“期初应收款”来自于上一期销售预算函数中得到的期末应收账款,因此销售预算的“第三步”和“第四步”代码需要按月份逐期执行。
第四,输入参数并调用“销售预算”函数,得到“预计销售收入”和“预计现金收入”;将函数运算结果和“预计销售量”等参数值输出到预设的目标格式中,得到图3所示的1月份销售预算结果;同时得到“期末应收款”,作为下一期“期初应收款”参数值。
第五,重复执行“第三步”和“第四步”,对相应参数进行赋值后计算得到结果,并将结果输出到目标表格中,依次完成2月、3月和1季度销售预算,得到如图3所示的一季度销售预算结果。
#第零步,预先导入本案例需要的库:
import pandas as pd
import numpy as np
#第一步,根据要实现的销售预算结果设计最终实现的目标格式:
df_销售预算 = pd.DataFrame ( columns = [′摘要′, ′1月′, ′2月′, ′3月′, ′1季度′] )
df_销售预算[′摘要′] = [′预计销售量(件)′ , ′预计销售价格(元/件)′, ′预计销售额(元)′, ′期初应收款(元)′, ′预计现金收入(元)′]
#第二步,根据预算规则构建函数:
def 销售预算(预计销售量, 预计销售价格, 期初应收款, 现金收入比):
预计销售收入 = 预计销售量 * 预计销售价格
预计现金收入 = 期初应收款 + 预计销售收入 * 现金收入比
期末应收款 = 预计销售收入 - 预计销售收入 * 现金收入比
return 预计销售收入, 预计现金收入, 期末应收款
#第三步,参数赋值:
预计销售量_1月, 预计销售价格_1月, 期初应收款_1月, 现金收入比_1月 = 6000, 26, 75 000, 0.5
#第四步,输出结果:
预计销售收入_1月, 预计现金收入_1月, 期末应收款_1月 = 销售预算(预计销售量_1月, 预计销售价格_1月, 期初应收款_1月, 现金收入比_1月)
df_销售预算[′1月′] = [预计销售量_1月, 预计销售价格_1月, 预计销售收入_1月, 期初应收款_1月, 预计现金收入_1月]
#第五步,同理,传入相应参数可以得到2月、3月和1季度预算结果:
预计销售量_2月, 预计销售价格_2月, 期初应收款_2月, 现金收入比_2月 = 6000, 26, 期末應收款_1月, 0.5
预计销售收入_2月, 预计现金收入_2月, 期末应收款_2月= 销售预算(预计销售量_2月, 预计销售价格_2月, 期初应收款_2月, 现金收入比_2月)
df_销售预算[′2月′] = [预计销售量_2月, 预计销售价格_2月, 预计销售收入_2月, 期初应收款_2月, 预计现金收入_2月]
预计销售量_3月, 预计销售价格_3月, 期初应收款_3月, 现金收入比_3月 = 5000, 26, 期末应收款_2月, 0.5
预计销售收入_3月, 预计现金收入_3月, 期末应收款_3月= 销售预算(预计销售量_3月, 预计销售价格_3月, 期初应收款_3月, 现金收入比_3月)
df_销售预算[′3月′] = [预计销售量_3月, 预计销售价格_3月, 预计销售收入_3月, 期初应收款_3月, 预计现金收入_3月]
预计销售收入_1季度 = 预计销售收入_1月 + 预计销售收入_2月 +预计销售收入_3月
预计现金收入_1季度 = 预计现金收入_1月 + 预计现金收入_2月 +预计现金收入_3月
df_销售预算[′1季度′] = [17 000, 26, 预计销售收入_1季度, 75000, 预计现金收入_1季度]
三、基于Python的管理会计教学思考与展望
(一)基于Python的管理会计教学思考
通过上述探讨以及作者在厦门国家会计学院2021级硕士课堂教学的实际应用中发现, Python在管理会计教学中具有以下特征:
第一,Python中面向对象的编程语法以及对汉语的兼容使得相关程序具有较高的可读性和可理解性,规范的代码和释义使得相关程序可复制、可传递、可扩展。在实际教学过程中,首先,学生可以通过复制示例代码熟悉该技术在全面预算场景中的应用范式;其次,学生基于示例代码进行优化和扩展,加深对编程和全面预算的理解;最后,学生将该技术应用在其他全面预算项目的编制。更为深远地展望,学生在课堂中对每一个管理会计工具和方法的实例编程,均可以此为基础加以修改、完善甚至标准化封装和集成,以解决日后可能遇到的实际管理问题。
第二,Python程序可以直观地反映预算规则和不同表格相关项目的钩稽关系。正如图2所示的预算编制流程图所展示的,基于Python实现全面预算编制的关键步骤在于构建相关预算函数,以明确的规则重复执行相关计算。在销售预算等具体预算项目编制过程中,定义函数时需要学生将预算规则转化为公式,而Python语言中公式的代码接近日常用语习惯,并且直接面向对象,过程清晰而直观。此外,在编制财务预算的过程中,学生通过代码建立财务报表项目和经营预算报表项目之间的钩稽关系,相对于Excel中跨Sheet或文件通过链接建立联系,Python更为直观、痕迹可见和易于理解。因此,基于Python的教学更有利于学生理解管理会计中的运算规则和预算逻辑。
第三,基于Python进行全面预算编制的教学实践,可以有效提升学生的参与程度和学习效果。一方面,基于Excel等传统手段的课堂教学中,由于教学设施和时间限制,只能允许个别同学上讲台做预算编制展示,容易造成教师对学生掌握知识的情况了解不够充分,影响教学效果。而Python教学可以使每一位同学动手编程,充分发现问题并解决问题;另一方面,全面预算编制过程较为系统、复杂,学生在学习过程中出现的问题往往不尽相同,而Python程序强大的逻辑性要求学生正确处理每一步骤才能操作下一步,因此该教学方法可以及时发现学生问题所在,并帮助学生系统掌握全面预算的每一个环节。
但是不可忽视的是,将Python融入管理会计课堂教学也将遇到诸多问题。首先,基于Python的教学需要学生有一定的编程基础,虽然Python易学、易懂,但是仍需要一定课时为学生讲解Python基础语法和规范作为教学铺垫;其次,Python教学要求每一位学生在电脑上完成相关任务,因此对教学设施也有一定要求,还可能增加教师控制学生上课纪律的难度。可见,“Python+管理会计”仍有待进一步完善。
(二)基于Python的管理会计教学展望
在智慧财务和“业财融合”等财务转型背景下,高等院校应主动适应市场需要,探索“信息技术+会计”的教学模式,培养出能够熟练应用信息技术的复合型会计人才。
本文认为Python编程语言符合管理会计的“适应性原则”,针对不同管理要求设计个性化程序或系统,从而提升管理会计工具执行效率。在课堂教学中,“Python+管理会计”的教学方法有利于培养学生基于信息技术学习管理会計工具原理并付诸运用的能力,更为重要的是,可以将Python进一步引入管理会计实验教学,通过优化管理会计实验教学模式培养符合企业需要的管理会计应用型人才[7],利用信息技术解决管理会计实际问题的能力。因此,管理会计中尝试“Python+管理会计”教学方法将是有益探索。在财会专业学生的培养过程中,高校可尝试通过在课程体系中前置Python编程语言基础课程等方式培养学生编程基础,从而更好地实现信息技术与会计专业课程的融合教学。
参考文献:
[1]邱杰. 高校管理会计信息化教学探讨[C].中国会计学会第十三届会计信息化年会报告论文集,2014:201-207.
[2]陈晓芳,陈昕,洪荭,等.“会计学原理”课程思政建设:价值意蕴与教学实践[J]. 财会月刊,2022(3):79-87.
[3]梁亚玲. 会计信息化教学研究初探[J].财会通讯,2017(31):53-56.
[4]苏彩霞. 多媒体辅助会计教学的局限及对策[J].电化教育研究,2011(3):113-115.
[5]来华,乾惠敏,代少升. 信息技术在会计学专业实践教学中的应用[J].现代教育技术,2010,20(5):138-141.
[6]胡玉明. 管理会计应用指引详解与实务[M]. 北京:经济科学出版社,2019.
[7]胡毛利. 互联网时代管理会计实验教学探讨[J]. 当代会计,2021(20):115-117.
责任编辑:姜洪云