Офлайн
Модуль розв'язує одну задачу: торгувати, коли зв'язку немає. Звичайна каса при кожній дії ходить на сервер — за залишком, ціною, знижкою. Автономна каса так не може: інтернет у сільському магазині зник, а черга стоїть.
Розв'язок — розділити ролі. Термінал тримає локальну копію довідників і оформлює чеки сам; сервер, коли зв'язок з'явився, забирає ці чеки й перетворює їх на повноцінні рахунки-фактури з рухом складу й проводками. Каса не веде обліку — вона фіксує факт продажу, а облік роблять уже на сервері.
Маршрут: від автономного чека до документа
Налаштування офлайн-синхронізації (спільні правила обміну)
↓
Офлайн-термінал (робоче місце) + офлайн-серія номерів (свій діапазон чеків)
↓
Торгівля без зв'язку: чек = товари, кількість, ціна, готівка
↓
Синхронізація: ← довідники на касу · чеки на сервер →
↓
Офлайн-продажі → рахунки-фактури: склад, проводки, виручка
↓
Журнал офлайн-синхронізації: коли, який термінал, скільки записів
- Налаштування офлайн-синхронізації — що сервер підставляє в чеки, у яких чогось бракує: клієнта й умови сплати за замовчуванням. Адресу сервера, інтервал і таймаут каса звідси зараз не бере — їх задають у конфігурації касового застосунку.
- Офлайн-термінал — картка автономного робочого місця.
- Офлайн-серія номерів — власний діапазон номерів чеків для терміналу, щоб не зіткнутися з сервером і сусідніми касами.
- Офлайн-продажі — журнал чеків, які прийшли з кас. Із них сервер і робить документи обліку.
- Журнал офлайн-синхронізації — протокол обміну: коли, який термінал, по якому реєстру, в який бік і скільки записів.
Що важливо розуміти
Чек із каси нічого не рухає. Ані складу, ані бухгалтерії — це просто факт продажу. Усе інше робить сервер при синхронізації. Тому «продажі є в касі, але їх немає у звітах» майже завжди означає, що обмін не пройшов, а не що чек загубився.
Номер чека — не спільний лічильник, а діапазон. Кожному терміналу видають свій, і в ньому більше ніхто не працює. Це єдиний спосіб нумерувати документи без зв'язку й не отримати двох чеків з однаковим номером.
Журнал синхронізації — перше місце, куди дивитися. Він показує, чи взагалі був обмін, у який бік і скільки записів пройшло. Записи веде сервер, руками туди нічого не вносять.
Довідники їдуть на касу, чеки — на сервер. Обмін двобічний: що каса отримує і що віддає, задає вкладка «Регістри синхронізації» картки терміналу. Типово товари й контакти їдуть на касу, продажі — на сервер; рахунки-фактури сервер робить лише з офлайн-продажів.
Обмін вмикають на сервері, а не в інтерфейсі. Поки в конфігурації сервера не ввімкнено офлайн-синхронізацію (OFFLINE_SYNC_ENABLED), каса до нього не достукається — на кожен запит обміну сервер відповідає кодом 404, і жоден чек не прийде, хоч пункти меню модуля на місці.
Офлайн-каса — окремий застосунок, а не режим екрана каси. На касовому компʼютері стоїть офлайн-клієнт ERPJS зі своєю базою, і продаж оформлюють записом офлайн-продажу — без кнопок і змін POS і без фіскалізації. Модуль додає автономність і правила обміну.
З чого почати в новій базі
- Налаштування офлайн-синхронізації — клієнт і умови сплати за замовчуванням.
- Офлайн-термінали — по картці на кожне автономне робоче місце.
- Офлайн-серії номерів — діапазон кожному терміналу, з запасом.
- Підключити касу й перевірити перший обмін у журналі.
Часті задачі
| Треба | Куди йти |
|---|---|
| додати автономну касу | Офлайн-термінали |
| видати касі номери чеків | Офлайн-серії номерів |
| подивитися продажі автономних кас | Офлайн-продажі |
| зрозуміти, чому продажі не дійшли | Журнал офлайн-синхронізації |
| змінити правила обміну | Налаштування офлайн-синхронізації |
Усі об'єкти модуля
Документи: офлайн-продажі
Довідники: офлайн-термінали · офлайн-серії номерів
Журнали: журнал офлайн-синхронізації
Налаштування: налаштування офлайн-синхронізації
Куди дивитися далі
- POS — звичайна каса, зі зв'язком і повним набором можливостей.
- Розрахунки з клієнтами — рахунки-фактури, на які перетворюються офлайн-чеки.
- Чекбокс · Вчасно.Каса — фіскалізація продажів.