Программа для macOS, которая превращает нечитаемый XML-файл счёта-фактуры / УПД, присылаемый через ЭДО, в наглядный HTML-бланк — без 1С и без сторонних сервисов.
Операторы электронного документооборота (Диадок, СБИС, Контур.Экстерн и т.п.) присылают счета-фактуры и УПД в виде XML-файлов формата ФНС (СЧФДОП). Открыть такой файл текстовым редактором невозможно — внутри вперемешку кодировка Windows-1251 и служебные теги на русском. Штатно посмотреть его по-человечески можно только через 1С или личный кабинет ЭДО.
Viewerxml2html решает именно эту задачу: конвертирует XML в HTML-страницу, оформленную как официальная печатная форма счёта-фактуры / УПД, и сразу открывает её в браузере.
Работает полностью локально и офлайн — файл не покидает компьютер, никуда не отправляется, никаких сторонних серверов или сервисов не используется.
Только для macOS.
- Открытие XML прямо из Finder — через контекстное меню «Открыть с помощью» или запуском программы напрямую
- Автоопределение кодировки исходного XML (windows-1251 / utf-8)
- HTML-бланк, визуально повторяющий официальную печатную форму УПД / счёта-фактуры (продавец, покупатель, таблица товаров/услуг, итоги, подписант)
- По желанию пользователя — назначение программой по умолчанию для
.xml, чтобы открывать файлы двойным кликом - Автоматическое снятие карантинного флага macOS с новых XML-файлов в Загрузках, чтобы Gatekeeper не спрашивал подтверждение на каждый файл
Файлы обмена СЧФДОП (Счёт-фактура / Универсальный передаточный документ), формат ФНС, версия схемы 5.x — именно то, что присылают операторы ЭДО. Другие виды документов ЭДО (например, только акт без счёта-фактуры, либо иные схемы обмена) пока не поддерживаются.
- Скачайте
Viewerxml2html.app.zipиз этого репозитория (или из Releases) и распакуйте - Переместите
Viewerxml2html.appв папку Программы - Запустите
снять_блокировку_Viewerxml2html.command(двойной клик; если macOS покажет предупреждение — щёлкните правой кнопкой → «Открыть» → подтвердите). Скрипт снимает системный карантинный флаг с приложения - Запустите
Viewerxml2html.app— при первом запуске появится вопрос про программу по умолчанию для XML-файлов; ответьте на своё усмотрение
Через контекстное меню: правый клик на XML-файле → «Открыть с помощью» → Viewerxml2html
Через саму программу: запустите Viewerxml2html.app → появится окно выбора файла → выберите XML → результат откроется в браузере
- macOS (Intel и Apple Silicon)
- Python 3 (обычно уже есть в системе; если нет — программа подскажет выполнить
xcode-select --install)
Подпись сертификатом Apple Developer стоит $99/год — для небольшой бесплатной утилиты это несоразмерно. Поэтому при первом запуске macOS Gatekeeper требует ручного подтверждения (см. шаг 3 установки). Это стандартное поведение для любого приложения вне App Store и не связано с работой самой программы.
- При открытии XML ничего не происходит. Скорее всего, не снят карантинный флаг с приложения — запустите ещё раз
снять_блокировку_Viewerxml2html.command. - Каждый новый файл заново просит подтверждения безопасности. Ожидаемо для неподписанных приложений. После того как вы согласитесь сделать программу обработчиком XML по умолчанию (диалог при первом запуске), фоновый процесс начинает автоматически снимать карантин с новых XML в Загрузках — и это перестаёт происходить.
- Не найден Python 3. Выполните в Terminal:
xcode-select --install, дождитесь установки Command Line Tools и повторите попытку.
Программа — это AppleScript-обёртка (droplet) вокруг Python-скрипта конвертации и небольшого helper'а на Swift (регистрация программы по умолчанию через Launch Services, фоновый снятие карантина). Исходники — в папке src/; сам конвертер — upd_to_html.py, он не имеет внешних зависимостей и запускается на любой ОС с Python 3:
python3 upd_to_html.py входной_файл.xml [выходной_файл.html]
MIT — см. LICENSE