金融机器人:如何通过自动化提高后台效率

提到未来办公室,人们可能会联想到机器接管重复性劳动密集型任务的画面。但是未来就是现在。基于云的应用程序等技术的发展,以及帮助公司实现最高运营效率的软件平台和企业资源规划系统的发展,使自动化办公室成为现实。

据咨询公司麦肯锡称,在过去十年中,企业财务部门通过在采购、会计和薪资等领域实施自动化解决方案,已将成本降低了近30%。这些创新改变了财务职能,消除了许多低效问题。

作为一名财务分析师和软件开发人员,我在创建和建立自己的咨询公司Pylink时,通过为财务任务设置机器人充分利用了自动化。但许多财务办公室仍然没有做到这一点,因此他们继续花费过多的时间和资源来执行基本任务。

我不是唯一注意到这个问题的人。咨询公司普华永道(PwC)发现,财务部门需要通过自动化和流程改进来提高生产力和洞察力,这可以将许多关键职能的成本降低两位数。普华永道的研究表明,自动化可以减少人们花费在管理报告上的40%的时间,花费在税务会计上的27%的时间,以及花费在信用管理、一般会计和计费上的23%的时间。

德勤也得出了类似的结论:引用Ayehu发布的研究报告称,智能自动化将业务流程成本降低了25%至40%。Gartner的研究表明,一家拥有40名全职会计人员的公司通过自动化任务和消除修复人为错误的额外工作,每年可以节省超过87万美元的支出。

在本文中,我想分享一些我为我的公司和客户使用的简单自动化策略——这些简单的修复方法对任何规模的组织都有用。

QuickBooks等现成的解决方案对较小的组织很有帮助。然而,为了最大限度地提高效率,我建议使用Python等编程语言来定制您的解决方案,包括用于业务的机器人。Python非常直观,并提供了一个大型标准工具库,加上对金融专用库的访问,使其比Excel更加通用。

在我之前为Toptal撰写的文章中,我展示了使用Python为企业开发定制的现金流模型是多么容易。如果你对学习这门语言感兴趣,我鼓励你去读一读。然而,在本文中,我将向您概述实际应用程序—从时间跟踪到工资单到电子邮件—如果您对自己钻研代码不感兴趣,开发人员可以快速轻松地为您实现这些应用程序。

我的公司如何利用机器人进行融资:简单高效的支付

让我通过展示我公司的一个例子来说明定制自动化有多有用,这个例子可以作为一个案例研究。尽管是一家小企业,但我和我的Pylink团队在支付方面面临着相当大的复杂性挑战,包括:

  • 我们在几个基于小时合同的项目上工作,并且必须跟踪我们每个任务的时间。
  • 我们的客户来自不同的国家,因此以多种货币支付给我们。
  • 虽然我们在一些项目上使用内部软件工程团队,但我们将其他项目分包给来自不同国家的开发人员。
  • 从税务优化的角度来看,我们有三家公司:一家位于英国,一家位于EU-,还有一家位于EU-的个体自由职业者。
  • 我们的每家公司都有多种货币的独立银行账户,包括美元、欧元、英镑和HUF。
  • 我们有不同货币的固定成本,如税收、全职员工的工资和福利、办公空间和用品以及软件。

为了开发一个能够应对这些挑战的支付系统,我使用(并推荐)以下技术来创建一个运行在亚马逊网络服务(AWS)云基础设施中的Python bot。

  • 代码库:Python(可免费下载)
  • 运行代码的服务:AWS Lambda
    • Lambda可以根据需要方便地扩展我们的代码执行。
    • 这项服务只有在被触发时才生效。您将Python代码放入Lambda函数并设置触发事件——从Alexa语音命令到预定日历时间的任何事情。
    • 由于Lambda是无服务器的,因此它是一种经济高效的解决方案,只需要我们为实际使用的计算时间付费。
  • 银行运营工具:Wise API
    • API(应用程序编程接口)是允许两个应用程序相互通信的软件中介。Wise API使我和我的团队能够轻松获取对账单信息和历史交易数据,并自动进行支付。它还可以让我们跟踪货币汇率并进行自动转换。
  • 时间跟踪器:Everhour + Everhour API
    • 该软件提供精确的时间跟踪和灵活的计费和预算功能。此外,它与Asana、Trello、吉拉和GitHub等项目管理工具无缝集成。
  • 电子邮件发件人:亚马逊简单电子邮件服务
    • 有了Amazon SES,我们可以在任何应用程序中发送HTML电子邮件,并通过数据分析来监控交付和退回情况。
    • SES的免费使用层允许您每月免费发送多达62,000条消息,前提是您从Amazon EC2中托管的应用程序或通过AWS Lambda激活该服务。
  • 调度程序:AWS事件桥
    • 使用这个工具,我们可以轻松地触发我们的Python bot每月或每半月执行一次预定的财务功能。
    • 因为EventBridge和Lambda一样不需要服务器来运行,所以它大大减少了我们的开销。
  • 宽松通知:宽松API
    • 该API发送实时警报,通知我们承包商的工作时间,并告诉我们客户是否已向我们付款。
  • 与机器人的Slack通信:Slack API + Amazon API网关
    • Slack API允许Python bot向我们发送付款请求以获得批准。
    • 只需在我们这边点击一下,我们的机器人就可以使用API网关自动完成每笔支付。
    • API Gateway提供了一个免费层,使您可以在一年内每月访问100多万次API调用和100多万条消息。

