Открытый проект для малого бизнеса

Деловые документы без лишней сложности.

Создавайте счета, коммерческие предложения, заказы и запросы в настольной форме. LuaLaTeX оформит профессиональный PDF, а LuaBill подготовит структурированные электронные счета для вашего рабочего процесса.

Версия 0.1.10 · Windows, Linux и macOS · Apache License 2.0

Пример документа
01 · PDF / XRechnung / ZUGFeRD 02 · Windows / Linux / macOS03 · DE / EN / FR / IT / RU
01 / LuaBill

Хорошие документы должны быть доступны с самого начала.

Когда вы начинаете своё дело, важны и аккуратный счёт клиенту, и возможность управлять своими данными и инструментами.

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

Основной рынок — Германия. Текущая версия предназначена для немецкого поставщика; клиенты могут находиться в Германии, других странах ЕС или за его пределами. Язык документа и валюта выбираются независимо от страны клиента.

В основе проекта — LuaLaTeX и открытые программные компоненты. LaTeX широко используется для качественной вёрстки технических и научных публикаций; LuaBill делает этот подход доступным для повседневных деловых документов через графический интерфейс. Мы хотим развивать формы, шаблоны и переводы вместе с пользователями.

Настольный интерфейс LuaBill. Языки интерфейса и документа выбираются отдельно.

Руководство ↗
Настольный интерфейс LuaBill. Языки интерфейса и документа выбираются отдельно.
LuaBill 0.1.10 · Русский · Пример документа
02 / LuaBill

От первого предложения до готового счёта

Заполняйте данные в форме, проверяйте результат и сохраняйте проект для следующего изменения.

Профессиональная вёрстка с LuaLaTeX

Единое оформление, таблицы позиций, многостраничные документы и шрифты Unicode. Техническую работу по созданию PDF выполняет LuaLaTeX.

Десять видов документов

Предложения, счета, накладные, подтверждения заказов, проформы, заказы на закупку, кредит-ноты, сторнирующие счета, запросы предложений и письма.

PDF, XML, XRechnung и ZUGFeRD

Обычные PDF для деловой переписки и структурированный XML для счетов. ZUGFeRD объединяет PDF/A-3 и встроенный XML в одном файле.

Пять языков и разные валюты

Интерфейс и документы доступны на EN, DE, FR, IT и RU. Выбирайте EUR, USD, RUB, CNY и другие коды валют; автоматический пересчёт по курсу не выполняется.

НДС с учётом выбранной операции

Предусмотрены немецкие внутренние операции, поставки товаров и обычных B2B-услуг в ЕС и за его пределы, а также режим малого предприятия по §19 UStG. Пояснения и ссылки формируются по указанным данным.

Общие расчёты для PDF и XML

Количество, цена, скидки, группы НДС и фактически полученные авансы участвуют в расчёте итогов и остатка к оплате. Одни данные используются для печатного и электронного документа.

Понятные данные клиента

Отдельные поля для имени, должности, email, телефона, мобильного, факса и сайта. В PDF контакты располагаются по строкам, а email, сайт и телефон становятся ссылками. Номер клиента сохраняет начальные нули.

Оплата, подпись и печать

QR-код EPC/SEPA для подходящих счетов в EUR и графические изображения подписи и печати. Изображение подписи не является криптографической электронной подписью.

Локальные проекты и настройки

Документы создаются на вашем компьютере без обязательной облачной учётной записи. Проекты .luabill и результаты хранятся отдельно; язык интерфейса и папка вывода относятся к настройкам пользователя.

Открытый рабочий процесс

Настольная форма на Python/PySide6, импорт прежних .bill, экспорт и запуск из командной строки. Исходники и лицензии входят в выпуск, а профиль продавца можно сохранить для повторного использования.

03 / LuaBill

Первый документ за шесть шагов

Для повседневной работы писать код LaTeX или Lua не требуется.

  1. Установите LuaBill

    Выберите пакет для своей системы и выполните инструкции. Для Linux и macOS отдельно нужны совместимый Python и Интернет на этапе установки PySide6.

  2. Проверьте компоненты

    Откройте «Справка → Компоненты и установка». Установите LuaLaTeX, шрифты и необходимые для выбранного формата Java и Ghostscript по официальным ссылкам.

  3. Начните с примера

    Создайте новый документ или откройте пример. Замените демонстрационные реквизиты, задайте номер, даты, язык, валюту, продавца и клиента.

  4. Добавьте позиции и условия

    Введите товары или услуги, цены, скидки и НДС. Укажите примечания, условия оплаты и только действительно полученные авансы.

  5. Проверьте данные

    Нажмите F7 для проверки итогов. Сохраните редактируемый проект .luabill и исправьте сообщения об ошибках до выпуска документа.

  6. Создайте и просмотрите результат

    Выберите формат и нажмите F9. Просмотрите открывшийся PDF; для электронного счёта проверьте протокол валидации и передайте клиенту нужный PDF или XML согласованным способом.

