Bots for Finance:Cách tăng hiệu quả của Back-office thông qua tự động hóa

Đề cập đến văn phòng của tương lai có thể gợi lên hình ảnh về những cỗ máy đảm nhận các công việc lặp đi lặp lại và sử dụng nhiều lao động. Nhưng tương lai là bây giờ. Sự phát triển của các công nghệ như các ứng dụng dựa trên đám mây, cũng như nền tảng phần mềm và hệ thống hoạch định nguồn lực doanh nghiệp giúp các công ty đạt được hiệu quả hoạt động cao nhất đã biến các văn phòng tự động trở thành hiện thực.

Theo công ty tư vấn McKinsey, các bộ phận tài chính doanh nghiệp đã giảm gần 30% chi phí trong thập kỷ qua bằng cách triển khai các giải pháp tự động hóa trong các lĩnh vực như mua sắm, kế toán và trả lương. Những đổi mới này đã chuyển đổi các chức năng tài chính và loại bỏ nhiều yếu tố kém hiệu quả.

Là một nhà phân tích tài chính và nhà phát triển phần mềm, tôi đã tận dụng tối đa khả năng tự động hóa bằng cách thiết lập các bot cho các nhiệm vụ tài chính khi tôi tạo và xây dựng công ty tư vấn của riêng mình, Pylink. Nhưng nhiều văn phòng tài chính vẫn chưa làm như vậy, vì vậy họ tiếp tục dành một lượng thời gian và nguồn lực không đáng kể để thực hiện các nhiệm vụ cơ bản.

Tôi không phải là người duy nhất nhận thấy vấn đề. Công ty tư vấn PwC nhận thấy rằng các văn phòng tài chính cần nâng cao năng suất và cái nhìn sâu sắc của họ thông qua tự động hóa và cải tiến quy trình, có thể giảm chi phí ở mức hai con số cho nhiều chức năng chính. Nghiên cứu của PwC chỉ ra rằng tự động hóa có thể cắt giảm 40% thời gian mọi người dành cho báo cáo quản lý, 27% thời gian dành cho kế toán thuế và 23% giờ dành cho quản lý tín dụng, kế toán tổng hợp và thanh toán.

Deloitte đã đưa ra kết luận tương đương:Trích dẫn nghiên cứu được công bố bởi Ayehu, nó báo cáo rằng tự động hóa thông minh làm giảm chi phí quy trình kinh doanh từ 25 đến 40%. Và nghiên cứu của Gartner cho thấy rằng một công ty có 40 nhân viên kế toán toàn thời gian có thể loại bỏ hơn 870.000 đô la chi tiêu mỗi năm bằng cách tự động hóa các nhiệm vụ và loại bỏ công việc phụ để sửa lỗi của con người.

Trong bài viết này, tôi muốn chia sẻ một số chiến lược tự động hóa đơn giản mà tôi đã sử dụng cho công ty và khách hàng của mình — các bản sửa lỗi dễ dàng có thể hữu ích cho các tổ chức ở mọi quy mô.

Các giải pháp có sẵn như QuickBooks có thể hữu ích cho các tổ chức nhỏ hơn. Tuy nhiên, để tối đa hóa hiệu quả, tôi khuyên bạn nên sử dụng các ngôn ngữ lập trình như Python để tùy chỉnh xây dựng các giải pháp của bạn, bao gồm cả bot cho doanh nghiệp. Python rất trực quan và cung cấp một thư viện công cụ tiêu chuẩn lớn, cộng với quyền truy cập vào các thư viện dành riêng cho tài chính, làm cho nó linh hoạt hơn Excel.

Trong bài viết trước của tôi cho Toptal, tôi đã chỉ ra cách sử dụng Python để phát triển các mô hình dòng tiền riêng cho các công ty dễ dàng như thế nào. Tôi khuyến khích bạn đọc nó nếu bạn quan tâm đến việc học ngôn ngữ. Tuy nhiên, trong bài viết này, tôi sẽ cung cấp cho bạn cái nhìn tổng quan về các ứng dụng thực tế — từ theo dõi thời gian đến bảng lương cho đến email — nhà phát triển có thể nhanh chóng và dễ dàng triển khai cho bạn nếu bạn không muốn tự mình nghiên cứu mã.