以下是我如何使用这些工具来自动化一个多任务用例:支付员工、承包商和我自己。在深入最常见的自动化实践之前,我将向您展示整个高层次的过程。

一个带有图标的流程图显示了米克洛向员工、开发人员和他本人支付薪酬的九个步骤。下文提供了全部细节。

现在让我们来看一下步骤:

  1. 在每个月的第一天,我们使用AWS EventBridge触发存储在AWS Lambda中的Python bot。
  2. 使用Everhour API,该机器人可以获取所有员工、承包商(在Pylink的情况下是开发人员)和我的时间表。
  3. 接下来,机器人汇总每个项目的工作时间,并创建时间表和发票(都是pdf格式)。然后它通过电子邮件将这些文档发送给客户。
  4. 此外,该机器人还通过Slack通知Pylink的团队承包商的工作时间。它还通过显示“批准”和“拒绝”按钮请求允许向他们支付费用。
  5. 如果Pylink管理团队中的某个人批准了该请求,该机器人将通过AWS API网关向我们自己的API(一个始终可用的公共URL)发送一条消息,该API网关将执行Lambda函数中的另一段代码来进行传输。
  6. 第二个Lambda函数使用Wise API进行支付。
  7. 在每个月的14号,我们再次使用EventBridge来安排后续功能的运行。但这一次,EventBridge触发了保存在另一个Lambda函数中的不同代码。
  8. 这段代码使用Wise API跟踪过去两周的交易,并检查客户是否已经付款。
  9. 如果客户已经付款,bot会通过Slack API向Pylink团队发送Slack确认。如果没有付款,机器人会使用亚马逊SES服务向客户端发送电子邮件。

以前,所有这些任务都是手动完成的,消耗了宝贵的时间和精力,而现在这些时间和精力可以花在其他地方。最重要的是,我们能够在不投入大量时间和金钱的情况下建立这一流程。

你能用自动化做什么

现在让我们看看自动化的一些最实际的应用程序,使用我已经讨论过的工具。为了供您参考,我将包括一些编码示例,作为您的内部开发人员、合同开发人员或自由职业开发人员的资源,或者作为您自己的资源,如果您选择学习Python来帮助您的公司或客户工作的话。

跟踪工作时间和项目

在每个月底,机器人(使用Everhour)运行“close_the_month”功能,收集在不同任务上花费的所有时间:

  • 我在咨询项目上的时间(收入)
  • 开发人员在客户项目上的时间(收入和成本)
  • 开发人员在我们自己的软件开发上的时间(成本)

接下来是一个简单的函数,它返回Pandas DataFrame,即一个包含行和列的表格,其中包括给定用户在一段时间内的所有时间和项目。请注意,如前所述,这一部分和所有后续的代码摘录只是整个代码库的亮点,而不是构建我们的bot的分步教程。

创建PDF时间表和发票

随着每个工人的项目时间被自动跟踪,下一个任务是创建时间表和发票。有许多Python包可以让您创建PDF文件。我们使用PyFPDF,这是一个紧凑的文档生成库,它提供了简单性以及绘制形状和添加图像和文本的灵活性。从以下示例中可以看出,它生成了一张干净、专业的发票:

显示了来自Pylink的发票。上面写着“向客户Watchclever Ltd .付款”,并给出了发票日期、到期日、开票期限和付款类型(银行转账)。它还显示了四名顾问各自的工作时间以及总计45.7小时的工作时间。

