Коли перевірка каже, що ваш рахунок дійсний, наступне розумне питання таке: хто це каже і чим він міряв? Тут відповідь — Mustang, відкрита Java-бібліотека з проєкту mustangproject, випущена під ліцензією Apache 2.0 і підтримувана на GitHub у межах організації ZUGFeRD.
Вона стала фактичною еталонною реалізацією в середовищі ZUGFeRD і Factur-X, а ще вміє XRechnung та Order-X. Та сама перевірка, яку тут проходить ваш файл, працює в багатьох інструментах галузі.
Що Mustang перевіряє насправді
Валідатор виконує саме ті три шари, що описані у статті Як працює перевірка, — по черзі й різними засобами:
| Шар | Що перевіряється | Чим |
|---|---|---|
| Контейнер | дійсний PDF/A-3: вбудовані шрифти, кольорові профілі, метадані XMP, правильно оголошене вкладення XML | veraPDF |
| Схема | вбудований XML CII проти свого XSD: коректність, елементи на місцях, правильні типи | перевірка схеми XML |
| Бізнес-правила | правила EN 16931 разом із національними редакціями: підсумки, категорії податку, обов’язкові реквізити | Schematron |
Порядок тут не косметичний. Якщо контейнер пошкоджено, надійного XML для розгляду може й не бути — і тоді висновок третього шару описує файл, який усе одно ніхто не прочитає. Тому звіт читають згори вниз.
Версія валідатора — не версія формату
Це найчастіша плутанина довкола Mustang, і вона регулярно трапляється в презентаціях. Два ряди номерів, які між собою не пов’язані:
- Mustang розвивають у лінійці 2.x. Бібліотека наразі 2.26.0 від 25 серпня 2026 року — вона підтримує ZUGFeRD 2.5.0, ZUGFeRD 1, Factur-X 1 і CII XRechnung 3.0.2. Відповідний Mustangserver 1.8.3 від 29 серпня 2026 року перевіряє проти Schematron EN 16931 v1.3.16 і виправленого ZUGFeRD 2.5.2.
- ZUGFeRD і Factur-X нумерують окремо й оновлюють приблизно раз на пів року — зараз це 2.5.2 і 1.09.2, застосовуються з 1 вересня 2026 року.
Версії Mustang 3.x не існує. Хто називає вам «Mustang 3», плутає номер інструмента з номером формату — або переписав у того, хто це зробив. На цьому сайті Mustang працює в лінійці 2.x.
Чому саме цей інструмент
Валідатор — це питання довіри: він каже вам, чи документ дійсний, а перерахувати це самому ви не можете. На користь Mustang говорять три речі:
- Він відкритий. Які правила він застосовує, можна прочитати — це не чорна скриня, що видає вердикт.
- Він бере офіційні набори правил, а не власні переписані. Файли Schematron для EN 16931 беруться там, де їх публікують.
- Його підтримують у ногу з форматами. Виходить нова редакція ZUGFeRD — за нею йде оновлення. Це і є різниця між інструментом і знімком позаминулого стану справ.
Додається практичне: оскільки та сама бібліотека працює в багатьох місцях, є велика ймовірність, що ваш одержувач перевіряє проти того самого набору правил. Тоді зелений результат тут щось означає.
Чого успішна перевірка не означає
Цю межу рекламні тексти охоче обходять, і саме через неї формально бездоганний рахунок може повернутися:
- Відповідність — не правильність. Файл може пройти всі правила й усе одно нести не ту ціну, не ту дату чи не того клієнта. Рахувати валідатор уміє; знати, що правильно, — ні.
- Дійсний — не прийнятий. Одержувач може додатково вимагати номер замовлення, певний референс або певний профіль: це його правила, а не норми.
- Зауваження — не помилки. Звіт відділяє фатальні висновки від приміток; останні часто походять із національної редакції, яка до вашого документа взагалі не стосується. Намагання звести їх до нуля — найпоширеніший спосіб згаяти пів дня на файл, що давно дійсний.
Як читати звіт
Кожен висновок називає дві речі: код правила і місце в XML. Місце каже де, код каже чому. Родини кодів і помилки, які справді трапляються в реальних документах, зібрані у статті Бізнес-правила EN 16931.
Правильний наступний крок майже ніколи не файл, а система, що його створила: відсутній ІПН належить до профілю компанії, налаштування округлення — до програми виставлення рахунків. Правити XML руками означає створити документ, чия видима сторінка вже не відповідає його даним, — див. Перевірка рахунку.
Користуватися Mustang самостійно
Mustang існує як окремий інструмент командного рядка і як бібліотека для вбудовування. Хто будує власну інтеграцію або перевіряє файли пакетно, знайде тут усе потрібне — це та сама перевірка, лише без інтерфейсу.
Хто не хоче тримати це в себе: та сама перевірка працює тут, у браузері, без реєстрації, зі звітом для людей замість виводу в консоль. Ваш файл використовується лише для перевірки; копії ми не лишаємо.
Часті питання
Чи треба встановлювати Java, щоб перевірити рахунок?
Ні. Це стосується лише тих, хто хоче запускати Mustang у себе. Для окремого файлу досить завантаження тут.
Чи перевіряє Mustang також XRechnung?
Так, включно з чистими файлами XML. Під час завантаження XML шар контейнера відпадає — PDF для перевірки немає, — а решта відбувається як звичайно.
Що таке veraPDF?
Відкритий перевіряч PDF/A, який Mustang використовує для шару контейнера. Він відповідає на питання, чи є файл дійсним PDF/A-3, — а не на те, чи правильний рахунок усередині.
Чому перевірка повідомляє про правило, якого мій одержувач не застосовує?
Бо національні редакції несуть власні правила, і звіт називає їх, щойно профіль їх передбачає. Важливий рівень: фатальний означає недійсність, зауваження — незвично, але припустимо.
Чи змінюється результат із виходом нової версії формату?
Може. Виправлення на кшталт ZUGFeRD 2.5.2 усуває суперечності в правилах: файл, який раніше давав повідомлення, може стати чистим — або навпаки. Тому перевіряти варто перед кожним надсиланням, а не один раз на початку.
Чи можна покладатися на зелений результат?
На те, що він стверджує: файл відповідає нормі й тому профілю, який сам оголошує. Чи правильний рахунок по суті та чи прийме його одержувач — два окремі питання, див. вище.
Стисло
- Mustang відкритий (Apache 2.0) і є фактичним еталоном у світі ZUGFeRD.
- Три шари, три інструменти: veraPDF для контейнера, XSD для схеми, Schematron для бізнес-правил.
- Номер валідатора — не номер формату. Бібліотека 2.26.0 (25.08.2026), формати 2.5.2 / 1.09.2. Версії 3.x у Mustang немає.
- Пройдено означає «відповідає нормі», а не «правильно» і не «прийнято».
- Звіт називає код і місце — причину усувають у системі, яка створила файл, а не в XML.
Спробувати ту саму перевірку без встановлення? Завантажте файл без реєстрації — або заведіть безкоштовний обліковий запис, якщо хочете зберігати історію.
