Credit Khata Общая долговая книга
Простыми словами

Почему небольшому магазину нужен учёт, работающий без интернета

Учёт с приоритетом офлайна сначала сохраняет запись на устройстве, а загружает позже: касса не ждёт сеть, а аккуратная синхронизация следит, чтобы ничего не пропало и не задвоилось.

Команда Credit Khata Обновлено 4 мин чтения
Скриншот Credit Khata из Play Store с заголовком «Нет связи — не проблема»: запись с пометкой «В ожидании» на странице клиента
На этой странице
  1. Почему у кассы пропадает связь
  2. Что идёт не так с учётом, работающим только онлайн
  3. Что значит «офлайн в первую очередь» на практике
  4. Чего офлайн не умеет
  5. Как это сделано в Credit Khata
  6. Вопросы, которые стоит задать любому приложению для учёта
  7. Итог

Учёт, работающий в первую очередь офлайн, сначала записывает каждую запись на устройство магазина, а на сервер отправляет её позже, когда появится связь. Касса никогда не ждёт сеть, продажа никогда не теряется из-за пропавшего сигнала, а аккуратная синхронизация следит, чтобы каждая запись дошла один раз и по порядку. Для магазина, который продаёт в долг, это разница между записью, которой можно доверять, и записью, полной пробелов.

Многие приложения работают только онлайн: каждое нажатие уходит на сервер и ждёт ответа. В офисе с хорошим Wi-Fi это работает. Касса магазина — совсем другое место.

Почему у кассы пропадает связь

Каждый, кто держит магазин, знает этот список:

  • Отключения электричества, из-за которых выключается роутер.
  • Слабый мобильный интернет в магазине с толстыми стенами, на рынке в подвале или в глубине людного базара.
  • Пакет трафика, который заканчивается в середине месяца.
  • Часы пик, когда весь рынок одновременно сидит в телефонах.

Ничто из этого не редкость. И случается обычно именно тогда, когда на кассе больше всего людей.

Что идёт не так с учётом, работающим только онлайн

Когда сеть пропадает и приложение не может сохранить запись, у продавца три плохих варианта:

  1. Заставить покупателя ждать, пока за ним растёт очередь.
  2. Записать на бумажку «на потом» и надеяться, что её внесут. Некоторые бумажки так и не вносят.
  3. Пропустить и положиться на память.

Каждый вариант оставляет пробел в записи. Пробелы превращаются в неверные балансы, а неверные балансы — в споры с покупателем, то есть ровно в то, от чего долговая книга должна защищать.

Есть и более тонкая проблема. Если продажа отправлена, сеть пропала раньше, чем пришёл ответ, и продавец снова нажал «Сохранить», приложение, работающее только онлайн, может записать одну и ту же продажу в долг дважды. И с покупателя спишут за один и тот же мешок муки два раза.

Что значит «офлайн в первую очередь» на практике

Такой учёт переворачивает схему:

  1. Сначала запись на месте. Запись сохраняется на устройстве в момент нажатия «Сохранить». Касса переходит к следующему покупателю.
  2. Очередь. Записи, ожидающие загрузки, стоят в упорядоченной очереди, а на экране видно, что они в ожидании.
  3. Синхронизация в фоне. Когда связь возвращается, очередь загружается сама, начиная с самых старых.
  4. Ровно один раз. У каждой записи есть уникальный ключ. Если загрузка повторяется, сервер узнаёт ключ и не записывает её снова.
  5. Никогда не выбрасывать отказ. Если сервер отклоняет запись — например, потому что покупателя уже удалили, — она откладывается, чтобы продавец её проверил, а не выбрасывается молча.

Последний пункт легко упустить. Синхронизация, которая тихо выбрасывает то, что не смогла сохранить, почти так же плоха, как её отсутствие.

Чего офлайн не умеет

Честно говорить об ограничениях важно. Некоторым вещам нужен ответ сервера, и они ждут связи:

  • То, что видит покупатель. Магазин видит офлайн-запись сразу, а покупатель — только после синхронизации.
  • Подтверждение сообщения об оплате, которое должно быть записано на сервере.
  • Ссылки в напоминаниях, которые создаёт сервер.
  • Отчёты по всем вашим покупателям.

Хорошее приложение, работающее в первую очередь офлайн, не даёт кассе остановиться и честно показывает, что ждёт отправки.

Как это сделано в Credit Khata