Cách công ty của tôi sử dụng số tiền bỏ ra cho tài chính:Thanh toán dễ dàng, hiệu quả

Hãy để tôi chứng minh tự động hóa tùy chỉnh hữu ích như thế nào bằng cách hiển thị cho bạn một ví dụ từ công ty của tôi, có thể dùng như một nghiên cứu điển hình. Mặc dù là một doanh nghiệp nhỏ, nhóm của tôi tại Pylink và tôi phải đối mặt với sự phức tạp đáng kể dẫn đến những thách thức khi liên quan đến thanh toán, bao gồm những điều sau:

  • Chúng tôi thực hiện một số dự án dựa trên hợp đồng theo giờ và phải theo dõi thời gian của từng nhiệm vụ của chúng tôi.
  • Khách hàng của chúng tôi đến từ các quốc gia khác nhau và do đó thanh toán cho chúng tôi bằng nhiều loại tiền tệ.
  • Trong khi chúng tôi sử dụng nhóm kỹ sư phần mềm nội bộ trong một số dự án, chúng tôi ký hợp đồng phụ với các nhà phát triển từ các quốc gia khác.
  • Từ góc độ tối ưu hóa thuế, chúng tôi có ba công ty:một công ty ở Vương quốc Anh, một công ty ở Liên minh Châu Âu và một công ty hoạt động tự do cá nhân ở Liên minh Châu Âu.
  • Mỗi công ty của chúng tôi đều có các tài khoản ngân hàng riêng biệt bằng nhiều loại tiền tệ, bao gồm USD, EUR, GBP và HUF.
  • Chúng tôi có các chi phí thông thường — chẳng hạn như thuế, tiền lương và phúc lợi cho nhân viên toàn thời gian, không gian văn phòng, vật tư và phần mềm — bằng các đơn vị tiền tệ khác nhau.

Để phát triển một hệ thống thanh toán đáp ứng những thách thức này, tôi sử dụng (và đề xuất) các công nghệ sau để tạo một bot Python chạy trong cơ sở hạ tầng đám mây của Amazon Web Services (AWS).

  • Codebase:Python (có thể tải xuống miễn phí)
  • Dịch vụ mà mã đang chạy:AWS Lambda
    • Lambda giúp thuận tiện trong việc mở rộng quy mô thực thi mã của chúng tôi khi cần thiết.
    • Dịch vụ này chỉ có hiệu lực khi được kích hoạt. Bạn đặt mã Python của mình vào một hàm Lambda và thiết lập sự kiện kích hoạt — bất kỳ thứ gì từ lệnh thoại Alexa đến thời gian lịch đã lên lịch.
    • Vì Lambda không có máy chủ nên đây là giải pháp hiệu quả về chi phí, yêu cầu chúng tôi chỉ trả tiền cho thời gian sử dụng máy tính mà chúng tôi thực sự sử dụng.
  • Công cụ hoạt động ngân hàng:Wise API
    • API (giao diện lập trình ứng dụng) là một phần mềm trung gian cho phép hai ứng dụng giao tiếp với nhau. Wise API cho phép tôi và nhóm của tôi dễ dàng nhận được thông tin bảng sao kê và dữ liệu giao dịch lịch sử, cũng như thực hiện thanh toán tự động. Nó cũng cho phép chúng tôi theo dõi tỷ giá hối đoái tiền tệ và thực hiện các chuyển đổi tự động.
  • Trình theo dõi thời gian:Everhour + Everhour API
    • Phần mềm này cung cấp khả năng theo dõi thời gian chính xác, lập hóa đơn và lập ngân sách linh hoạt. Ngoài ra, nó tích hợp hoàn toàn với các công cụ quản lý dự án như Asana, Trello, Jira và GitHub.
  • Người gửi email:Dịch vụ Email Đơn giản của Amazon
    • Với Amazon SES, chúng tôi có một cách thích ứng và an toàn để gửi email HTML từ bên trong bất kỳ ứng dụng nào, cùng với phân tích dữ liệu để theo dõi việc gửi và trả lại.
    • Bậc sử dụng miễn phí của SES cho phép bạn gửi tối đa 62.000 tin nhắn mỗi tháng miễn phí nếu bạn kích hoạt dịch vụ từ một ứng dụng được lưu trữ trong Amazon EC2 hoặc thông qua AWS Lambda.
  • Bộ lập lịch:AWS EventBridge
    • Sử dụng công cụ này, chúng tôi có thể dễ dàng kích hoạt bot Python của mình để thực hiện các chức năng tài chính theo lịch trình hàng tháng hoặc nửa tháng.
    • Vì EventBridge, giống như Lambda, không yêu cầu máy chủ để hoạt động, nên nó làm giảm đáng kể chi phí của chúng tôi.
  • Thông báo về Slack:API Slack
    • API này gửi cảnh báo thời gian thực để thông báo cho chúng tôi về giờ làm việc của các nhà thầu và cho chúng tôi biết liệu khách hàng đã trả tiền cho chúng tôi hay chưa.
  • Giao tiếp với bot:Slack API + Cổng API Amazon
    • API Slack cho phép bot Python gửi cho chúng tôi các yêu cầu thanh toán để được phê duyệt.
    • Chỉ với một cú nhấp chuột cuối cùng, bot của chúng tôi có thể sử dụng API Gateway để tự động hoàn thành từng khoản thanh toán.
    • API Gateway cung cấp một cấp miễn phí cho phép bạn truy cập vào hơn một triệu lệnh gọi API và một triệu tin nhắn mỗi tháng trong một năm.

