Автоматическая обработка PDF заказов и счетов из почты в Power Automate — сохранение, распределение, уведомления и распознавание
· Обновлено: · Го Комура · Power Automate, Облачный поток, Outlook, SharePoint, AI Builder, Автоматизация бизнес-процессов, Электронная почта, Office, Техническая консультация
История изменений (2 обновлений, последнее 30 Aug 2026)
Журнал изменений этой статьи. Там, где версия до правки была заархивирована, она остаётся доступной для чтения по постоянной ссылке с DOI.
- Локализован пример фильтра темы письма. Утверждения статьи не менялись.
- Русский текст переписан как полноценный технический перевод, а не калька с японского. Утверждения статьи не менялись.
- Первая публикация
Цитирование статьи(DOI (зарегистрированный архив): 10.5281/zenodo.21620103)
Приведённые ниже DOI относятся к ранее зарегистрированным архивным версиям, которые могут отличаться от текущего текста. Для ссылки на текущий текст используйте URL этой страницы.
Го Комура (2026). Автоматическая обработка PDF заказов и счетов из почты в Power Automate — сохранение, распределение, уведомления и распознавание. KomuraSoft LLC. https://comcomponent.com/ru/blog/power-automate-email-attachment-automation/
- DOI (зарегистрированный архив)
- 10.5281/zenodo.21620103
- DOI (последняя зарегистрированная версия)
- 10.5281/zenodo.21620104
«Каждое утро сохранять PDF заказа из письма в общую папку и переносить данные в Excel-реестр заказов». Немало компаний, где сотрудник делает это вручную по 30 минут в день. Среди обращений по Power Automate запрос «хотим автоматизировать обработку документов, которые приходят по почте» встречается очень часто.
На вид это простая автоматизация, но на практике здесь много мелких сбоев. Сохраняются изображения из подписи — папка зарастает мусором. Поток срабатывает на посторонние письма и кладёт не то. Почему-то не обрабатываются как раз письма с крупными вложениями. Ниже по порядку: базовый поток от триггера получения до сохранения, распределения и уведомления; типичные ошибки, на которых спотыкаются в эксплуатации; стоит ли доходить до распознавания содержимого (автоматического переноса данных) через AI Builder; и пределы самого способа получать документы вложением в письмо.
1. Сначала вывод
- У триггера коннектора Office 365 Outlook «При поступлении нового сообщения электронной почты (V3)» есть встроенные условия отбора: папка, отправитель, фильтр темы, «только с вложениями» и другие. Задавайте их в триггере, а не отдельным действием «Условие» дальше по потоку.12
- Точка приёма — не личный ящик сотрудника, а общий почтовый ящик (например, order@ваш-домен). Есть отдельный триггер «При поступлении нового сообщения в общий почтовый ящик (V2)»: он работает, если у учётной записи подключения есть доступ к этому общему ящику.3
- Одного условия «есть вложения» мало: подхватываются и встроенные изображения — подписи, логотипы. Базовая защита — фильтр по свойству
Is Inlineв метаданных вложения и по расширению файла.4 - Удобная схема: библиотека документов SharePoint, запись действием «Создать файл» (Create file), уведомление о сохранении через Teams или почту.5
- Если нужно и распознавание (автоматический перенос данных), берут обработку документов AI Builder, но для неё отдельно нужны расходуемые кредиты (ёмкость), а в проект обязательно закладывают ручную проверку результатов извлечения. Лицензионная модель меняется с 2025 года — перед внедрением сверяйтесь с актуальными сведениями.67
- Вложения в ZIP с паролем (PPAP) внутри потока не распаковывают: меняют сам способ получения файлов.
На схеме сплошная линия обозначает отношение, которое выполняется всегда, а пунктирная — условное отношение (условия указаны в пояснении к каждому отношению на странице сведений). Полный список отношений (всего 18, с доказательствами и степенью уверенности) и определения основных понятий собраны на странице сведений карты знаний (на японском). Данные: JSON-LD / Turtle
2. Какой объём задачи — насколько автоматизировать «документы, которые приходят вложением в письмо»
Сначала зафиксируем форму работы, о которой эта статья.
- От контрагента приходит PDF заказа, счёта, накладной или похожего документа во вложении
- Сотрудник открывает его и сохраняет в нужное место общей папки
- Содержимое (название контрагента, сумма, позиции и т. п.) переносится в Excel или в учётную систему
- Сотрудников и заинтересованных лиц извещают, что «пришёл заказ»
Способы получать заказы выстраиваются в ряд: факс, вложение в письмо, веб-форма, EDI. Вложение в письмо проще превратить в данные, чем факс, но до структурированного обмена вроде EDI или цифрового счёта-фактуры ему далеко — это промежуточная ступень. Общая картина — в отдельной статье «Что такое EDI? Как упростить взаимные заказы между компаниями — от факса, почты и ручного ввода к обмену данными».
Если оставаться на вложениях, автоматизацией реально закрыть три уровня.
| Уровень | Что делается | Эффект | Сложность и стоимость |
|---|---|---|---|
| (1) Сохранение, распределение, уведомление | Автоматически сохранять вложенный PDF в заданную папку SharePoint и уведомлять через Teams или почту | Исчезает ежедневная работа «открыть — сохранить — сообщить». Нет пропущенных сохранений и ошибок с местом | Низкая. Собирается из стандартных коннекторов |
| (2) Распознавание (автоматический перенос данных) | Извлекать через AI Builder из PDF название контрагента, сумму, позиции и записывать в реестр или систему | Меньше ручного переноса. Точность извлечения не 100%, нужен механизм ручной проверки | Средняя. Нужны ёмкость AI Builder (кредиты) и обработка исключений |
| (3) Изменить сам способ получения | Перейти на веб-форму заказов, EDI или цифровой счёт-фактуру и сразу принимать структурированные данные | Этап распознавания становится не нужен | Высокая. Нужно согласование с контрагентами, занимает время |
Основная тема статьи — (1) и (2). Имеет смысл начать с (1): уже это даёт ежедневный эффект, а по (2) решать по соотношению затрат и результата. Пункт (3) — в главе 7.
3. Базовый поток — от триггера получения до сохранения и уведомления
Базовая схема: «триггер получения → отбор → цикл по вложениям → сохранение в SharePoint → уведомление».
flowchart TD
Start([При поступлении нового сообщения<br/>в общий почтовый ящик V2<br/>order@ваш-домен]) --> Filter[Фильтрация условиями триггера<br/>отправитель, фильтр темы, только с вложениями]
Filter --> Each[Apply to each<br/>цикл по каждому вложению]
Each --> Check{Is Inline = false<br/>и расширение .pdf ?}
Check -- Нет --> Skip[Не обрабатывать<br/>исключить изображения подписи]
Check -- Да --> Save[SharePoint: Создать файл<br/>в папку контрагент/год-месяц<br/>имя с датой и временем получения]
Save --> Notify[Публикация в канал Teams или уведомление по почте<br/>ссылка, отправитель, тема]
Notify --> End([Готово])
Save -. При сбое .-> Err[Уведомление об ошибке<br/>сообщить администратору о сбое]
Основные действия и решения по проектированию такие.
| Шаг | Триггер или действие | На что обратить внимание |
|---|---|---|
| Обнаружение письма | При поступлении нового сообщения электронной почты (V3) / При поступлении нового сообщения в общий почтовый ящик (V2) | Включите и «Только с вложениями» (Only with Attachments), и «Включить вложения» (Include Attachments). Первое пропускает письма без вложений, второе кладёт содержимое вложений в выход триггера — роли разные (альтернатива при частых крупных вложениях — в конце раздела 4.1)1 |
| Отбор | Поля триггера From / фильтр темы (Subject Filter) | Адрес отправителя и устойчивые фрагменты темы (например, Заказ) задавайте в триггере. Если пропускать всё и отсеивать действием «Условие» дальше, запуски расходуются и на посторонние письма2 |
| Отбор вложений | Apply to each + условие (Is Inline / расширение) | Для каждого вложения обрабатывать только те, у которых Is Inline равно false и имя файла заканчивается на .pdf (подробнее в следующей главе)4 |
| Сохранение | SharePoint «Создать файл» (Create file) | Указать существующую библиотеку документов и загрузить файл. Папку определять правилом вроде «контрагент/год-месяц», имя делать уникальным, включая дату и время получения5 |
| Уведомление | Teams «Опубликовать сообщение в чате или канале» / Outlook «Отправить сообщение электронной почты (V2)» | Указывать ссылку на сохранённый файл, отправителя и тему. Цель уведомления — узнать о письме, не заходя специально проверять, поэтому собирайте их в один канал ответственной команды8 |
3.1 Какие значения ставить в триггере
Условия отбора в триггере по умолчанию скрыты. На карточке триггера откройте «Показать дополнительные параметры» (Show advanced options) — появятся поля ниже. Рядом — примеры значений.12
| Параметр (англ.) | Пример значения | Пояснение |
|---|---|---|
| Адрес исходного почтового ящика | order@ваш-домен |
Только для триггера «При поступлении нового сообщения в общий почтовый ящик (V2)». У учётной записи подключения должен быть доступ к этому общему ящику3 |
| Папка (Folder) | Inbox |
Входящие. Если правила Outlook уже кладут письма в подпапку, укажите её |
| От (From) | Адрес контрагента. Несколько адресов — через точку с запятой | Если отправитель всегда один и тот же, это самый сильный фильтр |
| Фильтр темы (Subject Filter) | Заказ |
Устойчивая строка, которая всегда есть в теме. Если у контрагентов она разная — разнесите потоки или не задавайте фильтр |
| Только с вложениями (Only with Attachments) | Да | Письма без вложений поток не запускает |
| Включить вложения (Include Attachments) | Да | Содержимое вложений попадает в выход триггера. Если крупные вложения частые, можно поставить «Нет» и забирать нужные позже (конец раздела 4.1) |
«Только с вложениями» и «Включить вложения» звучат похоже, но роли разные: базовый поток не заработает, пока не включены оба. Только первое — содержимое вложений не придёт. Только второе — поток стартует и на письма без вложений.
Если папку сохранения собираете динамически, по правилу вроде «контрагент/год-месяц», наличие папки должен гарантировать сам поток. В первом письме от нового контрагента или в первом письме месяца папки ещё нет. У коннектора SharePoint есть действие «Создать новую папку» (Create new folder): оно создаёт весь путь сразу5. Шаг подготовки папки перед «Создать файл» не даёт сохранению остановиться из-за отсутствующей папки.
SharePoint вместо привычного файлового сервера выбирают потому, что в него можно писать прямо из облачного потока, уведомлять ссылкой и позже проще стыковать с AI Builder или поиском. Если файлы можно класть только на локальный файловый сервер, остаётся локальный шлюз данных (On-premises data gateway), но конфигурация тяжелее. По возможности лучше перенести хранение целиком в SharePoint.
Общий подход к обработке ошибок потока (уведомление при сбое, просмотр журнала выполнения) разобран в отдельной статье «Автоматизация бизнес-процессов с Power Automate — выбор между облачным потоком и потоком рабочего стола, проектирование обработки ошибок».
4. Подводные камни и как с ними справиться
Первый работающий поток собирается за полдня. Дальше решает, выдержит ли он эксплуатацию: закрыты ли следующие типичные сбои.
4.1 Изображения подписи и логотипа сохраняются как «вложения»
Самый частый запрос. Изображение подписи или логотип компании, встроенные в тело письма, на уровне данных — встроенные вложения. Если сохранять всё по условию «есть вложения», рядом с нужным PDF копятся файлы вроде image001.png.
В коннекторе Office 365 Outlook метаданные вложения, которые возвращают триггер и действия, содержат Id, Name, Content Type, Size и Is Inline. Их всегда можно получить, независимо от настройки «Включить вложения». Если Is Inline равно true, это встроенное вложение.4
Защита в два шага.
- Внутри Apply to each пропускать действием «Условие» только те вложения, у которых
Is Inlineравно false - Дополнительно проверять, что имя файла заканчивается на
.pdf(кроме редких случаев, когда контрагент вставляет сам документ картинкой в тело письма, этого почти всегда достаточно)
Действие «Условие» ставьте в режим «И» (And) на две строки.
| Левая часть | Оператор | Правая часть |
|---|---|---|
Динамическое содержимое Is Inline |
равно | false |
Выражение: endsWith(toLower(items('Apply_to_each')?['name']), '.pdf') |
равно | true |
items('Apply_to_each') — текущий элемент цикла Apply to each. Если цикл переименован, пробелы в имени заменяются на подчёркивания. Расширение иногда приходит в верхнем регистре, поэтому перед проверкой безопаснее вызвать toLower.
Если крупные или многочисленные вложения приходят регулярно, можно выключить в триггере «Включить вложения», отобрать нужные по метаданным и забрать только их действием «Получить вложение (V2)».1 Метаданные вложения (Is Inline, имя) доступны независимо от «Включить вложения», поэтому логика отбора в обеих схемах одна и та же.4 Триггер передаёт меньше данных: когда поток разрастётся и вложения станут тяжёлыми, имеет смысл перейти на эту схему.
4.2 Отбор писем — отдельный адрес плюс общий почтовый ящик
В личный ящик приходит и множество писем не про заказы. Как ни фильтруй по отправителю и теме, стоит контрагенту сменить формулировку — и что-то проскочит. Корневая мера: завести адрес только для приёма заказов и просить контрагентов писать туда.
Точку приёма делайте общим почтовым ящиком. Причин две.
- Вход отделяется от личного ящика сотрудника. При переводе или увольнении не исчезает весь канал приёма, и преемник не теряет прошлую переписку
- Сам общий почтовый ящик не требует отдельной лицензии — достаточно лицензии у пользователя, который к нему обращается9
Триггер — «При поступлении нового сообщения в общий почтовый ящик (V2)». Учётная запись подключения потока должна иметь доступ к этому общему ящику. После выдачи прав платформа может применять их около двух часов; адрес группы Microsoft 365 нельзя указать как общий почтовый ящик.3
Общий ящик сам по себе не снимает зависимость потока от конкретного человека. Подключение потока (вход в Outlook) остаётся привязанным к учётной записи создателя. Общим подключением можно пользоваться только внутри этого потока; один владелец не может менять учётные данные подключения, которое создал другой.10 Если учётную запись подключения отключат при увольнении, поток остановится, даже если приём идёт через общий ящик. Создавайте подключение на эксплуатационной учётной записи, которую можно отделить от планов увольнения, и сразу назначайте совладельцев: в критический момент другой владелец подставит своё подключение и поток продолжит работать.
4.3 Перезапись файлов с одним именем и дубликаты
Вложение с именем Заказ.pdf приходит снова и снова, от разных контрагентов. Если сохранять под полученным именем, столкновение одноимённых файлов неизбежно. Имя при сохранении собирайте из данных письма так, чтобы оно было уникальным. На практике схема вроде «дата и время получения (до секунды) + домен отправителя + исходное имя файла» почти исключает столкновения и упрощает сверку с исходным письмом.
В поле имени действия SharePoint «Создать файл» поставьте такое выражение.
concat(
convertFromUtc(triggerOutputs()?['body/receivedDateTime'], 'Tokyo Standard Time', 'yyyyMMdd-HHmmss'),
'_',
last(split(triggerOutputs()?['body/from'], '@')),
'_',
items('Apply_to_each')?['name']
)
Три части означают следующее.
- Дата и время получения.
receivedDateTimeприходит в UTC. Если форматировать толькоformatDateTime, японское время сдвинется на 9 часов: вечерние письма после перехода даты получат в имени вчерашнюю дату. Надёжнее передать вconvertFromUtcидентификатор часового пояса WindowsTokyo Standard Timeвторым аргументом и формат — третьим. Саму дату получения можно взять и из динамического содержимого. - Домен отправителя.
splitделит строку по@,lastберёт правую часть (домен). Берут домен, а не отображаемое имя: в отображаемом имени бывают пробелы и символы, с которыми имя файла ломается. - Исходное имя файла. Имя текущего вложения в Apply to each. Расширение уже есть,
.pdfдописывать не нужно.
В именах файлов SharePoint нельзя использовать \ / : * ? " < > |. Если подмешать в имя тему или отображаемое имя отправителя, сохранение падает в тот момент, когда попадётся один из этих символов. Безопаснее собирать имя только из значений с заранее известным форматом.
Бывает и повторная обработка того же письма — например, при ручном повторном запуске после правки потока. При именовании по дате и времени получения запись пойдёт только в одноимённый файл от того же письма: файл другого контрагента случайно не затронуть и не удалить. Вторая запись под тем же именем всё равно столкновение (перезапись это или сбой, содержимое одно и то же). Если нужно именно обнаруживать повторную обработку, включите идентификатор сообщения из выхода триггера в столбец списка назначения или в имя файла — тогда «уже обработано» можно сверять автоматически.1
4.4 Как заметить пропуски — письма, на которые триггер не сработал
Об этом часто забывают: триггер получения не всесилен. В документации прямо указаны такие ограничения.
- Письма, чей суммарный размер больше меньшего из двух значений — лимита администратора Exchange или 50 МБ, — триггер пропускает. Могут пропускаться и защищённые (зашифрованные) письма, и письма с некорректным телом или вложениями1
- При одновременном приходе большого числа писем системное ограничение изредка приводит к тому, что триггер какое-то письмо не берёт11
То есть бывают письма не «поток завершился ошибкой», а «поток вообще не запустился». Одних уведомлений об ошибках на такие пропуски не хватает. Реалистичная мера — к уведомлениям об успехе и сбое оставить периодическую ручную проверку входящих (поток пусть переносит обработанные письма в отдельную папку: всё, что осталось во входящих, явно необработанное).
Для переноса используйте действие коннектора Office 365 Outlook «Переместить сообщение электронной почты (Move email (V2))».12 Ставьте его сразу после уведомления и переносите письмо в папку «Обработано» общего ящика. Действие «Пометить как прочитанное или непрочитанное (Mark as read or unread (V3))» тоже показывает статус, но прочитанные письма остаются во входящих. Если нужно состояние «во входящих = ещё не обработано», надёжнее именно перенос. Папка назначения не должна быть той, за которой следит триггер (обычно входящие). Перенос в отслеживаемую папку может снова считаться новым письмом и запустить поток повторно. Предельный размер самого письма задаётся в Exchange Online: по умолчанию для входящих — 36 МБ, администратор может выставить от 1 до 150 МБ. Для контрагентов с крупными вложениями имеет смысл другой способ передачи — например, ссылка на общий файл, о которой ниже.13
5. Доходить ли до распознавания (автоматического переноса данных) — обработка документов в AI Builder
Когда сохранение и уведомления заработали, следующим желанием обычно становится «дочитать PDF и записать в реестр». Здесь нужна обработка документов AI Builder.
5.1 Предварительно созданная модель и настраиваемая модель
В AI Builder есть предварительно созданная модель обработки счетов. Общие поля — номер счёта, дата выставления, срок оплаты, название контрагента, итоговая сумма, строки позиций — извлекаются без обучения модели; среди поддерживаемых языков есть японский. На вход — JPEG/PNG/PDF, размер файла до 20 МБ.14
Если макет меняется от компании к компании (заказы) или из счёта нужны поля сверх стандартных (внутренний номер учёта), создают настраиваемую модель обработки документов. Выбирают один из трёх типов — «документ с фиксированным шаблоном», «общий документ», «счёт (расширение предварительно созданной модели)», — собирают документы с одним макетом в коллекцию, загружают не меньше пяти образцов на коллекцию и обучают модель, разметив тегами поля и таблицы, которые нужно извлечь.15
Встроить любую из моделей в поток просто: для модели счетов — действие «Извлечь сведения из счетов», для настраиваемой — «Обработать документы». В обоих случаях достаточно передать содержимое PDF, сохранённого в SharePoint.168
5.2 Точность и исключения — направлять на ручную проверку по оценке достоверности
Главное в автоматизации распознавания — проектировать исходя из того, что «извлечение может ошибаться». К результатам AI Builder для каждого поля прилагается оценка достоверности (confidence score) от 0 до 1. На практике по ней ветвят поток.16
- Оценка высокая (например, 0,9 и выше) → сразу писать в реестр, уведомление — «обработано автоматически»
- Оценка низкая → писать в реестр с пометкой «требует проверки» и сообщать сотруднику: «проверьте это поле»
Порог 0,9 — только пример записи, не универсальное значение. Порог задают по своим документам, в четыре шага.
- Прогнать без порога. Возьмите 20–50 документов тех же контрагентов и тех же макетов, что в бою, и прочитайте все без ветвления. Значения извлечения и оценки достоверности сразу выгрузите в список SharePoint или в Excel.
- Сверить с эталоном. По одному просмотрите глазами, для каждого поля найдите максимальную оценку среди ошибочных извлечений. Нижняя граница порога — чуть выше этого максимума.
- Задавать порог по полям. Сумма и номер счёта, ошибка в которых бьёт по следующим этапам, — выше; примечание, которое можно поправить позже, — ниже. Один порог на все поля обязательно где-то неудобен.
- Пересматривать после запуска. Записывайте, сколько ушло «на проверку» и сколько из них реально правили, и раз в квартал смотрите на цифры. Слишком много «на проверку» — добавьте обучающие образцы. Почти нет «на проверку», но ошибки проскакивают — поднимите порог.
В документации Microsoft есть пример, где предварительно созданную модель сочетают с настраиваемой и при низкой оценке достоверности переключаются на другую.14 Схема «если машина прочитала всё — хорошо, вручную смотрят только то, что не удалось» снимает погоню за 100% и сильно снижает порог внедрения.
5.3 Лицензии и кредиты — без предварительной проверки нельзя
Каждый запуск действия AI Builder тратит расходуемую ёмкость. Раньше её называли кредитами AI Builder: надстройка ёмкости AI Builder (1 млн кредитов в месяц на надстройку) и небольшая порция в Premium-лицензиях вроде Power Automate Premium (5000 кредитов). Кредиты собираются в пул на уровне тенанта и выделяются средам. Если среде ёмкость не выделена, поток останавливается с ошибкой вроде NoCapacity.6
На момент написания статьи (июль 2026 года) эта модель в переходном периоде. В октябре 2025 года объявили поэтапный отказ от кредитов AI Builder: начальные (seed) кредиты в Premium-лицензиях заканчиваются 1 ноября 2026 года, новым клиентам надстройку ёмкости AI Builder уже не купить — покупают кредиты Copilot. Функции AI Builder по-прежнему работают на кредитах Copilot, но в облачном потоке сначала расходуются кредиты AI Builder, а когда они кончаются — кредиты Copilot.717
Итого: «если доходить до распознавания, будет отдельная стоимость. Сама модель оплаты в июле 2026 года как раз меняется». Если вы читаете это после даты окончания начальных кредитов (1 ноября 2026 года), исходные условия, скорее всего, уже другие — сверяйтесь с первоисточником. Ориентиры для решения о внедрении:
| Ситуация | Решение |
|---|---|
| Документов в месяц мало, перенос занимает несколько минут | Распознавание отложить, достаточно сохранения и уведомления (глава 3) |
| В основном счета, объём большой, перенос нагружает | Начать с предварительно созданной модели обработки счетов. Обучение не нужно, точность видно сразу14 |
| В основном документы с собственным макетом, например заказы | Настраиваемая модель обработки документов. Чем больше видов макетов, тем выше затраты на обучение и сопровождение15 |
| Хочется гнать результаты извлечения без человека прямо в учётную систему | Не рекомендуется. Обязательно вставьте ветвление на ручную проверку по оценке достоверности |
| Много контрагентов, число макетов всё растёт | Прежде чем выгореть на сопровождении распознавания, рассмотрите смену самого способа получения (глава 7) |
6. Если приходит ZIP с паролем (PPAP) — это не задача для потока
Вопрос «вложения приходят ZIP с паролем — может ли поток их распаковать?» тоже задают регулярно. Короткий ответ: не пытайтесь решать это внутри потока.
ZIP с паролем держится на том, что пароль приходит отдельным письмом, человек его читает и вводит вручную. И момент отправки пароля, и формат целиком зависят от отправителя — это не схема для машины. Если силой автоматизировать этот шаг, придётся держать разбор писем с паролями и хранение паролей — инфраструктуру, которая изначально не нужна и сама по себе рискованна.
У PPAP и как у меры безопасности мало смысла: ключ и посылка идут по одному каналу. Больший вред в том, что архив проходит мимо антивирусной проверки на стороне получателя. Проблемы и замены (ссылки на общий доступ к файлам и т. п.) разобраны в «Почему PPAP — это плохо с точки зрения безопасности почты? Как делать правильно?». В контексте автоматизации документы через PPAP — первый пункт в списке того, о чём стоит договариваться с контрагентом. Просьба «для автоматической обработки присылайте не ZIP с паролем, а обычный PDF или ссылку на файл» на фоне отказа от PPAP сейчас проходит легче, чем раньше.
7. Что дальше — пределы работы через вложения и поэтапный переход
Когда налажены сохранение, уведомления и распознавание, остаётся предел самого факта «обмениваемся документами через вложения в письмах».
- Макетов столько, сколько контрагентов; чем больше контрагентов, тем тяжелее сопровождать модель распознавания
- Точность распознавания не бывает 100%, этап ручной проверки остаётся навсегда
- Письма могут не дойти (превышение размера, попадание в спам), мониторинг пропусков тоже остаётся
Сколько ни оттачивай проект в Power Automate, эти проблемы не исчезнут. Пока процесс начинается с «отправить человеку неструктурированные данные (PDF)», распознавание и проверка — неизбежные издержки. Поэтому в среднесрочной перспективе стоит держать в поле зрения приём структурированных данных с самого начала: поэтапный переход на веб-форму заказов, EDI, а для счетов — на цифровой счёт-фактуру (Peppol / JP PINT).
Переход не обязан быть одномоментным. Реалистичнее двойной режим: тех, кто готов, постепенно переводить на новый способ, остальных по-прежнему принимать через вложения плюс автоматическую обработку. Проектирование такого перехода — в «Как перевести приём заказов по факсу в веб — проектирование периода двойной эксплуатации и практика поэтапного перехода», устройство цифрового счёта — в «Что такое цифровой счёт-фактура? Чем это отличается от «отправки PDF счёта по почте»». Поток из этой статьи лучше рассматривать как механизм, который на период перехода держит «ту часть, что по-прежнему приходит вложением».
8. Итог
Обработка PDF заказов и счетов из почты — одна из более простых тем автоматизации в Power Automate, но чтобы схема выдержала эксплуатацию, набор требований вполне конкретный.
Сначала точка приёма — отдельный адрес общего почтового ящика, условия отбора — на стороне триггера. Отбор вложений в два шага: Is Inline и расширение, без изображений подписи. Имя файла уникальное по дате и времени получения. Триггер может пропускать письма (больше 50 МБ, шифрование, одновременный массовый приём) — оставьте практику, по которой пропуски видно. Это первый уровень.
Если доходите до распознавания, берите предварительно созданную или настраиваемую модель AI Builder вместе с ветвлением по оценке достоверности и заранее проверьте стоимость расходуемых кредитов и переходную лицензионную модель. ZIP с паролем внутри потока не распаковывайте — это предмет переговоров о смене способа получения. Когда станут видны пределы самого формата вложений, рассмотрите поэтапный переход на веб-форму, EDI или цифровой счёт-фактуру. В таком порядке область можно развивать без крупных переделок.
Похожие статьи
- Автоматизация бизнес-процессов с Power Automate — выбор между облачным потоком и потоком рабочего стола, проектирование обработки ошибок
- Почему PPAP — это плохо с точки зрения безопасности почты? Как делать правильно?
- Что такое EDI? Как упростить взаимные заказы между компаниями — от факса, почты и ручного ввода к обмену данными
- Как перевести приём заказов по факсу в веб — проектирование периода двойной эксплуатации и практика поэтапного перехода
- Что такое цифровой счёт-фактура? Чем это отличается от «отправки PDF счёта по почте»
Смежные области консультирования
KomuraSoft LLC (合同会社小村ソフト) консультирует по проектированию автоматизации обработки писем и документов на Power Automate и по поэтапному переходу к цифровизации приёма и оформления заказов.
Справочные ссылки
-
Microsoft Learn, Office 365 Outlook - Connectors. Параметры триггера «При поступлении нового сообщения электронной почты (V3)» (Folder / From / Only with Attachments / Include Attachments / Subject Filter и др.) и то, что триггер пропускает письма больше меньшего из двух значений — лимита администратора Exchange или 50 МБ — а также защищённые письма. ↩ ↩2 ↩3 ↩4 ↩5 ↩6
-
Microsoft Learn, Trigger a cloud flow based on email properties. Свойства отбора в триггере «При поступлении нового сообщения электронной почты (V3)» и то, что проверка свойств на стороне триггера, а не в действии «Условие», не тратит запуски на посторонние письма. ↩ ↩2 ↩3
-
Microsoft Learn, Office 365 Outlook - Connectors (Working with attachments). Метаданные вложения (Id / Name / Content Type / Size / Is Inline) всегда возвращаются независимо от настройки «Включить вложения»; свойство
Is Inlineотличает встроенные вложения. ↩ ↩2 ↩3 ↩4 -
Microsoft Learn, Microsoft SharePoint Connector in Power Automate. Действие коннектора SharePoint «Создать файл» (Create file) загружает файл в существующую библиотеку документов; «Создать новую папку» (Create new folder) создаёт папку или путь папок. ↩ ↩2 ↩3
-
Microsoft Learn, Licensing and AI Builder credits. Как получать кредиты AI Builder (1 млн за надстройку ёмкости, 5000 в комплекте с Power Automate Premium), пул на уровне тенанта и выделение средам, ошибки вроде NoCapacity при нехватке ёмкости, окончание начальных (seed) кредитов 1 ноября 2026 года. ↩ ↩2
-
Microsoft Learn, End of AI Builder credits. Поэтапный отказ от кредитов AI Builder, объявленный в октябре 2025 года, и то, что функции AI Builder по-прежнему доступны за счёт кредитов Copilot. ↩ ↩2
-
Microsoft Learn, Use a document processing model in Power Automate. Действие «Обработать документы» в облачном потоке и пример уведомления о результатах извлечения через действие Teams «Опубликовать сообщение в чате или канале». ↩ ↩2
-
Microsoft Learn, Share a cloud flow. Подключение потока привязано к создавшему его пользователю; общим подключением можно пользоваться только внутри этого потока; совладелец не может менять учётные данные подключения другого владельца; о добавлении совладельцев. ↩
-
Microsoft Learn, Office 365 Outlook - Connectors (Known issues and limitations with triggers). При одновременном приходе большого числа писем системное ограничение изредка приводит к тому, что почтовый триггер пропускает письмо. ↩
-
Microsoft Learn, Office 365 Outlook - Connectors (Actions). Актуальные имена действий — «Move email (V2)» и «Mark as read or unread (V3)» (старые версии помечены как нерекомендуемые). ↩
-
Microsoft Learn, Exchange Online limits. Максимальный размер сообщения по умолчанию (отправка 35 МБ / приём 36 МБ) и возможность администратора задать свой лимит от 1 до 150 МБ. ↩
-
Microsoft Learn, Invoice processing prebuilt AI model. Поля извлечения предварительно созданной модели обработки счетов, поддерживаемые языки (включая японский), форматы ввода (JPEG/PNG/PDF, до 20 МБ) и пример конфигурации с переключением на настраиваемую модель для полей с низкой оценкой достоверности. ↩ ↩2 ↩3
-
Microsoft Learn, Create a document processing custom model. Типы документов настраиваемой модели обработки документов (документ с фиксированным шаблоном / общий документ / счёт), не меньше пяти образцов на коллекцию, определение извлекаемых полей и таблиц. ↩ ↩2
-
Microsoft Learn, Use the invoice processing prebuilt model in Power Automate. Действие «Извлечь сведения из счетов» в облачном потоке и оценка достоверности от 0 до 1 для каждого поля. ↩ ↩2
-
Microsoft Learn, Power Platform licensing FAQs. Функции AI Builder в облачном потоке сначала расходуют кредиты AI Builder, а при их отсутствии или исчерпании — кредиты Copilot. ↩
Похожие статьи
Недавние статьи с теми же тегами помогут подробнее изучить близкие темы.
Лицензии Power Automate — насколько хватает Microsoft 365 бесплатно и когда нужен Premium
В рамках Microsoft 365 облачные потоки на стандартных коннекторах можно создавать бесплатно, но для премиум-коннекторов вроде HTTP, SQL S...
Как построить поток утверждения в Power Automate — бумажные и почтовые заявки в электронный вид
Практическое руководство: как перевести в электронный вид бумажные заявки и Excel-формы из почтовых вложений с помощью Power Automate. Ра...
Перенос макросов Excel VBA в Power Automate — что заменить Office Scripts, а что оставить в VBA
Разбираем, можно ли перенести макросы Excel VBA в Power Automate: что заменяется Office Scripts, что умеет только VBA, ограничения коннек...
Автоматизация бизнес-процессов в Power Automate — облачные потоки, потоки на компьютере и обработка ошибок
Разбираем, чем облачный поток Power Automate отличается от потока на компьютере, как их сочетать с PowerShell и VBA, какие лицензии нужны...
Обработка ошибок и повторные попытки в Power Automate — как не пропустить остановку потока
Набор приёмов, чтобы поток Power Automate не остановился незаметно. Политика повторных попыток по умолчанию, Try-Catch через области, уве...
Связанные темы
Эти страницы показывают тему статьи в более широком контексте услуг и решений.
Технические темы Windows
Раздел о разработке Windows, расследовании сбоев и использовании существующих активов.
Услуги по этой теме
Статья напрямую связана со следующими услугами.
Использование и перенос существующих активов
Помогаем использовать и переносить активы COM / ActiveX / OCX и зависимости 32/64 бит.
Частые вопросы
Вопросы, которые часто возникают при консультациях по теме статьи.
- Можно ли запускать поток Power Automate по письмам, которые приходят в общий почтовый ящик?
- Можно. У коннектора Office 365 Outlook есть отдельный триггер «При поступлении нового сообщения в общий почтовый ящик (V2)»: поток стартует от писем на общий адрес приёма заказов. Учётная запись, которой создано подключение, должна иметь доступ к этому общему почтовому ящику. Сразу после выдачи прав они могут применяться около двух часов, а адрес группы Microsoft 365 нельзя указать как общий почтовый ящик. Приём на общий ящик, а не в личный ящик сотрудника, проще передать преемнику. Само подключение потока всё равно привязано к учётной записи создателя, поэтому заранее решите, какой учётной записью пользоваться для подключения, и назначьте совладельцев.
- Почему изображения из подписи письма сохраняются как вложения?
- Изображение подписи или логотип, встроенные в тело письма, на уровне данных тоже считаются вложением — встроенным (inline). Если обрабатывать всё, у чего «есть вложения», вместе с нужным PDF сохранятся PNG и GIF из подписи. В ветвлении используйте метаданные Is Inline, которые коннектор Office 365 Outlook возвращает для каждого вложения, и обрабатывайте только те, у которых Is Inline равно false. Дополнительная проверка, что имя файла заканчивается на .pdf, сужает выбор ещё надёжнее.
- Что нужно, чтобы автоматизировать распознавание PDF через AI Builder?
- В AI Builder есть предварительно созданная модель обработки счетов: она извлекает номер счёта, дату, итоговую сумму и другие поля и умеет работать со счетами на японском. Документы с собственным макетом, например заказы, обрабатывают настраиваемой моделью обработки документов — её обучают на образцах (не меньше пяти на каждый макет). Для выполнения нужна расходуемая ёмкость, например кредиты AI Builder: если среде ничего не выделено, поток останавливается с ошибкой. В октябре 2025 года объявили поэтапный отказ от кредитов AI Builder и переход на кредиты Copilot, поэтому перед новым внедрением сверяйтесь с актуальной лицензионной моделью.
- Можно ли потоком обрабатывать вложения, которые приходят как ZIP с паролем (PPAP)?
- ZIP с паролем плохо совместим с автоматической обработкой: не проектируйте поток в расчёте на распаковку внутри него. Пароль приходит отдельным письмом, человек читает его и только потом открывает файл — такая схема не рассчитана на машину. Сохранить архив как есть в место, куда человек сможет зайти, можно, но к автоматическому переносу данных или распознаванию это не ведёт. Реалистичная мера — договориться с контрагентом отказаться от PPAP, то есть изменить сам способ получения файлов. У PPAP много проблем и с безопасностью; как аргумент для переговоров пригодится отдельная статья, где эти проблемы разобраны.
Об авторе
Страница с профилем автора статьи.
Го Комура
Представитель KomuraSoft LLC
Специализируется на разработке программного обеспечения для Windows, техническом консалтинге и расследовании сбоев, особенно в проектах с унаследованными системами и трудно воспроизводимыми ошибками.