Translation. Original: offline/automatyczne-okreslanie-trybu-offline.md
Автоматичне визначення режиму відправлення offline
04.10.2025
У випадку рахунків, що надсилаються як online (offlineMode: false), система KSeF може призначити їм режим offline - на основі порівняння дати виставлення з датою прийняття до обробки.
Алгоритм механізму
Для рахунків, що надсилаються як offlineMode: false, система порівнює:
- дату виставлення рахунку (
issueDate, наприклад,P_1для рахунку відповідно до FA(3)), - дату прийняття рахунку в системі KSeF для подальшої обробки (
invoicingDate).
Правила:
- Якщо календарний день з
issueDateє раніший ніж календарний день зinvoicingDate(порівняння за датою, а не за годиною), система автоматично позначає рахунок як offline, навіть якщо він не був так задекларований. - Якщо день
issueDateі деньinvoicingDateоднакові, рахунок залишається online.
Значення invoicingDate залежить від режиму відправлення:
- пакетна сесія -
invoicingDateце момент відкриття сесії (дорівнюєdateCreated, що повертається в статусі сесії - GET/sessions/{referenceNumber}), - інтерактивна сесія -
invoicingDateце момент надсилання рахунку.
Це означає, що якщо, наприклад, рахунок було виставлено 2025-10-03 (P_1), а надіслано 2025-10-04 о 00:00:01, то незважаючи на offlineMode: false він буде позначений як рахунок offline.
Приклади
Пакетна сесія відкрита о 23:59:59 3 жовтня: Навіть якщо пакет буде надіслано після опівночі, рахунки залишаться online – оскільки invoicingDate це 3 жовтня (дата відкриття сесії).
Інтерактивна сесія розпочата о 23:59:59 3 жовтня, а рахунки були надіслані після опівночі: Якщо P_1 = 2025-10-03, система позначить їх як offline – оскільки день P_1 є раніший ніж день надсилання.