Dưới đây là cách tôi sử dụng các công cụ này để tự động hóa một trường hợp sử dụng đa nhiệm:trả tiền cho nhân viên, nhà thầu và bản thân tôi. Tôi sẽ cho bạn thấy toàn bộ quy trình ở cấp độ cao trước khi đi sâu vào các phương pháp tự động hóa phổ biến nhất.

Bây giờ chúng ta hãy đi qua các bước:

  1. Vào ngày đầu tiên hàng tháng, chúng tôi sử dụng AWS EventBridge để kích hoạt bot Python được lưu trữ trong AWS Lambda.
  2. Bằng cách sử dụng API Everhour, bot sẽ lấy bảng chấm công cho tất cả nhân viên, nhà thầu (nhà phát triển, trong trường hợp của Pylink) và tôi.
  3. Tiếp theo, bot tổng hợp số giờ làm việc cho mỗi dự án và tạo bảng chấm công và hóa đơn (cả hai tệp PDF). Sau đó, nó sẽ gửi những tài liệu này cho khách hàng qua email.
  4. Ngoài ra, bot thông báo cho nhóm của Pylink qua Slack về giờ làm việc của các nhà thầu. Nó cũng yêu cầu quyền thanh toán cho họ bằng cách hiển thị các nút "phê duyệt" và "từ chối".
  5. Nếu ai đó từ nhóm quản lý của Pylink chấp thuận yêu cầu, bot sẽ gửi một thông báo đến API của riêng chúng tôi (một URL công khai luôn có sẵn) thông qua AWS API Gateway, thực thi một mã khác trong một hàm Lambda để thực hiện chuyển.
  6. Hàm Lambda thứ hai sử dụng API Wise để thực hiện thanh toán.
  7. Vào ngày 14 hàng tháng, chúng tôi lại sử dụng EventBridge để lên lịch chạy các chức năng tiếp theo khác. Nhưng lần này, EventBridge kích hoạt một mã khác được lưu trong một hàm Lambda khác.
  8. Mã này sử dụng API Wise để theo dõi các giao dịch trong hai tuần qua và kiểm tra xem khách hàng đã thanh toán chưa.
  9. Nếu đã có khoản thanh toán từ khách hàng, bot sẽ gửi xác nhận Slack đến nhóm Pylink thông qua API Slack. Nếu chưa có khoản thanh toán, bot sẽ gửi email đến khách hàng bằng cách sử dụng dịch vụ Amazon SES.

Trước đây, tất cả các công việc này đều được thực hiện thủ công, tiêu tốn thời gian và sức lực quý báu mà giờ đây có thể dành cho những nơi khác. Hơn hết, chúng tôi có thể thiết lập quy trình này mà không cần đầu tư nhiều về thời gian hoặc tiền bạc.

Bạn có thể làm gì với tự động hóa

