Credit Khata 共享账本
概念解读

为什么离线优先的账本对小店很重要

离线优先的账本会先把每条记录保存在设备上,之后再上传,所以收银台永远不用等网络;而严谨的同步机制能确保记录既不会丢失,也不会重复。

Credit Khata 团队 更新于 阅读约 1 分钟
Credit Khata 的 Play 商店截图,标题为“没有信号也没问题”,显示顾客页面上一条标记为待处理的记录
本页内容
  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. 服务器拒绝的记录会怎样?您能看到它吗?

如果一个应用这五项都能通过,那么即使在一个月里网络最差的那天,收银台也能照常工作。

归根结底

赊账账本只有完整才有用。在网络不稳定、生意又忙的柜台前,保持完整的唯一办法,就是先记下来,再严谨地同步。这就是离线优先的意义,也是为什么它在小店里比在几乎任何其他地方都更重要。

想了解它如何与电子赊账本的其他部分配合,请阅读什么是赊账本?电子赊账本与纸质账本对比,或者从在收银台记一笔赊账销售开始。

常见问题

“离线优先”是什么意思?

应用会先把每条记录写到设备上,并把网络当作时有时无的东西。有网络时,记录会在后台上传。

离线记录同步时会被记两次吗?

在设计良好的应用中不会。每条记录都带有一个唯一的标识,所以即使上传重试,服务器也能认出来,只记录一次。

顾客能马上看到离线记下的记录吗?

要等同步之后。店铺在自己的设备上立刻就能看到;记录到达服务器后,顾客那边的视图才会更新。

哪些操作无法离线完成?

任何需要服务器回应的操作,例如确认顾客的付款、生成提醒链接或生成报表。

这篇博文有帮助吗?

继续阅读

全部文章