交付后客户说不能用,先分清三件事
2026 年 8 月我交付烧烤店那单,收入 ¥3000,其中手写代码不到 20 行。交付第二天客户发消息说「打不开」。交付后客户说不能用,十次里有八次不是代码的问题。 关键是在打开编辑器之前,先分清三件事。
第一件事:是真坏了,还是预期不对
这两件事的处理方式完全相反。
真坏了——功能本身有 bug,页面报错,数据不对。这种你改。
预期不对——客户想要的是 A,你交付的是 B,但需求文档里写的是 B。这种不能靠改代码解决,得回到当初确认过的内容上。
分辨方法很简单:让他描述「你期望发生什么,实际发生了什么」。 只要他不说这两句,你就不要动手。
第二件事:是谁的环境,谁的账号
我遇到那次「打不开」,最后查出来是客户用的浏览器版本太旧。
交付后的问题,第一反应应该是问三件事:什么设备、什么网络、什么账号。 这三样里任意一样和你测试时不同,问题就未必在你的代码里。
我当时的处理是先让客户换个浏览器试,五分钟解决。如果上来的第一反应是「我看看代码」,可能就要花一晚上。
第三件事:是本次范围,还是新需求
这是最容易吃亏的一条。
「不能用」这三个字很有弹性。 它可能指你交付的功能有问题,也可能指客户发现少了某个他从没提过的功能。
判断标准:翻回需求确认记录。 需求里有的,是你的责任;需求里没有的,是新需求,走变更流程,具体见客户中途加需求怎么加钱,别只加活儿。
这一步不做,你会免费干很多活。
我那次的处理过程
客户说打不开,我的实际动作是按顺序走的:
1. 先问三件事——设备、网络、账号,一次问完
2. 要截图或录屏——不是不信任,是文字描述误差太大
3. 自己复现——用客户说的一样条件跑一次
4. 给出结论和下一步——是环境问题就告诉他怎么换,是 bug 就说修复时间
整个过程我没打开过一次代码编辑器。 因为问题在第一步就定位了。
我踩过的坑。
早期我犯过一个错:客户说不能用,我第一反应是道歉,然后说「我马上看看」。
道歉太快会直接坐实责任。 后来改成先确认事实,再决定要不要道歉。这不是推卸,是不在事实不清的时候下结论。
第二个错是在群里公开讨论技术细节。客户群里还有他的同事和老板,技术讨论放进去会显得问题很大。改成私聊沟通,群里只发结论。
一套可以直接抄的回复模板
收到「不能用」的消息时,先回这一段:
「收到。为了快速定位,麻烦你提供三点:一是你用的设备和浏览器,二是打开的具体页面或操作步骤,三是你期望看到的结果和实际看到的结果。有截图或录屏更好。我这边同步复现,稍后给你结论。」
这段话的作用是把讨论从「你的东西坏了」拉回到「我们一起定位问题」。
分完三件事之后怎么走
- 真 bug:给修复时间,说明原因,改完再交付一次
- 环境问题:给操作指引,必要时远程看一下
- 预期偏差:翻需求记录,把确认过的内容截图发过去
- 新需求:走变更流程,报价后再动手
只有第一种和第四种需要写代码,但第四种要另外收钱。
至于责任划分、退款争议这些事,以合同约定和当地法律法规为准,我不给判断。
常见问题
Q:交付后客户说不能用怎么办?
A:先分清三件事——是真 bug 还是预期偏差、是不是客户环境问题、属于本次范围还是新需求。分类之前不要动手改代码。
Q:客户说不能用又不肯给截图,怎么办?
A:说明你需要这些信息才能定位,并把需要的内容列成清单发过去。对方不配合时,先把问题记录在案,约定一个回复期限。
Q:查出来是客户自己的环境问题,还要改吗?
A:不需要改代码,但可以给一份操作指引,或者远程协助一次。这部分是否算售后,按合同约定和当地法律法规口径处理。
相关阅读
本文作者西米,37 岁程序员,一个人加五个 AI 员工在跑一家公司。踩过的坑和真实账本都写在公众号「西米分享」。
完整代码、踩坑清单与最新进展,都在公众号。
📱 关注公众号「西米分享」