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

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

По данным консалтинговой фирмы 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).

  • Codebase: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, т. е. таблицу со строками и столбцами, включая все часы и проекты за определенный период времени для данного пользователя. Обратите внимание, что, как упоминалось ранее, этот и все последующие фрагменты кода являются лишь основными моментами всей кодовой базы, а не пошаговым руководством по созданию нашего бота.

Создание расписания и счета в формате PDF

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

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

Отправка электронных писем

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Корпоративное финансирование
  1. Бухгалтерский учет
  2. Бизнес стратегия
  3. Бизнес
  4. Управление взаимоотношениями с клиентами
  5. финансы
  6. Управление запасами
  7. Личные финансы
  8. вкладывать деньги
  9. Корпоративное финансирование
  10. бюджет
  11. Экономия
  12. страхование
  13. долг
  14. выходить на пенсию