Credit Khata создан для касс с неустойчивой связью:

  • Приложение «Касса» (в браузере, его можно установить на компьютер или телефон) хранит на устройстве свои экраны, ваш язык и список клиентов, поэтому открывается даже без интернета, если им уже пользовались онлайн. Продажи, пробитые на экране Продажи, сохраняются в очередь на устройстве, каждая со своим ключом.
  • Индикатор синхронизации вверху экрана «Продажи» показывает Всё синхронизировано, сколько продаж ожидает или Синхронизация, а нажатие на него открывает очередь.
  • Отклонённые продажи откладываются, а не выбрасываются: они попадают в Не удалось сохранить с кнопками Повторить все и Удалить. Если вы выходите из аккаунта, пока продажи ещё в очереди, приложение сначала спросит, потому что они будут удалены.
  • Приложение для Android хранит новых клиентов и все записи — в долг, оплаты и наличные — на телефоне и синхронизирует их в фоне.
Экран «Продажи» в приложении «Касса» Credit Khata с индикатором «Всё синхронизировано» вверху справа
Индикатор синхронизации с первого взгляда показывает, все ли продажи дошли до сервера

Практические шаги, в том числе что делать, если продажу не удалось сохранить, — в статье Работайте без интернета и держите книгу синхронизированной.

Вопросы, которые стоит задать любому приложению для учёта

Чем бы вы ни пользовались, проверьте это, прежде чем на него полагаться:

  1. Включите режим полёта и запишите продажу. Сохранилась ли она?
  2. Закройте приложение и откройте снова, всё ещё без интернета. Продажа на месте?
  3. Включите интернет обратно. Загрузилась ли она сама?
  4. Запишите продажу, пока сигнал то появляется, то пропадает. Появилась ли она один раз, а не два?
  5. Что происходит с записью, которую отклонил сервер? Её видно?

Если приложение проходит все пять проверок, касса продолжит работать даже в худший для сети день месяца.

Итог

Книга долгов полезна, только если она полная. У загруженной кассы с ненадёжной связью единственный способ сохранить её полной — сначала записывать, а синхронизировать потом, аккуратно. Это и значит «офлайн в первую очередь», и именно поэтому в небольшом магазине это важнее, чем почти где-либо ещё.

Как это сочетается с остальными возможностями электронной долговой книги, читайте в статье Что такое долговая книга? Электронная книга против бумажной тетради или начните со статьи Запишите продажу в долг на кассе.

Частые вопросы

Что значит «офлайн в первую очередь»?

Приложение сначала записывает каждую запись на устройство и относится к интернету как к тому, что то есть, то нет. Записи загружаются в фоне, когда появляется связь.

Может ли офлайн-запись записаться дважды при синхронизации?

В хорошо сделанном приложении — нет. У каждой записи есть уникальный ключ, поэтому при повторной загрузке сервер узнаёт её и записывает только один раз.

Видит ли покупатель офлайн-запись сразу?

Только после синхронизации. Магазин видит её сразу на своём устройстве, а у покупателя всё обновится, когда запись дойдёт до сервера.

Что нельзя сделать без интернета?

Всё, для чего нужен ответ сервера: например, подтвердить оплату покупателя, создать ссылку для напоминания или построить отчёты.

Эта запись была полезной?

Читать дальше

Все статьи
Выписка по долговой книге клиента в Credit Khata: начальный баланс, всего в долг, всего оплачено и сумма к оплате
Простыми словами

Что такое долговая книга? Электронная книга против бумажной тетради

Долговая книга — это учёт продаж в долг: кто взял товар в долг и кто заплатил. Электронная книга ведёт ту же запись, но добавляет итоги, резервные копии, напоминания и доступ для клиента.

5 мин чтения
Экран «Продажи» в Credit Khata: продажа в долг клиенту с корзиной, итогом и кнопкой «Записать в долг»
Руководства

Как вести продажи в долг в продуктовом магазине у дома

Решите, кому давать в долг, задайте каждому клиенту лимит и срок, записывайте каждую покупку с товарами и каждую оплату, раз в неделю смотрите старые долги и вежливо напоминайте.

5 мин чтения
Окно «Напомнить всем» в Credit Khata с «Напоминание 1 из 3» и кнопками WhatsApp, СМС и «Пропустить»
Руководства

Шаблоны напоминаний об оплате в WhatsApp для магазинов (на «вы» и на «ты»)

Готовые напоминания об оплате в WhatsApp для магазинов, на «вы» и на «ты»: до срока, в день срока, после просрочки, повторное, а также благодарность и сообщения о графике оплаты.

5 мин чтения