Руководство ↗
04 / LuaBill

Выберите свою систему

LuaBill устанавливается для текущего пользователя. Внешние инструменты формирования документов устанавливаются отдельно.

Готовое приложение

Windows

Скачать для Windows

v0.1.10 · 81.5 MB · EXE

Windows 10 версии 1809 и новее или Windows 11, x64. Python, PySide6/Qt и Mustang включены; отдельно устанавливать Python не нужно.

Подробнее
  1. Скачайте и запустите установщик .exe.
  2. При необходимости выберите ярлык на рабочем столе и открытие файлов .luabill в LuaBill.
  3. Запустите программу из меню «Пуск» и проверьте внешние компоненты в «Справке».

Windows-установщик пока не подписан сертификатом Authenticode. Проверяйте источник загрузки и SHA-256 файла.

Установка из исходников

Linux

Скачать для Linux

v0.1.10 · 55.6 MB · GZ

Графическая сессия, Python 3.10–3.15 с venv и pip, Интернет для установки PySide6. x86-64: glibc 2.34+; ARM64: glibc 2.39+. Для новой установки рекомендуются Python 3.12 или 3.13. Alpine/musl не поддерживается.

Подробнее
  1. Распакуйте .tar.gz и откройте терминал в распакованной папке.
  2. Выполните sh install.sh. Сценарий создаст отдельную Python-среду и пользовательский пункт меню.
  3. Установите системные компоненты средствами своего дистрибутива и проверьте их из LuaBill.

Python устанавливается отдельно и должен оставаться в системе. Пакет не является автономным бинарным приложением; успешная установка и работа на Linux пока не подтверждены нативной проверкой.

Установка из исходников

macOS

Скачать для macOS

v0.1.10 · 55.6 MB · ZIP

macOS 14.4+, Python 3.10–3.15 соответствующей архитектуры и Интернет для установки PySide6. Для новой установки рекомендуются Python 3.12 или 3.13.

Подробнее
  1. Распакуйте .zip и запустите Install_LuaBill.command; инструкции также доступны в архиве.
  2. Сценарий создаст отдельную Python-среду и LuaBill.app в пользовательской папке Applications.
  3. Откройте приложение и проверьте LuaLaTeX, шрифты, Java и Ghostscript в разделе компонентов.

Python устанавливается отдельно и должен оставаться в системе. Локально создаваемая оболочка .app не подписана сертификатом Apple Developer ID и не прошла нотаризацию Apple; нативная установка и работа на macOS пока не подтверждены проверкой.

Для Windows подготовлен установщик готового приложения. Linux и macOS предлагаются как предварительные пакеты установки из исходников. Перед загрузкой ознакомьтесь с требованиями и состоянием проверки вашей платформы.

Что нужно для создания документов

Окно компонентов в LuaBill показывает найденные программы, объясняет их назначение и помогает проверить установку повторно.

LuaLaTeX и texlua

Для формирования документов

Установите одну TeX-дистрибуцию: MiKTeX или TeX Live, на macOS также подходит MacTeX. Нужны используемые шаблоном пакеты и языки.

Ghostscript

Для ZUGFeRD; необязателен для обычного PDF

Сжимает обычные PDF, когда это возможно, и используется для подготовки PDF/A-3 при упаковке ZUGFeRD.

Java 17 или новее

Для электронных счетов

Запускает Mustang для проверки XML и упаковки/проверки ZUGFeRD. Подходит JRE или JDK; обычный PDF не требует Java.

Python и PySide6/Qt

Для настольного интерфейса

В Windows-пакете уже включены. Для Linux, macOS и ручной установки сначала установите совместимый Python; сценарий создаст отдельную среду и загрузит PySide6.

Шрифты Unicode

Для текста и разных языков

Установите Noto Sans или DejaVu Sans. Доступность нужных шрифтов и TeX-пакетов важна даже тогда, когда LuaLaTeX уже найден.

LuaBill не устанавливает системные TeX, Java и Ghostscript автоматически. Сама генерация документов и проверка XML выполняются локально; первоначальная установка зависимостей может требовать Интернет.

05 / LuaBill

Электронный счёт — это ещё и данные

Выбирайте формат по требованиям получателя. Внешний вид PDF сам по себе не подтверждает наличие структурированного электронного счёта.

Обычный PDF

.pdf

Документ для просмотра и печати, без встроенного XML электронного счёта.

Отправляйте PDF, когда этот формат подходит для вашей операции.

XML · EN 16931

.xml + PDF + протокол

Структурированный XML CII, его PDF-представление и результат проверки.

Передавайте XML согласованным каналом; PDF можно приложить для удобного просмотра.

XRechnung

XRechnung 3 CII XML

