Отчеты, документы и прочая бюрократия кажутся непосвященным людям излишками прошлого. Но настоящий бизнес не может существовать без цифр и бумажек. В них находится всё: от точек развития до банкротства.
На фоне обилия аналитических систем на рынке, предприниматели становятся всё более зависимыми от автоматизации и обработки материалов из различных источников.
NooSoft разработал специальный парсер писем из e-mail, и сейчас мы расскажем, зачем он бизнесу.
Для автоматизации многие компании используют отдельные программы для ведения бухгалтерии. В них отслеживают доходы и расходы, управляют счетами, готовят документы для налоговой и делают множество других полезных функций.
А при чём тут парсеры? При том, что в NooSoft пришел запрос:
“Моя компания N регулярно получает на почту отчеты от брокеров и финансовых организаций. Они содержат документы о проведенных транзакциях, операциях с акциями и инвестиционных доходах. Нужно автоматизировать их выгрузку из Google почты и загрузку в QuickBooks”.
“Интересная задача!” — подумали мы. NooSoft любит проекты, когда нужно реализовать сервисы для решения конкретных сложностей. В нашем случае это:
Команда уточнила у клиента все требования к проекту. Чтобы не пугать вас здесь большим ТЗ, приведем краткий план разработки:
Конечно, всем бы хотелось, чтобы результат появлялся мгновенно. Но такие чудеса случаются только в сказках.
Каждый этап разработки парсера — от анализа HTML-структуры до создания удобных BAT-файлов — обеспечивал стабильную и быструю работу. Вот как NooSoft подошел к решению задачи и воплотил проект в жизнь.
Этап 1. Анализ задачи и выбор инструментов
Первым шагом стал подбор подходящих инструментов. Поскольку отчеты поступают в виде HTML-писем, а парсер должен работать как локальное CLI-приложение, в качестве языка разработки мы выбрали Python. Решение обусловлено его простотой установки и широкой поддержкой на устройствах.
Для парсинга HTML-структуры была использована библиотека BeautifulSoup4. Она удобно извлекает различные элементы. С её помощью мы сможем эффективно получать нужную информацию из сводок.
Этап 2. Разбор HTML-писем и выделение полезных данных
Финансовые отчеты содержат множество полей, разбросанных по разным частям HTML-документа. Чтобы парсить только необходимые сведения, команда изучила структуру и выявила закономерности.
Сначала реализовали функционал загрузки и чтения HTML-файлов, а затем — выборку конкретных материалов. Используя регулярные выражения, мы смогли находить HTML-теги и классы для получения требуемых финансовых показателей.
Этап 3. Создание алгоритма для обработки таблиц
Многие характеристики представлены в виде таблиц. Для их корректного извлечения мы разработали специальный алгоритм.
Он проходит по всем элементам таблицы и последовательно собирает данные по каждому столбцу. Такой метод предотвращает получение лишних показателей.
Этап 4. Конвертация в Excel
После успешного парсинга, материалы были готовы к сохранению. Следующим шагом для команды стала задача по записи информации в Excel, чтобы подготовить её для использования в QuickBooks.
Мы разработали автоматизированный процесс создания Excel-файлов с уникальными именами в формате даты, например, 2024-10-24_14-30. Отчеты переносились в заранее определенные столбцы, упрощая дальнейшую загрузку в бухгалтерскую систему.
Этап 5. Формат IIF для QuickBooks
Формат IIF — это стандарт QuickBooks с точным соблюдением структуры.
Для решения задачи был разработан дополнительный модуль. Он отвечает за преобразование собранной информации в IIF перед загрузкой в систему. Модуль гарантирует, что все поля будут соответствовать условиям QuickBooks. И пользователю не придется беспокоиться о несовпадениях и ошибках.
Этап 6. Обратная связь и статус выполнения в консоли
Приложение было разработано как консольное, поскольку клиент предпочел локальную десктоп-версию без подключения к сети для защиты своих данных.
Для удобства работы и контроля на каждом этапе добавлены сообщения в консоль. Пользователь видит статус с момента запуска парсинга и до успешной записи в файл. Если нужных писем для обработки нет, программа сообщает об этом. В случае успешного завершения выводится подтверждающее уведомление.
Такая обратная связь позволяет отслеживать процесс и оперативно реагировать на любые возможные ошибки.
Этап 7. Создание вспомогательных BAT-файлов для автоматизации
Для простой работы с приложением были созданы BAT-файлы. Они содержат команды для автоматического выполнения операций в консоли Windows.
Один из них автоматически устанавливает все необходимые зависимости для запуска программы, а другой начинает парсинг писем, находящихся в заданной папке.
Пользователь может активировать процесс несколькими кликами, не прибегая к установке лишнего софта.
Внедрение локального парсера обеспечило высокий уровень защиты для клиента. Приложение не передает информацию через сеть, исключая риск утечек, связанных с использованием облачных сервисов.
Парсинг сэкономил время и ресурсы. Раньше отчеты требовали ручной обработки. Теперь они загружаются в QuickBooks значительно быстрее.
Также удалось минимизировать ошибки и сохранить достоверность финансовых данных. Программа автоматически извлекает нужные показатели, следуя установленной структуре, что критично при работе с бухгалтерией.
Для удобства были добавлены BAT-файлы. Локальное консольное приложение не требует отдельной установки и в нем легко отслеживать основные шаги. Весь процесс прозрачен и прост.
Хранение реализовано на системе датированных Excel-файлов, что упрощает организацию и доступ к данным. Автоматическая датировка файлов помогает быстро находить нужные документы, облегчая учет.
Теперь клиент может обрабатывать материалы с высоким уровнем защиты, сокращая свои расходы и автоматизируя задачи.
Автообработка писем — ключ к эффективности в современной компании, прежде всего, если речь идет о больших объемах информации. Наш проект по созданию парсера для финансовых отчетов показал, как можно сократить обработку, снизить количество ошибок и обеспечить удобную интеграцию с бухгалтерскими системами.
Решение оказалось практичным и надежным, предоставив заказчику инструмент, который оптимизировал задачи и освободил время для более важных дел. Проект иллюстрирует, насколько полезно внедрение программных инструментов для улучшения повседневных операций, особенно при высоких требованиях к точности и скорости.
Автоматизация таких процессов — перспективное направление для компаний любого размера. Оно помогает повысить качество работы и поддерживает развитие бизнеса, позволяя команде сосредоточиться на стратегических целях.