虽然有更高级的方法来创建报告,但PDF是一个不错的选择,因为它是所有行业都使用的通用格式,并且易于生成。它还允许向任何人发送文件,同时确保所有字体、图像、表格和格式都可以传输。此外,它独立于您的计算机硬件和操作系统工作,并且可以脱机使用。

发送电子邮件

Amazon Simple Email Service是一款经济高效且可扩展的工具,用于创建和部署格式良好的HTML电子邮件。此外,SES的数据分析功能会跟踪和共享反馈循环结果的相关信息,以便在任何收件人误将您的邮件报告为垃圾邮件(或者是因为电子邮件发送到了错误的地址)时通知您。这些分析还根据参与度来衡量每次沟通的有效性,包括打开率和点击率。该功能对于营销电子邮件尤其有用。

以下是用于生成附有发票的电子邮件并将其发送给客户的Python代码示例:

一个屏幕截图显示了作者用于创建电子邮件、附上发票并将其发送给客户进行付款的Python语言和语法的编码摘录。

这是它生成的电子邮件:

该代码创建的电子邮件的屏幕截图。发票的PDF文件附后。信息内容如下:

银行活动自动化

我们为私人和企业银行账户选择了Wise,因为我们有多种货币的收入和成本,而且这家金融科技公司有优惠的交易所费用、直观的用户界面和带有详细文档的灵活API。

我们使用这个API来完成以下任务:

  • 收集每家公司和每种货币的报表信息,这样我就可以快速查看总流动性和实际流动性。
  • 提取历史交易信息,这样我就可以确定不同成本项目的趋势,并检查客户是否支付了上个月的发票。如果没有,API会发送一封提醒电子邮件。
  • 自动转账。

下面是我们为完成第一项任务(收集语句信息)而编写的代码:

一个屏幕截图显示了作者用来获取每个Pylink?companies.余额信息的Python代码示例

对于固定成本(工资、税收、办公成本等)。),您不需要编写代码来进行自动转账;Wise有一个定期付款功能。但是,如果金额不是固定的,而是基于算法可以计算的公式,则Wise API是有用的。在我的案例中,业务顾问的工资是一个显著的例子,因为它是月收入的函数。通过检查跟踪的小时数,机器人确切地知道我们有多少收入,因此知道应该向顾问支付多少钱。

通过与Bot的双边对话降低风险

了解机器人的活动至关重要,因为可能存在测试期间未发现的编码错误。我们在Slack上获得实时通知,因此我们可以及时修复任何损坏的代码。下面是几个通知示例,让我们知道该bot运行正常:

这个小而简单的图像捕捉到了来自Pylink bot的一条Slack消息,上面写着:“支付成功!” 下一张图片是来自Pylink bot的另一个Slack通知。正文写道,“截止2022年1月1日至2022年1月31日的前一个月”,并显示了Watchclever Ltd .在此期间所做工作的总成本,随后是根据每位顾问的工作时间对成本进行的细分。

我们还允许机器人在每次银行转账前为Pylink团队发送确认问题。这有助于我们避免由于人为错误而导致的错误。想象一下,一个开发人员打了一个错别字,输入了825小时而不是一张票的8.25小时。Slack中的一个批准步骤可以确保我们不会转移比欠款多一百倍的资金。该流程保留了人工验证的元素,但提供了无缝体验。

来自Pylink bot的“支付确认”Slack通知的截图。上面写着:“尤里上个月工作了43.5小时;因此,【空白】美元到期。我可以付钱给他吗?”(美元金额经过编辑。)显示“批准”和“拒绝”选项。

使用Slack API还可以实现许多其他功能。

明天的办公室

业务自动化可以帮助组织蓬勃发展。我讨论的工具可以改变需要更高效率和控制的公司,尤其是在涉及应付账款、应收账款和其他核心会计领域等交易功能时。

但这并不是故事的结尾。麦肯锡认为,企业领导人面临的挑战是为新的效率撒下更大的网。该公司支持重新构想整个财务运营,通过在数据分析等领域的领先地位超越事务性任务,整合、简化和控制整个公司的信息。我非常同意。我建议您探索编码解决方案,帮助您的组织拥有自己的答案并推进其以结果为导向的文化。与此同时,采用我在这里描述的策略可以帮助您的公司今天变得更有效率——同时让您体验明天的可能性。

相关文章