Bây giờ chúng ta hãy xem xét một số ứng dụng thực tế nhất cho tự động hóa, bằng cách sử dụng các công cụ mà tôi đã thảo luận. Để bạn tham khảo, tôi sẽ bao gồm một số ví dụ mã hóa làm tài nguyên cho các nhà phát triển nội bộ, hợp đồng hoặc tự do của bạn — hoặc cho chính bạn, nếu bạn chọn học Python để hỗ trợ công việc của công ty hoặc khách hàng của bạn.

Theo dõi Giờ làm việc và Dự án

Vào cuối mỗi tháng, bot (sử dụng Everhour) chạy chức năng “close_the_month” để thu thập tất cả số giờ đã dành cho các bài tập khác nhau:

  • Giờ của tôi về các dự án tư vấn của tôi (doanh thu)
  • Giờ của nhà phát triển trong các dự án của khách hàng (cả doanh thu và chi phí)
  • Giờ của các nhà phát triển trong việc phát triển phần mềm của riêng chúng tôi (chi phí)

Sau đây là một hàm đơn giản trả về một Pandas DataFrame, tức là một bảng có các hàng và cột, bao gồm tất cả các giờ và dự án trong một khoảng thời gian cho một người dùng nhất định. Xin lưu ý rằng, như đã đề cập trước đó, phần này và tất cả các đoạn trích mã hóa tiếp theo chỉ là điểm nổi bật của toàn bộ cơ sở mã, không phải là hướng dẫn từng bước để xây dựng bot của chúng tôi.

Tạo Bảng chấm công và Hóa đơn PDF

Với số giờ dự án của mỗi công nhân được tự động theo dõi, nhiệm vụ tiếp theo là tạo bảng chấm công và hóa đơn. Có nhiều gói Python cho phép bạn tạo tệp PDF. Chúng tôi sử dụng PyFPDF, một thư viện tạo tài liệu nhỏ gọn cung cấp sự đơn giản cũng như tính linh hoạt để vẽ các hình dạng, thêm hình ảnh và văn bản. Như bạn có thể thấy từ ví dụ sau, nó tạo ra một hóa đơn sạch sẽ và chuyên nghiệp:

Mặc dù có nhiều phương pháp nâng cao hơn để tạo báo cáo, nhưng PDF là một lựa chọn tốt vì đây là định dạng phổ biến được sử dụng trong tất cả các ngành và rất dễ tạo. Nó cũng cho phép gửi tệp cho bất kỳ ai trong khi đảm bảo rằng tất cả các phông chữ, hình ảnh, bảng và định dạng sẽ được chuyển. Ngoài ra, nó hoạt động độc lập với phần cứng máy tính và hệ điều hành của bạn và có thể được sử dụng ngoại tuyến.

Gửi email

Amazon Simple Email Service là một công cụ hiệu quả về chi phí và có thể mở rộng để tạo và triển khai các email HTML được định dạng độc đáo. Hơn nữa, phân tích dữ liệu của SES theo dõi và chia sẻ thông tin về kết quả của vòng phản hồi để thông báo cho bạn nếu bất kỳ người nhận nào báo cáo thư của bạn là spam, do nhầm lẫn hoặc do email được gửi đến sai địa chỉ. Số liệu phân tích cũng đo lường hiệu quả của mỗi giao tiếp về mức độ tương tác, bao gồm cả tỷ lệ mở và nhấp qua. Tính năng này đặc biệt hữu ích cho các email tiếp thị.

Dưới đây là một ví dụ về mã Python được sử dụng để tạo email có hóa đơn đính kèm và gửi cho khách hàng:

Và đây là email mà nó tạo ra:

Tự động hóa Hoạt động Ngân hàng

Chúng tôi chọn Wise cho tài khoản ngân hàng cá nhân và doanh nghiệp vì chúng tôi có thu nhập và chi phí bằng nhiều loại tiền tệ và công ty công nghệ tài chính này có phí trao đổi ưu đãi, giao diện người dùng trực quan và API linh hoạt với tài liệu chi tiết.

Chúng tôi sử dụng API này để thực hiện các tác vụ sau:

  • Thu thập thông tin sao kê cho từng công ty và đơn vị tiền tệ để tôi có thể nhanh chóng xem tổng hợp và thanh khoản thực tế.
  • Trích xuất thông tin giao dịch lịch sử để tôi có thể xác định xu hướng trong các khoản mục chi phí khác nhau cũng như kiểm tra xem khách hàng đã thanh toán hóa đơn của tháng trước hay chưa. Nếu không, API sẽ gửi một email nhắc nhở.
  • Thực hiện chuyển tiền tự động.

