Боты для финансов: как повысить эффективность бэк-офиса за счет автоматизации

Опубликовано: 2022-07-22

Упоминание об офисе будущего может вызвать в воображении образ машин, выполняющих повторяющиеся и трудоемкие задачи. Но это будущее уже сейчас. Благодаря развитию таких технологий, как облачные приложения, а также программные платформы и системы планирования ресурсов предприятия, которые помогают компаниям достигать максимальной операционной эффективности, автоматизированные офисы стали реальностью.

По данным консалтинговой фирмы McKinsey, отделы корпоративных финансов за последнее десятилетие сократили расходы почти на 30% за счет внедрения решений по автоматизации в таких областях, как закупки, бухгалтерский учет и расчет заработной платы. Эти инновации преобразовали финансовые функции и устранили многие недостатки.

Как финансовый аналитик и разработчик программного обеспечения, я в полной мере воспользовался преимуществами автоматизации, настроив ботов для выполнения финансовых задач, когда создал свою собственную консалтинговую фирму Pylink. Но многие финансовые отделы до сих пор этого не сделали, поэтому они продолжают тратить чрезмерное количество времени и ресурсов на выполнение основных задач.

Я не единственный, кто заметил проблему. Консалтинговая фирма PwC обнаружила, что финансовые отделы должны повысить свою производительность и понимание за счет автоматизации и улучшения процессов, что может снизить затраты на многие ключевые функции на двузначные проценты. Исследование PwC показывает, что автоматизация может сократить 40% времени, затрачиваемого людьми на управленческую отчетность, 27% времени, затрачиваемого на налоговый учет, и 23% времени, затрачиваемого на кредитное управление, общий бухгалтерский учет и выставление счетов.

Deloitte пришла к аналогичным выводам: ссылаясь на исследование, опубликованное Ayehu, сообщается, что интеллектуальная автоматизация снижает затраты на бизнес-процессы на 25–40%. А исследование Gartner показывает, что компания с 40 штатными бухгалтерами может ежегодно экономить более 870 000 долларов, автоматизируя задачи и избавляясь от дополнительной работы по устранению человеческих ошибок.

В этой статье я хотел бы поделиться некоторыми простыми стратегиями автоматизации, которые я использовал для своей компании и своих клиентов, — простые решения, которые могут быть полезны для организаций любого размера.

Готовые решения, такие как QuickBooks, могут быть полезны для небольших организаций. Однако, чтобы максимизировать эффективность, я советую использовать языки программирования, такие как Python, для создания собственных решений, включая ботов для бизнеса. Python очень интуитивно понятен и предоставляет большую стандартную библиотеку инструментов, а также доступ к финансовым библиотекам, что делает его более универсальным, чем Excel.

В моей предыдущей статье для Toptal я показал, как легко использовать Python для разработки индивидуальных моделей денежных потоков для корпораций. Я рекомендую вам прочитать это, если вы заинтересованы в изучении языка. Однако в этой статье я дам вам обзор практических приложений — от отслеживания времени до расчета заработной платы и электронной почты, — которые разработчик может быстро и легко реализовать для вас, если вы не заинтересованы в самостоятельном копании кода.

Как моя фирма использует ботов для финансирования: простые и эффективные платежи

Позвольте мне продемонстрировать, насколько полезной может быть индивидуальная автоматизация, показав вам пример из моей компании, который может служить примером. Несмотря на то, что это небольшой бизнес, моя команда в Pylink и я сталкиваемся со значительными сложностями, которые создают проблемы, когда дело доходит до платежей, в том числе следующие:

  • Мы работаем над несколькими проектами на основе почасовых контрактов и должны отслеживать время выполнения каждой из наших задач.
  • Наши клиенты из разных стран и поэтому платят нам в разных валютах.
  • Хотя в некоторых проектах мы используем собственную команду разработчиков программного обеспечения, другие мы привлекаем к субподряду разработчиков из разных стран.
  • С точки зрения налоговой оптимизации у нас есть три компании: одна в Великобритании, одна в ЕС и одна — индивидуальный фрилансер из ЕС.
  • Каждая из наших компаний имеет отдельные банковские счета в нескольких валютах, включая доллары США, евро, фунты стерлингов и венгерские форинты.
  • У нас есть регулярные расходы, такие как налоги, заработная плата и льготы для штатных сотрудников, офисные помещения и расходные материалы, а также программное обеспечение, в разных валютах.