Структурированный XML с референсами и электронными адресами сторон, требуемыми профилем XRechnung.

Отправляйте XML на портал или адрес, указанный получателем, с переданным им значением поля «Ссылка покупателя / Leitweg-ID».

ZUGFeRD · EN 16931

PDF/A-3 со встроенным XML

Гибридный PDF с XML внутри. Отдельный XML в результатах содержит те же данные.

Обычно передают гибридный PDF. Потребность в отдельном XML согласуйте с получателем.

Что проверяет LuaBill

  • XML проходит внешнюю проверку Mustang до публикации результата; протокол .validation.xml сохраняется вместе с документом.
  • Для ZUGFeRD дополнительно проверяются PDF/A и контейнер, а извлечённый XML побайтно сравнивается с отдельным файлом.
  • Проверка формата не подтверждает уникальность номера, факт поставки или право на налоговое освобождение. Электронный экспорт предназначен для счетов, кредит-нот и сторнирующих счетов; предложения и заказы создаются как PDF.
06 / LuaBill

Частые вопросы

LuaBill действительно бесплатный?

Код LuaBill открыт под Apache License 2.0. Его можно использовать и для коммерческой работы в рамках этой лицензии. Сторонние компоненты сохраняют собственные лицензии; отдельная облачная подписка LuaBill не требуется.

Нужно знать LaTeX или программирование?

Для обычной работы достаточно настольной формы: вводите данные обычным текстом и создавайте PDF/XML. Исходники и формат .bill остаются доступны для настройки и автоматизации.

Для компаний из каких стран подходит текущая версия?

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

Язык программы и документа могут отличаться?

Да. Интерфейс и руководство выбираются отдельно от языка документа. Поддерживаются EN, DE, FR, IT и RU; ваши описания, названия и свободный текст автоматически не переводятся.

Поддерживаются USD и другие валюты?

Да, валюта не привязана к стране клиента. Используйте трёхбуквенный код, например EUR, USD, CHF, RUB или CNY. Пересчёт по обменному курсу не выполняется; QR-код оплаты EPC/SEPA предназначен для подходящих счетов в EUR.

Куда отправляются мои данные?

Создание документов и проверка XML выполняются локально. Обязательная облачная учётная запись не нужна. Вы сами храните проекты и передаёте готовые документы клиентам; для загрузки компонентов при установке требуется Интернет.

Что отправлять клиенту: .luabill, PDF или XML?

.luabill — ваш редактируемый проект. Для XRechnung передают XML; для ZUGFeRD обычно гибридный PDF со встроенным XML. Для обычного документа подходит PDF, если это допускают условия операции и получатель.

LuaBill заменяет бухгалтерскую программу?

LuaBill предназначен для подготовки документов. Он не управляет единой нумерацией вашей компании, бухгалтерскими проводками, банковскими операциями или архивом выпущенных версий. Эти процессы вы организуете отдельно.

Как перенести документы на другой компьютер?

Скопируйте проект .luabill и используемые изображения подписи и печати. При необходимости выберите изображения заново. Папка вывода относится к настройкам нового компьютера и не переносится внутри проекта.

Где найти инструкции и сведения о лицензиях?

В меню «Справка» доступны подробное руководство на языке интерфейса, проверка компонентов и сведения о сторонних компонентах и источниках. Руководства работают без Интернета и также входят в архив исходников.

07 / LuaBill

Сделаем LuaBill полезнее вместе

Открытый проект растёт благодаря реальным задачам пользователей, понятной обратной связи и небольшим улучшениям.

Расскажите о рабочем сценарии

Покажите, какой документ и какое поведение нужны вашему бизнесу. Для воспроизводимого примера замените личные и коммерческие данные вымышленными.

Улучшайте языки и инструкции

Помогайте сделать переводы, подсказки и руководства точнее и понятнее. Отдельно полезны реальные проверки терминов на каждом языке.

Проверяйте шаблоны и платформы

Проверяйте длинные таблицы, международные адреса, валюты и форматы электронных счетов. Нам важны результаты установки и работы на Linux и macOS.

Развивайте код

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

Связаться с авторами можно по ссылкам на этой странице. Не передавайте реальные реквизиты, подписи и содержимое клиентских счетов в публичных примерах. Для использования LuaBill облачная учётная запись не требуется.

Open source · Apache License 2.0

Авторы проекта

Vsevolod Shashkov
Mikhail Shashkov

LuaBill вырос из повседневных деловых задач и используется в DIETZ automation GmbH. Мы создаём открытый инструмент для понятной работы с документами и приглашаем пользователей участвовать в его развитии.

DIETZ automation GmbH ↗

Copyright 2026 Vsevolod Shashkov & Mikhail Shashkov. Код LuaBill распространяется под Apache License 2.0; сторонние компоненты сохраняют свои лицензии.