Локальное приложение для Windows 10/11 x64 на Go и Fyne: счета на оплату, акты выполненных работ и клиенты. Регистрация, сервер и интернет для работы не нужны. Аналитики и телеметрии нет.
Скачать DocKit для Windows · Страница приложения · Все релизы
DocKit помогает самозанятым подготовить счёт на оплату услуг и акт выполненных работ в PDF, вести список клиентов и хранить историю документов на своём компьютере.
Скачайте ZIP из раздела Releases, распакуйте его и откройте DocKit.exe. Для готовой сборки Go и GCC не требуются. При локальной сборке файл находится в dist\DocKit.exe.
- В Настройках заполните ФИО, ИНН и банковские реквизиты, нажмите Сохранить реквизиты.
- В Клиентах добавьте физическое или юридическое лицо.
- Откройте Создать документ, выберите счёт или акт и клиента.
- Укажите номер, дату в формате
ГГГГ-ММ-ДД, услуги, количество и цены. - Проверьте Предпросмотр, сохраните документ в историю.
- В Истории нажмите PDF и укажите полный путь, например
C:\Users\Имя\Documents\invoice.pdf.
Программа запрашивает подтверждение перед заменой PDF/JSON и перед удалением клиента. Существующие резервные копии не перезаписываются: выберите новое имя.
- Главная: количество документов, сумма выставленных счетов, количество клиентов, последние документы.
- Профиль: ФИО, ИНН, контакты, адрес, банк, БИК, расчётный и корреспондентский счета.
- Клиенты: создание, редактирование, поиск по имени/ИНН/email, удаление с подтверждением и история клиента.
- Счета и акты с несколькими услугами, точным расчётом, текстовым предпросмотром, сохранением и PDF.
- Повторное создание по документу из истории с новым номером и текущей датой.
- Поиск истории по номеру, дате и клиенту; фильтр по типу документа.
- Светлая и тёмная темы с сохранением выбора.
- Резервное копирование SQLite, восстановление и экспорт всех пользовательских данных в JSON.
- Встроенные шрифты с кириллицей; PDF открывается без установки шрифтов.
- Иконка окна и Windows-ресурсы исполняемого файла.
- Кнопка «Поддержать приложение» находится внизу бокового меню на всех экранах и в верхней части настроек: она открывает DonationAlerts в браузере. Донаты добровольные; интернет нужен только для перехода на страницу доната.
Документы сохраняют снимки реквизитов обеих сторон. Изменение профиля, редактирование или удаление клиента не меняет старые документы. При повторном создании используются текущие реквизиты профиля и выбранного клиента. Если исходный клиент удалён, выберите нового.
По умолчанию база расположена в %APPDATA%\DocKit\dockit.db, отдельно от исполняемого файла. Fyne также сохраняет настройки окна в своей пользовательской директории. Все данные остаются на компьютере.
В Настройках доступны резервное копирование и восстановление. Копия создаётся средствами SQLite (VACUUM INTO). При восстановлении проверяются версия схемы, целостность и связи базы. Перед заменой автоматически создаётся файл before-restore-*.db в папке данных. Восстанавливаются только резервные копии схемы DocKit v0.1.
JSON содержит профиль, клиентов, документы с позициями и настройки. Price и Total выражены в копейках, Quantity — в тысячных долях единицы: 1500 означает 1,5. Денежные суммы не хранятся как числа с плавающей точкой. Поддерживаются две цифры после запятой у цены и три у количества; строки округляются до копейки, итог равен сумме строк.
Для отдельного тестового профиля можно задать переменную DOCKIT_DATA_DIR. Она меняет папку базы; обычному пользователю это не требуется.
Требуются Go 1.26.5 или новее, Windows x64, бесплатный GCC MinGW-w64 и поддержка OpenGL 2.1 драйвером видеокарты. Интернет нужен при первой загрузке зависимостей сборки.
В этом рабочем окружении бесплатный WinLibs установлен в C:\dev\dockit-toolchain\mingw64. Сборочный скрипт находит его автоматически. GCC необходимо хранить в папке без кириллицы: даже короткие имена Windows в этом окружении не устранили ошибку линкера. Вместо него можно использовать собственный GCC в PATH, например из C:\msys64\ucrt64\bin. См. требования Fyne.
В PowerShell из корня проекта:
.\scripts\build.cmdСкрипт компилирует ресурсы Windows, запускает go test ./..., go vet ./... и создаёт dist\DocKit.exe. Выполняется статическая линковка библиотек GCC; остаются стандартные системные зависимости Windows. Есть также scripts\build.ps1; в этом окружении политика PowerShell отключает запуск .ps1, поэтому используйте .cmd. Команды можно выполнить вручную:
$env:PATH = 'C:\mingw64\bin;' + $env:PATH
$env:CGO_ENABLED = '1'
go mod download
windres assets/dockit.rc -O coff -o rsrc_windows_amd64.syso
go test ./...
go vet ./...
go build -ldflags '-H=windowsgui -s -w -extldflags=-static' -o dist/DocKit.exe .Для проверки UI без графического драйвера: go test -tags ci ./.... Это дополнительная проверка. Сборка с тегом ci не предназначена для запуска пользователем.
main.go запуск, обработка ошибок открытия данных
internal/config пользовательская папка данных
internal/model модели, целочисленные суммы, десятичный ввод
internal/validation реквизиты, ИНН, документы
internal/store SQLite, миграции, транзакции, backup/restore, JSON
internal/service подготовка документов, снимки, предпросмотр
internal/document PDF и безопасное создание файлов
internal/ui Fyne, экраны, формы и диалоги
assets иконка и Windows-ресурсы
scripts/build.cmd проверка и сборка Windows
service.Features — точка расширения для будущих Pro-возможностей. Платные функции и лицензирование в v0.1 не реализованы; основные возможности доступны бесплатно.
Миграция internal/store/migrations/001.sql встроена в программу, выполняется транзакционно и отслеживается через PRAGMA user_version. SQL с пользовательскими значениями параметризован. Номер документа уникален в пределах его типа. Документ и все позиции сохраняются одной транзакцией.
- Расчёт суммы, дробное количество, округление до копейки, переполнение и некорректный ввод.
- ИНН и контрольные цифры; форматы БИК, счетов и email.
- CRUD клиентов и поиск кириллицы, строки с SQL-подобным содержимым.
- Сохранение позиций, уникальные номера, отклонение некорректного документа, сохранение снимков после удаления клиента.
- Перезапуск базы, резервное копирование, восстановление и отказ при повреждённом файле.
- PDF для счёта и акта, встроенные Unicode-шрифты, длинные описания и многостраничные документы, запрет молчаливой перезаписи.
- Сценарий Fyne: заполнение формы, создание счёта и акта, проверка сумм и истории.
Для сохранения контрольных PDF и снимков UI во временную папку перед тестами задайте DOCKIT_QA_DIR. Это тестовые файлы, не пользовательские данные.
Для автоматической проверки нативного запуска задайте DOCKIT_SMOKE_TEST=1 вместе с отдельной папкой DOCKIT_DATA_DIR: окно откроется и закроется через три секунды средствами Fyne. В обычном запуске эти переменные не нужны.
- Предпросмотр текстовый; окончательный вид доступен в экспортированном PDF.
- Диалоги сохранения принимают полный путь; системный выбор файла пока не реализован.
- Документы в истории неизменяемы. Для исправления создайте новый через «Повторить».
- Нет электронной подписи, проверки существования банковских реквизитов и интеграций с банками/ФНС.
- Приложение создаёт счета и акты, не фискальные чеки. Чеки оформляются через официальный сервис «Мой налог».
- Нет установщика и цифровой подписи исполняемого файла; распространяется готовый
.exe. - Полная ручная проверка через помощник Windows UI в текущем окружении недоступна; формы проверяются автоматическим сценарием Fyne и визуальным просмотром снимков.
- Нужен доступ к пользовательской папке и графический драйвер с OpenGL 2.1. Данные базы не зашифрованы.
Исходники DocKit — MIT. Fyne — BSD-3-Clause, SQLite-драйвер modernc — BSD, PDF-генератор phpdave11/gofpdf — MIT, Go Fonts — BSD. Эти лицензии допускают коммерческое использование при соблюдении условий. Тексты лицензий зависимостей собраны в THIRD_PARTY_NOTICES.txt и должны сопровождать распространяемую сборку.