Dưới đây là mã chúng tôi đã lập trình để hoàn thành nhiệm vụ đầu tiên trong số các tác vụ này (thu thập thông tin sao kê):

Đối với các chi phí cố định thường xuyên (tiền lương, thuế, chi phí văn phòng, v.v.), bạn không cần phải viết mã để thực hiện chuyển khoản tự động; Wise có tính năng thanh toán theo lịch trình. Tuy nhiên, nếu số tiền không cố định mà dựa trên công thức mà một thuật toán có thể tính toán, thì Wise API rất hữu ích. Trong trường hợp của tôi, lương của cố vấn kinh doanh là một ví dụ đáng chú ý vì nó là một hàm của doanh thu hàng tháng. Bằng cách kiểm tra số giờ được theo dõi, bot biết chính xác chúng tôi có bao nhiêu doanh thu và do đó phải trả bao nhiêu cho cố vấn.

>

Điều quan trọng là phải biết hoạt động của bot vì có thể có các lỗi mã hóa không được tiết lộ trong quá trình thử nghiệm. Chúng tôi nhận được thông báo theo thời gian thực trên Slack, vì vậy chúng tôi có thể sửa chữa mọi mã bị hỏng ngay lập tức. Dưới đây là một số ví dụ về thông báo cho chúng tôi biết bot đang hoạt động bình thường:

Chúng tôi cũng cho phép bot gửi câu hỏi xác nhận cho nhóm Pylink trước mỗi lần chuyển khoản. Điều này giúp chúng ta tránh được những sai lầm do lỗi của con người. Hãy tưởng tượng một nhà phát triển mắc lỗi đánh máy và nhập 825 giờ thay vì 8,25 giờ cho một vé. Một bước phê duyệt trong Slack đảm bảo rằng chúng tôi không chuyển số tiền gấp trăm lần số tiền chúng tôi nợ. Quy trình giữ lại yếu tố xác minh của con người nhưng mang lại trải nghiệm liền mạch.

Có rất nhiều chức năng khác mà bạn có thể đạt được với API Slack.

Văn phòng của Ngày mai

Tự động hóa kinh doanh có thể giúp các tổ chức phát triển mạnh mẽ. Các công cụ mà tôi đã thảo luận có thể chuyển đổi các công ty cần hiệu quả và kiểm soát cao hơn, đặc biệt khi nói đến các chức năng giao dịch như khoản phải trả, khoản phải thu và các lĩnh vực kế toán cốt lõi khác.

Nhưng đây không phải là kết thúc của câu chuyện. Theo McKinsey, thách thức đối với các nhà lãnh đạo doanh nghiệp là tạo ra một mạng lưới rộng lớn hơn nữa để đạt được hiệu quả mới. Công ty hỗ trợ hình dung lại toàn bộ hoạt động tài chính, vượt ra ngoài các nhiệm vụ chỉ giao dịch bằng cách dẫn đầu trong các lĩnh vực như phân tích dữ liệu — hợp nhất, đơn giản hóa và kiểm soát thông tin trong toàn công ty. Tôi không thể đồng ý hơn. Tôi khuyên bạn nên khám phá các giải pháp mã hóa giúp tổ chức của bạn sở hữu câu trả lời và nâng cao văn hóa định hướng kết quả. Trong thời gian chờ đợi, việc áp dụng các chiến thuật mà tôi đã mô tả ở đây có thể giúp công ty của bạn trở nên hiệu quả hơn hôm nay — đồng thời mang đến cho bạn những khả năng của ngày mai.


Tài chính doanh nghiệp
  1. Kế toán
  2. Chiến lược kinh doanh
  3. Việc kinh doanh
  4. Quản trị quan hệ khách hàng
  5. tài chính
  6. Quản lý chứng khoán
  7. Tài chính cá nhân
  8. đầu tư
  9. Tài chính doanh nghiệp
  10. ngân sách
  11. Tiết kiệm
  12. bảo hiểm
  13. món nợ
  14. về hưu