Для разработки платежной системы, отвечающей этим требованиям, я использую (и рекомендую) следующие технологии для создания бота Python, работающего в облачной инфраструктуре Amazon Web Services (AWS).

  • Кодовая база: Python (можно загрузить бесплатно)
  • Сервис, на котором работает код: AWS Lambda
    • Lambda позволяет масштабировать выполнение кода по мере необходимости.
    • Эта служба вступает в силу только тогда, когда она активирована. Вы помещаете свой код Python в функцию Lambda и настраиваете триггерное событие — что угодно, от голосовой команды Alexa до запланированного календарного времени.
    • Поскольку Lambda не требует серверов, это экономичное решение, которое требует от нас оплаты только за реально используемое вычислительное время.
  • Инструмент для банковских операций: Wise API
    • API (интерфейс прикладного программирования) — это программный посредник, который позволяет двум приложениям взаимодействовать друг с другом. Wise API позволяет мне и моей команде легко получать информацию о выписках и исторических данных о транзакциях, а также автоматически совершать платежи. Это также позволяет нам отслеживать обменные курсы валют и выполнять автоматические преобразования.
  • Трекер времени: Everhour + API Everhour
    • Это программное обеспечение обеспечивает точное отслеживание времени и гибкие возможности выставления счетов и составления бюджета. Кроме того, он легко интегрируется с такими инструментами управления проектами, как Asana, Trello, Jira и GitHub.
  • Отправитель электронной почты: Amazon Simple Email Service
    • Благодаря Amazon SES у нас есть адаптируемый и безопасный способ отправки электронных писем в формате HTML из любого приложения, а также аналитика данных для отслеживания доставок и отказов.
    • Уровень бесплатного использования SES позволяет отправлять до 62 000 сообщений в месяц бесплатно, если вы активируете услугу из приложения, размещенного в Amazon EC2, или через AWS Lambda.
  • Планировщик: AWS EventBridge
    • Используя этот инструмент, мы можем легко заставить нашего бота Python выполнять запланированные финансовые функции ежемесячно или раз в полгода.
    • Поскольку EventBridge, как и Lambda, не требует для работы сервера, это значительно снижает наши накладные расходы.
  • Slack уведомление: Slack API
    • Этот API отправляет оповещения в режиме реального времени, чтобы информировать нас о часах наших подрядчиков и сообщать нам, заплатили ли нам клиенты.
  • Связь Slack с ботом: Slack API + Amazon API Gateway
    • Slack API позволяет боту Python отправлять нам платежные запросы на утверждение.
    • Одним щелчком мыши с нашей стороны наш бот может использовать API Gateway для автоматического завершения каждого платежа.
    • API Gateway предлагает бесплатный уровень, который дает вам доступ к более чем миллиону вызовов API и миллиону сообщений в месяц в течение года.

Вот как я использовал эти инструменты для автоматизации одного варианта многозадачности: оплата труда сотрудников, подрядчиков и себя. Я покажу вам весь процесс на высоком уровне, прежде чем погрузиться в наиболее распространенные методы автоматизации.

Блок-схема со значками показывает девятиэтапный процесс, которому Миклош следует, чтобы платить сотрудникам, разработчикам и самому себе. Полная информация представлена ​​в тексте ниже.

Теперь пройдемся по шагам:

  1. В первый день каждого месяца мы используем AWS EventBridge для запуска бота Python, который хранится в AWS Lambda.
  2. Используя API Everhour, бот извлекает расписания для всех сотрудников, подрядчиков (разработчиков, в случае Pylink) и меня.
  3. Затем бот суммирует отработанные часы для каждого проекта и создает табель учета рабочего времени и счет (оба в формате PDF). Затем он отправляет эти документы клиентам по электронной почте.
  4. Кроме того, бот уведомляет команду Pylink через Slack о часах работы подрядчиков. Он также запрашивает разрешение на их оплату, представляя кнопки «одобрить» и «отклонить».
  5. Если кто-то из команды управления Pylink одобряет запрос, бот отправляет сообщение в наш собственный API (всегда доступный общедоступный URL-адрес) через AWS API Gateway, который выполняет другой код в функции Lambda для выполнения передачи.
  6. Вторая функция Lambda использует Wise API для совершения платежа.
  7. 14-го числа каждого месяца мы снова используем EventBridge, чтобы запланировать еще один запуск дополнительных функций. Но на этот раз EventBridge запускает другой код, сохраненный в другой функции Lambda.
  8. Этот код использует Wise API для отслеживания транзакций за последние две недели и проверки того, заплатил ли клиент.
  9. Если от клиента поступил платеж, бот отправляет Slack-подтверждение команде Pylink через Slack API. Если платежа не было, бот отправляет электронное письмо клиенту с помощью сервиса Amazon SES.

