Немає UPO в KSeF: як завантажити офіційне підтвердження отримання?
Не бачите UPO після надсилання рахунка до KSeF? Перевірте статус, номер KSeF, сесію, помилки відхилення і шляхи завантаження UPO в застосунку, API або KSeFGPT.

Короткий зміст
Відсутність UPO після надсилання рахунка до KSeF сама по собі не є діагнозом. Спочатку перевірте статус рахунка або сесії, номер KSeF, референсний номер, контекст NIP і інструмент, через який документ було надіслано.
UPO можна завантажити лише для рахунка, успішно прийнятого KSeF, або для закритої й обробленої сесії, якщо було створено UPO сесії. Статус 100 або 150 означає, що потрібно далі моніторити те саме надсилання.
Якщо рахунок відхилено, він не отримає номера KSeF і UPO. Потрібно прочитати код помилки, виправити джерело проблеми і тільки потім повторно надіслати виправлений XML FA(3).
Що означає відсутність UPO після надсилання рахунка?
Найгірша реакція на відсутність UPO - автоматично повторити надсилання без перевірки статусу. Так можна створити дублікат або ускладнити пошук первинної операції.
Невидиме UPO може бути наслідком обробки, помилки документа, неправильної сесії, простроченого посилання або обмежень інструмента, у якому ви шукаєте підтвердження. Процедура завжди починається зі статусу того самого рахунка або сесії.
| Можлива причина | Що перевірити | Наступний крок |
|---|---|---|
| Рахунок ще обробляється | Статус рахунка 100 або 150 | Зачекайте і знову перевірте статус того самого рахунка. |
| Сесію не завершено | Статус інтерактивної або пакетної сесії | Закрийте або перевірте сесію згідно з процесом інструмента. |
| Рахунок відхилено | Код помилки, description, details і extensions | Виправте причину і не шукайте UPO для відхиленого документа. |
| Пошук за неправильним номером | Референс сесії, референс рахунка і номер KSeF | Зіставте UPO з правильною сесією та документом. |
| Рахунок надіслано іншим інструментом | Історію надсилання в ERP, Aplikacja Podatnika або API | Завантажте UPO в інструменті, який виконав надсилання. |
| Посилання для завантаження прострочене | Строк дії `upoDownloadUrl` | Згенеруйте свіже посилання через повторний запит статусу. |
| Неправильний контекст платника | NIP, дозволи і вибраний суб'єкт | Перемкніть контекст і перевірте доступ до сесії. |
Статуси, які потрібно перевірити перед завантаженням UPO
Статус надсилання говорить більше, ніж повідомлення, що файл передано до системи. В API KSeF статус 100 означає прийняття рахунка до подальшої обробки, статус 150 означає, що обробка триває, а статус 200 означає успіх.
Лише успішний рахунок дає підставу переходити до номера KSeF і UPO. Статуси помилок вимагають діагностики. У такому випадку пошук UPO не має сенсу, доки не зрозуміло, чи документ взагалі прийнято.
| Код | Значення | Чи шукати UPO? |
|---|---|---|
| 100 | Рахунок прийнято до подальшої обробки | Ні. Далі моніторте той самий рахунок. |
| 150 | Обробка триває | Ні. Чекайте кінцевого результату. |
| 200 | Успіх | Так. Збережіть номер KSeF і завантажте UPO. |
| 410 | Неправильний обсяг дозволів | Ні. Перевірте контекст і доступ. |
| 430 | Помилка перевірки файлу рахунка | Ні. Перевірте XML і деталі помилки. |
| 435 | Помилка розшифрування файлу | Ні. Перевірте технічну підготовку даних. |
| 440 | Дублікат рахунка | Спочатку знайдіть первинну сесію і первинний номер KSeF. |
| 450 | Помилка семантичної перевірки документа | Ні. Виправте зазначену невідповідність даних. |
| 500 або 550 | Помилка або скасування обробки | Не повторюйте надсилання до з'ясування стану попередньої операції. |
Як завантажити UPO в Aplikacja Podatnika KSeF 2.0
Для ручного шляху почніть з правильного контексту платника. Увійдіть до Aplikacja Podatnika KSeF 2.0, виберіть правильний суб'єкт або NIP і знайдіть рахунок за власним номером, номером KSeF, датою або даними надсилання.
Потім перевірте статус документа. Якщо рахунок прийнято і він має номер KSeF, завантажте UPO через дію біля рахунка або сесії. Якщо статус показує помилку, переходьте до діагностики відхилення.
Назви кнопок тут не подаються як постійні, бо інтерфейс може змінюватися. Перед публікацією інструкції з кліками потрібно звірити її з актуальним посібником MF або поточним екраном застосунку.
Як завантажити UPO через API KSeF
В інтеграції API спочатку отримують список сесій або статус конкретної сесії, потім рахунки в сесії або статус окремого рахунка. Лише після підтвердження прийняття документа переходять до endpoint UPO.
Документація CIRF описує два шляхи для UPO окремого рахунка: за референсним номером рахунка і за номером KSeF. Для UPO сесії є окремий endpoint з референсним номером UPO.
На практиці інтеграція повинна зберігати референс сесії, референс рахунка, номер KSeF, статус, дату прийняття і посилання або завантажений XML UPO. Без цих даних потім важко знайти підтвердження.
| Мета | Endpoint | Коли використовувати |
|---|---|---|
| UPO рахунка за референсом | `GET /sessions/{referenceNumber}/invoices/{invoiceReferenceNumber}/upo` | Коли є номер сесії і референс рахунка з цієї сесії. |
| UPO рахунка за номером KSeF | `GET /sessions/{referenceNumber}/invoices/ksef/{ksefNumber}/upo` | Коли є номер сесії і номер KSeF прийнятого рахунка. |
| UPO сесії | `GET /sessions/{referenceNumber}/upo/{upoReferenceNumber}` | Коли статус закритої сесії повернув референси сторінок UPO. |
UPO рахунка і UPO сесії
У щоденній роботі легко сплутати UPO рахунка з UPO сесії. UPO рахунка стосується одного документа. UPO сесії є збірним підтвердженням, яке з'являється після закриття й обробки сесії.
При невеликій кількості рахунків зазвичай потрібне підтвердження конкретного рахунка. При пакетному надсиланні важливий також контроль усієї пачки: скільки документів прийнято, скільки відхилено і з якими номерами KSeF потрібно пов'язати UPO.
| Елемент | Що охоплює | На що звернути увагу |
|---|---|---|
| UPO рахунка | Один успішно прийнятий рахунок | Має відповідати власному номеру рахунка і номеру KSeF. |
| UPO сесії | Збірне підтвердження для сесії | Не замінює перевірку статусу кожного рахунка в пачці. |
| Референсний номер сесії | Технічну операцію надсилання | Не є номером KSeF рахунка. |
| Номер KSeF | Прийнятий рахунок у системі | Не вписується вручну в XML перед надсиланням. |
Чому самого номера KSeF може бути недостатньо для пошуку UPO
Номер KSeF ідентифікує рахунок, прийнятий системою, і повертається в UPO, але для endpoint завантаження в контексті сесії потрібен також контекст сесії. Сам номер KSeF без знання, де і як рахунок був надісланий, може бути недостатнім.
Друга поширена проблема - плутанина номерів. Власний номер рахунка походить із системи продавця, референс сесії описує технічну операцію, а номер KSeF виникає лише після прийняття рахунка.
Якщо у вас є лише номер рахунка з поля P_2, почніть з пошуку документа в інструменті, через який він був надісланий. Лише потім зчитайте номер KSeF, номер сесії і шлях до UPO.
Що робити, якщо рахунок має номер KSeF, але UPO не завантажується
Номер KSeF є сильним сигналом, що рахунок прийнято, але проблема із завантаженням UPO може виникнути через посилання, дозволи, контекст або застосунок. Не створюйте новий рахунок і не надсилайте той самий документ повторно.
Спочатку оновіть статус рахунка. Якщо відповідь містить посилання на UPO, перевірте строк його дії. OpenAPI описує `upoDownloadUrl` як посилання, що генерується при запиті статусу, завантажується методом HTTP GET і закінчується через певний час.
Якщо посилання прострочене, згенеруйте його повторно через статус. Якщо працюєте через застосунок, перевірте правильний контекст NIP і чи цей застосунок підтримує UPO для цього рахунка. У KSeFGPT UPO доступне для рахунків, надісланих через цей застосунок.
| Симптом | Можлива причина | Що зробити |
|---|---|---|
| Є номер KSeF, але дія UPO неактивна | Застосунок ще не оновив статус або не підтримує цей рахунок | Оновіть статус і перевірте джерело надсилання. |
| Посилання UPO повертає помилку | Посилання прострочене | Згенеруйте нове посилання через повторний запит статусу. |
| Немає доступу до документа | Неправильний контекст NIP або дозволи | Перемкніть суб'єкт і перевірте доступ користувача. |
| UPO в іншій системі | Рахунок був надісланий через ERP або іншу інтеграцію | Шукайте в системі первинного надсилання або Aplikacja Podatnika. |
Що робити, якщо рахунок не має номера KSeF і UPO
Якщо немає ані номера KSeF, ані UPO, справа ще відкрита. Документ може оброблятися або бути відхиленим. Не надсилайте автоматично іншу версію, доки не знаєте кінцевого статусу.
Перевірте, чи статус не 100 або 150. Якщо статус показує помилку, отримайте деталі, включно з кодом, описом, details і можливими extensions. При коді 440 перевірте первинну сесію і первинний номер KSeF, бо це може бути дублікат.
Повну процедуру для помилок описано в посібнику Рахунок відхилено KSeF. Цей текст відповідає тільки на питання, чому UPO не видно і як встановити, чи підтвердження вже мало існувати.
Як KSeFGPT допомагає при відсутності UPO
KSeFGPT впорядковує процес після надсилання: користувач бачить статус документа, референсний номер, результат обробки і наступні дії біля рахунка. Це важливо, бо відсутність UPO не повинна завершуватися ручним здогадуванням, чи документ прийнято.
Якщо рахунок надіслано через KSeFGPT, застосунок може показати його статус і зробити UPO доступним у тому самому процесі. Якщо документ було надіслано іншою системою, шукайте підтвердження в тому інструменті, Aplikacja Podatnika KSeF або через API.
Так бухгалтерія має одну процедуру: перевірити статус, прочитати номер KSeF, завантажити UPO після успіху або перейти до діагностики помилки. Це зменшує ризик повторного надсилання лише тому, що підтвердження не було видно на першому екрані.

