H7.12.3immutable receipt设计研究
凭证内容一旦生成不应被事后修改,变更需另开记录
别名: 凭证不可改 · 订单更正单 · receipt immutability
概念解释
订单确认、购买凭证、已开发票上的字段一旦出具,金额、税号、商品行就不能在原文件上改写。改地址、退一件、开红字,必须另开记录(更正单、部分退款凭证、红字发票),并与原件交叉引用。人拿着旧截图对账时,原件必须仍能对上当时那一笔。这条不管多渠道列表,也不管邮件和 App 是否同文——那是通道一致;这里是时间上的不可篡改。
机制
凭证的用处是事后对照。若原件会变,银行账单、报销、客服口头承诺都会失去锚。商家改库存文案或改展示名,若写回已出具的行,人会认为被调包。财务与税务把「作废 + 新开」当成合法变更,界面若做成原地编辑,等于教人以为历史可以擦。另开记录还让责任可追:谁在何时因何改了什么。静默覆盖则只剩最新态,争议无法还原。
怎么研究
出具凭证后改一件商品的展示名、退一件、改发票抬头。比较原地改 PDF 与另开更正并保留原件。让人对着第一张截图核对。
自变量:原件是否仍可下载、更正是否链接原件、展示层改名是否写回凭证。 因变量:截图与当前下载是否一致、报销是否仍认原件、争议时能否出示变更链。
不要用「现在数字是对的」当不可改——对的可能是覆盖后的数。要看第一张出具的那份还在不在。
边界
未出具的草稿(未支付、未开票)可以改。物流状态、预计送达是进行中字段,不属于已出具金额与税行。展示层翻译商品名可以在订单详情加现名,但凭证 PDF 应保留出具时的名称并注明。法定允许的电子发票红冲按当地流程,界面要走红冲而不是改原 PDF。
怎么落地
- 支付成功与开票成功各生成不可改快照,下载始终是该版本。
- 退款、改抬头、改商品行生成新记录,详情里按时间列出并链回原件。
- 商品改名只影响浏览,不影响已出具快照。
- 验证:出具后改 SKU 标题并退一件,再下载原凭证与新记录。原件金额与行仍是当时的,新记录写明差额。原 PDF 被改写即失败。