Раньше все эти задачи выполнялись вручную, что отнимало драгоценное время и энергию, которые теперь можно потратить на что-то другое. Лучше всего то, что мы смогли наладить этот процесс без больших затрат времени и денег.

Что вы можете сделать с помощью автоматизации

Теперь давайте рассмотрим некоторые из наиболее практичных приложений для автоматизации, используя инструменты, которые я уже обсуждал. Для справки я включу несколько примеров кодирования в качестве ресурса для ваших штатных, контрактных или внештатных разработчиков — или для себя, если вы решите изучить Python, чтобы помочь в работе вашей компании или клиента.

Отслеживание рабочего времени и проектов

В конце каждого месяца бот (используя Everhour) запускает функцию close_the_month, которая собирает все часы, потраченные на разные задания:

  • Количество часов, потраченных на мои консультационные проекты (доход)
  • Часы работы разработчиков на проектах клиента (как выручка, так и стоимость)
  • Часы разработчиков на собственную разработку ПО (стоимость)

Далее следует простая функция, которая возвращает Pandas DataFrame, т. е. таблицу со строками и столбцами, включая все часы и проекты за определенный период времени для данного пользователя. Обратите внимание, что, как упоминалось ранее, этот и все последующие фрагменты кода являются лишь основными моментами всей кодовой базы, а не пошаговым руководством по созданию нашего бота.

Снимок экрана, показывающий пример кода Python, написанного для выполнения функции close_the_month. Он отображает язык и синтаксис, которые использовал автор, построчно.

Создание табеля учета рабочего времени и счета в формате PDF

После автоматического отслеживания рабочего времени каждого работника следующей задачей является создание табелей учета рабочего времени и счетов. Существует множество пакетов Python, позволяющих создавать PDF-файлы. Мы используем PyFPDF, компактную библиотеку для создания документов, которая предлагает простоту и гибкость для рисования фигур и добавления изображений и текста. Как видно из следующего примера, это дает чистый и профессиональный счет:

Показан счет от Pylink. Он гласит: «Счет выставлен Watchclever Ltd», клиенту, и содержит дату выставления счета, срок оплаты, период, за который выставляется счет, и тип платежа (банковский перевод). Также отображаются часы работы каждого из четырех консультантов и общее количество часов, равное 45,7.

Несмотря на то, что существуют более продвинутые методы создания отчетов, PDF является хорошим выбором, поскольку это универсальный формат, используемый во всех отраслях, и его легко создавать. Он также позволяет отправлять файлы кому угодно, гарантируя, что все шрифты, изображения, таблицы и форматирование будут переданы. Кроме того, он работает независимо от вашего компьютерного оборудования и операционной системы и может использоваться в автономном режиме.

Отправка писем

Amazon Simple Email Service — это экономичный и масштабируемый инструмент для создания и развертывания хорошо отформатированных электронных писем в формате HTML. Кроме того, аналитика данных SES отслеживает и обменивается информацией о результатах цикла обратной связи, чтобы уведомить вас, если кто-либо из получателей пометит ваше сообщение как спам либо по ошибке, либо из-за того, что электронное письмо было отправлено на неправильный адрес. Аналитика также измеряет эффективность каждого сообщения с точки зрения взаимодействия, включая показатели открытия и кликабельности. Эта функция особенно полезна для маркетинговых электронных писем.

Вот пример кода Python, используемого для создания электронного письма с вложенным счетом-фактурой и отправки его клиенту:

На снимке экрана показан фрагмент кода с языком и синтаксисом Python, который автор использовал для создания электронного письма, прикрепления счета и отправки его клиенту для оплаты.

И вот электронная почта, которую он создает:

Скриншот письма, созданного кодом. Счет в формате PDF прилагается. Сообщение гласит:

Автоматизация банковской деятельности

Мы выбрали Wise для частных и корпоративных банковских счетов, поскольку у нас есть доходы и расходы в нескольких валютах, а у этой финансовой технологической компании выгодные комиссии за обмен, интуитивно понятный пользовательский интерфейс и гибкий API с подробной документацией.

Мы используем этот API для решения следующих задач:

  • Собирайте отчетную информацию для каждой компании и валюты, чтобы я мог быстро увидеть совокупную и фактическую ликвидность.
  • Извлекайте информацию о прошлых транзакциях, чтобы я мог определить тенденции в различных статьях затрат, а также проверить, оплатил ли клиент счет за предыдущий месяц. Если нет, API отправляет напоминание по электронной почте.
  • Делайте денежные переводы автоматически.

Ниже приведен код, который мы запрограммировали для выполнения первой из этих задач (сбор информации об операторах):

На снимке экрана показан пример кода Python, который автор использует для получения информации о балансе для каждой из компаний Pylink.

Для регулярных фиксированных расходов (зарплата, налоги, офисные расходы и т. д.) вам не нужно писать код для автоматических переводов; Wise имеет функцию запланированных платежей. Однако, если сумма не фиксирована, а основана на формуле, которую может рассчитать алгоритм, Wise API полезен. В моем случае зарплата бизнес-консультанта является ярким примером, поскольку она зависит от ежемесячного дохода. Проверяя отслеженные часы, бот точно знает, какой у нас доход и, следовательно, сколько нужно платить советнику.

Снижение рисков за счет двустороннего общения с ботом

Крайне важно быть в курсе активности бота, так как могут быть ошибки в коде, которые не обнаруживаются во время тестирования. Мы получаем уведомления в режиме реального времени в Slack, поэтому можем оперативно исправить любой неработающий код. Вот несколько примеров уведомлений, которые сообщают нам, что бот работает правильно:

На этом небольшом простом изображении запечатлено сообщение Slack от бота Pylink, которое гласит: «Платеж прошел успешно!»

Следующее изображение — еще одно уведомление Slack от бота Pylink. Текст гласит: «Закрытие предыдущего месяца 01.01.2022 -- 31.01.2022» и показывает общую стоимость работы, выполненной для Watchclever Ltd. за этот период, с последующей разбивкой этой стоимости на основе часов для каждого консультанта.

Мы также разрешили боту отправлять подтверждающие вопросы команде Pylink перед каждым банковским переводом. Это помогает нам избежать ошибок из-за человеческого фактора. Представьте, что разработчик делает опечатку и вводит 825 часов вместо 8,25 часов для одного тикета. Шаг подтверждения в Slack гарантирует, что мы не переведем в сто раз больше денег, чем должны. Процесс сохраняет элемент проверки человеком, но обеспечивает беспрепятственный опыт.

Скриншот Slack-уведомления «Подтверждение платежа» от бота Pylink. В нем говорится: «Юрий отработал 43,5 часа в прошлом месяце, следовательно, должен [пробел] доллар США. Могу ли я заплатить ему?» (Сумма в долларах отредактирована.) Представлены варианты «одобрить» и «отклонить».

Есть много других функций, которые вы можете реализовать с помощью Slack API.

Офис завтрашнего дня

Автоматизация бизнеса может помочь организациям процветать. Инструменты, о которых я говорил, могут преобразовать компании, нуждающиеся в большей эффективности и контроле, особенно когда речь идет о транзакционных функциях, таких как кредиторская и дебиторская задолженность, и других основных областях учета.

Но это не конец истории. Согласно McKinsey, задача корпоративных лидеров состоит в том, чтобы забросить еще более широкую сеть для повышения эффективности. Фирма поддерживает переосмысление всей финансовой операции, выходя за рамки только транзакционных задач, лидируя в таких областях, как анализ данных, консолидируя, упрощая и контролируя информацию по всей корпорации. Я не мог не согласиться. Я рекомендую вам изучить решения для кодирования, которые помогут вашей организации владеть своими ответами и продвигать свою культуру, ориентированную на результат. Тем временем применение тактики, описанной здесь, может помочь вашей компании стать более эффективной уже сегодня, а также даст вам представление о возможностях завтрашнего дня.