Контролюйте статуси і UPO в одному процесі
KSeFGPT допомагає надіслати рахунок до KSeF, перевірити статус, прочитати номер KSeF і завантажити UPO для документів, оброблених у застосунку.
Перейти до KSeFGPTЯк називати й архівувати завантажене UPO
Технічне FAQ Міністерства фінансів вказує, що немає обов'язку завантажувати й архівувати UPO KSeF. Попри це в операційній роботі варто зберігати UPO локально, бо це допомагає при аудиті, контролі статусів і питаннях контрагентів.
Найкращий комплект включає XML рахунка, номер KSeF, UPO, власний номер рахунка з P_2, дату прийняття, NIP продавця, контекст платника та інформацію, через який інструмент рахунок було надіслано.
Проста назва файлу може виглядати так: `NIP_prodavtsia-nomer_rakhunka-nomer_KSeF-upo.xml`. Важливіше за саму назву те, щоб команда завжди могла пов'язати UPO з конкретним рахунком, а не лише з пачкою або сесією.
Поширені запитання
Чи відсутність UPO означає, що рахунок не прийнято KSeF?
Не завжди. Відсутність UPO може означати, що рахунок ще обробляється, сесію не завершено, посилання для завантаження прострочене, ви шукаєте не в тій сесії або документ відхилено. Спочатку перевірте статус рахунка і номер KSeF.
Коли можна завантажити UPO в KSeF?
UPO рахунка можна завантажити після успішної обробки документа, тобто після статусу успіху і присвоєння номера KSeF. UPO сесії доступне після закриття та обробки сесії, якщо були створені сторінки UPO.
Чи можна завантажити UPO за номером KSeF?
Так. API KSeF передбачає завантаження UPO рахунка із сесії за номером KSeF і номером сесії. У користувацьких застосунках зазвичай використовують пошук рахунків або дію біля документа.
Чи достатньо статусу 100 або 150 для завантаження UPO?
Ні. Статус 100 означає прийняття рахунка до подальшої обробки, а статус 150 означає, що обробка триває. У цих станах потрібно далі моніторити той самий рахунок або сесію.
Що робити, якщо рахунок має номер KSeF, але UPO не завантажується?
Оновіть статус, перевірте посилання на UPO і строк його дії, згенеруйте посилання повторно через статус, переконайтеся, що працюєте у правильному контексті NIP, і перевірте, чи інструмент підтримує UPO для цього рахунка.
Чи потрібно зберігати UPO KSeF?
Згідно з технічним FAQ Міністерства фінансів, немає обов'язку завантажувати й архівувати UPO KSeF. Операційно варто зберігати UPO разом з XML, номером KSeF, номером рахунка і датою прийняття.
Чи KSeFGPT завантажить UPO для рахунка, надісланого іншою системою?
Не слід цього припускати. У KSeFGPT UPO доступне для рахунків, надісланих через цей застосунок. Якщо рахунок надіслано іншою системою, шукайте UPO в тому інструменті, в Aplikacja Podatnika KSeF або через власну інтеграцію API.
Рекомендація
Якщо UPO немає, не починайте з повторного надсилання. Спочатку перевірте статус того самого рахунка або сесії, номер KSeF, референсний номер, контекст NIP і джерело надсилання. Лише статус показує, чи потрібно чекати, згенерувати посилання повторно, шукати в іншому інструменті або виправляти помилку.
Якщо статус 200, завантажте UPO і збережіть його з номером KSeF та власним номером рахунка. Якщо статус 100 або 150, продовжуйте моніторинг. Якщо статус показує помилку, переходьте до діагностики відхилення замість створення нової версії документа.
Читайте далі: UPO в KSeF, Рахунок відхилено KSeF, Надсилання рахунків до KSeF та Скільки часу є на надсилання до KSeF.
Завершіть надсилання рахунка разом з UPO
У KSeFGPT можна надіслати рахунок до KSeF, перевірити статус, прочитати номер KSeF і завантажити UPO для документів, оброблених у застосунку.
Перейти до KSeFGPTДжерела
Статтю підготовлено на основі офіційних матеріалів Міністерства фінансів Польщі, документації CIRF і KSeF API, перевірених 20 червня 2026 року.
- Посібник KSeF 2.0, частина II: виставлення й отримання рахунків у KSeF
Міністерство фінансів Польщі · доступ: 20 червня 2026
Офіційний посібник про виставлення, отримання, статус 200, номер KSeF і UPO.
- Номер KSeF і збірний ідентифікатор
Міністерство фінансів Польщі · доступ: 20 червня 2026
Офіційне пояснення номера KSeF, його присвоєння після прийняття рахунка і повернення в UPO.
- Що містить UPO?
Міністерство фінансів Польщі · доступ: 20 червня 2026
Графіка MF з елементами UPO і відмінністю між референсним номером та номером KSeF.
- Сесія: перевірка статусу і завантаження UPO
CIRF / Міністерство фінансів Польщі · доступ: 20 червня 2026
Документація операцій перевірки статусу сесії, рахунків у сесії, UPO рахунка і UPO сесії.
- KSeF API 2.0
Міністерство фінансів Польщі · доступ: 20 червня 2026
Документація API PR 2.6.0 зі статусами рахунків, `upoDownloadUrl`, endpoint UPO і заголовком `x-ms-meta-hash`.
- Технічні питання
Міністерство фінансів Польщі · доступ: 20 червня 2026
Технічне FAQ, зокрема про відсутність обов'язку завантажувати й архівувати UPO KSeF та правила дублікатів.
- Aplikacja Podatnika KSeF 2.0: посібник користувача
Міністерство фінансів Польщі · доступ: 20 червня 2026
Посібник застосунку, який потрібно перевірити перед публікацією точних назв кнопок і шляхів кліків.
Перевірено експертом: Bogdan Mazurek
Податковий консультант · 20 червня 2026
Перевірено розрізнення між статусом надсилання, номером KSeF, UPO рахунка і UPO сесії, а також відповідність процедури документації KSeF API і матеріалам Міністерства фінансів.
Читайте також
Коригування до нуля в KSeF і ризик спору з податковою щодо VAT
Перевірте, коли обнулення рахунку в KSeF є обгрунтованим, а коли краще виправити конкретну помилку, щоб не створювати ризику у VAT.
KSeF для малого бізнесу. Як вибрати застосунок для рахунків і роботи з бухгалтерією у 2026 році
Практичний посібник для малих компаній, одноосібної діяльності та мікробізнесу: строки KSeF, отримання витрат, UPO, номер KSeF, XML FA(3), інструменти MF і KSeFGPT.
Чи має перекладений PDF рахунку KSeF юридичну силу?
Чим перекладена PDF-візуалізація відрізняється від XML FA(3), номера KSeF і UPO та як безпечно передати рахунок іноземному контрагенту.
Рахунок німецькою для контрагента з Німеччини в KSeF
Як підготувати рахунок для німецького контрагента в KSeFGPT, перевірити дані DE і VAT UE, надіслати XML до KSeF та згенерувати інформаційну візуалізацію PDF німецькою мовою.