В современной разработке систем электронного документооборота и финтех-решений критически важно иметь качественные и структурно верные тестовые данные. Функция ubl_invoice, представленная в библиотеке mock-jutsu, специально разработана для генерации реалистичных XML-инвойсов, соответствующих международному стандарту OASIS UBL 2.1. Данное решение ориентировано на разработчиков и инженеров по автоматизации тестирования, которым необходимо имитировать поток электронных счетов, в частности, для турецкого формата e-fatura (GIB), где строгое соблюдение схемы и математическая точность полей являются обязательными условиями успешной валидации.
Алгоритм, по которому работает ubl_invoice, гарантирует полную согласованность финансовых показателей. Каждый сгенерированный документ содержит от одной до пяти товарных позиций, при этом библиотека mock-jutsu автоматически вычисляет итоговые значения: сумма чистой стоимости (net) и налога (tax) всегда в сумме дают верный валовый результат (gross). Идентификаторы документов генерируются согласно паттерну INV-YYYY-NNNNN, а UUID создаются в верхнем регистре, что соответствует требованиям большинства государственных налоговых шлюзов. Сформированный XML-пакет включает в себя все ключевые узлы, такие как TaxTotal и LegalMonetaryTotal, обеспечивая бесшовную интеграцию с существующими парсерами и бухгалтерскими системами.
Эти мок-данные находят широкое применение в сценариях интеграционного и нагрузочного тестирования ERP-платформ. Используя ubl_invoice, команды могут проверять логику распределения налогов, корректность обработки различных валют (например, турецкой лиры TRY) и устойчивость системы к обработке сложных вложенных структур в XML. Благодаря поддержке вызова функции через Python-код, интерфейс командной строки (CLI) или плагин для JMeter, подготовка окружения для тестирования производительности шлюзов e-fatura становится тривиальной задачей, не требующей ручного составления громоздких файлов.
Главное преимущество использования mock-jutsu заключается в возможности быстро получать валидные тестовые данные, которые невозможно отличить от реальных документов по структуре. Это избавляет разработчиков от необходимости использовать конфиденциальную информацию в тестовых средах, обеспечивая при этом полное покрытие функционала обработки инвойсов. Внедрение ubl_invoice в цикл CI/CD позволяет значительно сократить время на отладку и повысить общую надежность финансового программного обеспечения, гарантируя корректную работу с электронными счетами на всех этапах жизненного цикла продукта.
mockjutsu generate ubl_invoicemockjutsu bulk ubl_invoice --count 10mockjutsu export ubl_invoice --count 10 --format jsonmockjutsu export ubl_invoice --count 10 --format csvmockjutsu export ubl_invoice --count 10 --format sqlfrom mockjutsu import jutsujutsu.generate('ubl_invoice')jutsu.bulk('ubl_invoice', count=10)jutsu.template(['ubl_invoice'], count=5)${__mockjutsu_ubl(ubl_invoice)}# JMeter Function: __mockjutsu_ubl# Parameter 1: ubl_invoice# Parameter 2: (not required for this function)GET /generate/ubl_invoice# → {"type":"ubl_invoice","result":"...","status":"ok"}GET /bulk/ubl_invoice?count=10POST /template {"types":["ubl_invoice"],"count":1}Примеры вывода
{"xml": "\n\n 2.1 \n TR1.2 \n INV-2026-16157 \n false \n B27F9558-FA7E-4554-8093-097AA409139B \n 2026-06-27 \n 23:22:04 \n TEVKIFAT \n GBP \n 4 \n \n \n \n 0056982123 \n VAT \n \n \n \n \n \n \n 62539930105 \n \n \n \n \n 0.00 \n \n 281394.95 \n 0.00 \n \n 0 \n KDV \n \n \n \n \n 281394.95 \n 281394.95 \n 281394.95 \n 281394.95 \n \n \n 1 \n 6 \n 11869.86 \n Yazilim Lisansi \n 1978.31 \n \n \n 2 \n 28 \n 54836.60 \n Bulut Depolama \n 1958.45 \n \n \n 3 \n 6 \n 4729.32 \n Teknik Destek \n 788.22 \n \n \n 4 \n 59 \n 209959.17 \n Proje Yonetimi \n 3558.63 \n \n ", "invoice_id": "INV-2026-16157", "uuid": "B27F9558-FA7E-4554-8093-097AA409139B", "issue_date": "2026-06-27", "currency": "GBP", "invoice_type": "TEVKIFAT", "tax_rate": 0, "net_amount": 281394.95, "tax_amount": 0.0, "gross_amount": 281394.95, "line_count": 4, "ubl_version": "2.1"}Правила валидации
- Генерируется Mock Jutsu по реальным форматным спецификациям
- Все значения полностью синтетические
- Для разработки, тестирования и демонстрации