KAZENAKAZENA
Tất cả bài viết

Tính năng có phí mà chúng tôi quên khoá

August 31, 2026 · Taro — Nhà sáng lập KAZENA

Một tính năng chúng tôi ghi ở cột có phí trên trang giá hoá ra vẫn chạy bình thường trên các sổ miễn phí suốt thời gian qua. Trong 130 ngày không có gì chặn nó lại, bởi chúng tôi chưa bao giờ viết đoạn mã chặn nó. Chúng tôi bán nó, và chúng tôi quên lắp khoá.

Người phát hiện là E. Anh sống ở một thị trấn nhỏ cách Jakarta khá xa và luôn rà lại các câu chữ tiếng bản địa cho chúng tôi. Ngày 26 tháng 8, khi sửa bản tiếng Indonesia của trang giá, anh hỏi tính năng phê duyệt thuộc gói nào — vì cái nút của nó hiện rõ ràng trên sổ miễn phí anh lập ra để thử. Thứ anh gửi là một đoạn quay màn hình: một lượt phê duyệt chạy trọn vẹn trên màn hình miễn phí.

Tính năng phê duyệt nghĩa là bút toán do một người ghi sẽ được người khác kiểm tra trước khi vào sổ. Trước đó nó chỉ là bản nháp; khi người thứ hai duyệt, con số mới được tính vào tổng. Ở văn phòng nhỏ, người ghi và người kiểm thường là cùng một người, nên tính năng này tồn tại để chèn 1 bước có chủ đích vào giữa.

Tôi đọc lại mã nguồn. Bước kiểm tra gói để tắt một tính năng được viết đàng hoàng ở mọi nơi nó được viết. Chỉ riêng phần phê duyệt là không có bước kiểm tra đó. Trang giá nằm trong tệp câu chữ, còn bước kiểm tra nằm trong mã — cùng một điều được viết ở 2 nơi, và 1 trong 2 đã bị quên. Chúng tôi đưa tính năng này lên trang giá ngày 18 tháng 4. E nhận ra ngày 26 tháng 8. Khoảng cách là 130 ngày.

Chúng tôi đếm. Có 418 sổ đang chạy trên gói miễn phí. Trong số đó, 31 sổ từng dùng phê duyệt ít nhất 1 lần. Trong 130 ngày ấy, 2.842 bút toán đã đi qua nó. Không ai làm gì sai cả. Có một cái nút trên màn hình, và họ bấm vào.

Tôi cũng xem phía tiền bạc. Trong giai đoạn đó có 24 sổ chuyển sang gói trả phí, và 3 sổ trong số ấy đã dùng phê duyệt trong 30 ngày trước khi chuyển. Họ trả tiền có phải vì tính năng này hay không thì hồ sơ của chúng tôi không trả lời được. Vì không trả lời được, tôi hỏi thẳng cả 3 người. Hai người nói lý do là chuyện khác, họ muốn tách sổ theo từng chi nhánh. Người còn lại nói đúng là vì phê duyệt, nên chúng tôi hoàn lại phí tháng đó.

Có 2 hướng đi. Viết bước kiểm tra rồi thu tính năng phê duyệt lại từ các sổ miễn phí, hoặc đưa phê duyệt thành tính năng miễn phí và sửa trang giá. Xét trên con số, hướng thứ nhất mới đúng. Không có lý do gì để tiếp tục cho không thứ mình vẫn đang bán.

Chúng tôi chọn hướng thứ hai. Suốt 130 ngày, màn hình ấy được dùng mỗi ngày. Với người đang dùng, đây không còn là chuyện đã hứa hay chưa hứa; nó đã là một phần trong cách họ làm việc. Phá vỡ nếp làm việc của họ để khoả lấp chỗ chúng tôi quên viết là một cách sửa sai lệch hướng. Người sai là chúng tôi, và thứ cần sửa không phải là phần mềm đang chạy.

Chuyện này cũng khiến tôi nghĩ lại về chính cách định giá. Phê duyệt tồn tại để ngăn sai sót, mà sai sót thì không chỉ người trả tiền mới mắc. Ngược lại, văn phòng càng ít người thì việc ghi và việc kiểm càng dễ kết thúc trong đầu một người duy nhất. Đặt một tính năng làm giảm sai sót sang phía có phí nghĩa là nó không đến được đúng những người cần nó nhất. V, nữ kế toán ở Jakarta, từng nói rằng thứ đắt nhất trong một văn phòng là có mắt của hai người cùng nhìn một công việc. Chính mắt của hai người ấy là thứ chúng tôi đã đem bán.

Chúng tôi đã sửa trang giá. Phê duyệt chuyển từ cột có phí sang cột miễn phí. Dòng đó được bỏ khỏi phần mô tả gói trả tiền, và bên miễn phí có thêm một dòng nói rằng bút toán có thể được kiểm trước khi vào sổ. Sản phẩm không thay đổi gì. Chúng tôi không thu lại thứ gì, nên với người đang dùng, màn hình vẫn y như hôm qua. Thứ duy nhất thay đổi là một câu chúng tôi từng viết.

Để chuyện này không lặp lại, việc tính năng nào thuộc gói nào giờ nằm ở 1 chỗ. Tất cả được viết trong 1 tệp, và cả phần hiển thị trên trang giá lẫn bước kiểm tra trong mã đều đọc từ đó. Nhân tiện tôi đối chiếu lại toàn bộ. Chúng tôi ghi 9 tính năng là có phí; 1 trong số đó — chính là tính năng này — hoàn toàn không có bước kiểm tra, và 2 tính năng khác có kiểm tra nhưng câu chữ lệch với trang giá. Với 2 tính năng ấy, chúng tôi sửa trang giá cho khớp với những gì phần mềm thực sự làm.

Cũng nên nói vì sao loại sai sót này không bao giờ được báo. Không ai báo lỗi vì mình nhận được nhiều hơn phần đã trả. Những sai sót có lợi cho người dùng không bao giờ quay về tới chúng tôi; các báo cáo đến nơi luôn đến từ phía chịu thiệt. Nghĩa là im lặng không phải bằng chứng rằng mọi thứ đều đúng. Có những sai sót chỉ lộ ra khi tự mình ngồi đếm.

Tôi có một mong muốn. Nếu điều ghi trên trang giá của KAZENA và điều thực sự chạy trên màn hình không khớp nhau, xin hãy báo cho chúng tôi theo cả hai chiều — không chỉ khi thứ bạn đã trả tiền không mở được, mà cả khi có thứ mở ra dù lẽ ra không nên. Câu chữ chúng tôi viết và mã chúng tôi viết không có gì bảo đảm là nói cùng một điều. Lần này người bắt được chỗ lệch là đồng nghiệp đang dịch trang giá.

Hãy cho chúng tôi biết bạn nghĩ gì

Cảm giác khi dùng các ứng dụng KAZENA, điều gì chúng tôi nên sửa, những tính năng bạn ước có — nếu bạn đang điều hành một doanh nghiệp nhỏ hoặc vừa, hay làm nghề tự do ở Indonesia hoặc Philippines, tiếng nói của bạn chính là điều chúng tôi mong được nghe nhất. Những tin nhắn bằng tiếng Indonesia hoặc tiếng Anh sẽ được trả lời bởi các đồng đội hiểu thị trường của bạn từ bên trong. KAZENA Books đã được ấn định ra mắt tại Philippines và Indonesia — và nếu công ty của bạn muốn đưa nó đến các quốc gia khác với tư cách đối tác, hoặc quan tâm đến việc mua lại hệ thống, chúng tôi cũng rất mong nhận được liên hệ từ bạn. Chúng tôi cũng nhận phát triển hệ thống mới. Chúng tôi là một đội nhỏ, nên không phải lúc nào cũng có thể bắt tay ngay — nhưng những gì chúng tôi xây dựng đều mang chất lượng made-in-Japan và luôn bám sát cách công việc kinh doanh thực sự vận hành ở đây, từng dự án một.

Liên hệ với chúng tôi

Thêm bài viết từ blog