"Is this an error?" That single line, with one screenshot, reached me on 18 August. V sent it. She is an accountant in Jakarta who tests KAZENA Books with her own firm's real data. The image showed a finished table and an export button that would not go down.
She was preparing withholding slips for 12 payments and about to produce the file that goes to Coretax. All 12 rows carried a green mark; no input was missing. And yet the export button in the corner sat grey, and pressing it did nothing at all. She spent about 20 minutes opening the rows again one by one, looking for the mistake she had made.
The cause was not in the table. It was on another screen. The file we produce has to carry the signer on the company side — the name, and the capacity in which that person signs. Those 2 fields were still empty in this ledger. They live under company information in the settings, which is nowhere in sight from the export screen where she was standing.
It is in the manual. Page 9 of the 24-page PDF we hand out, in the very first setup section, covers registering the signer. My first thought was that pointing her at that page would settle the matter. I am not proud of this: I had already typed the page number into a draft reply before my hand stopped.
A manual is arranged in the order the people who built the thing think about it. Set up, register, record, and export at the end. Nobody arrives in that order. She created this ledger on a different day, and what she wanted that day was to record entries. Something being written down, and the moment to read it ever arriving for that person, are two different things. Using the first to blame someone for the second is just passing the burden along.
We counted. Between 1 June and 18 August, there were 68 occasions where someone reached the export screen and left without producing a file. Of those, 51 ended for the same reason: an empty signer. Of those 51, only 9 got as far as an export later the same day. The rest went home with nothing.
The button explained nothing. The only explanation we had built was a small bubble that appears when a cursor rests on it. Phones do not have a cursor. A button that cannot be pressed and will not say why gets read as broken. Her question was not confusion. It was an accurate description of what sat in front of her.
Why lock it at all? So that an incomplete document could never reach the tax office. We thought of that as caution. But what we were protecting there was the document, not the person in front of the screen. Refusing without giving a reason moves the weight of the mistake from our side of the screen to theirs.
Here is why our own testing never caught it. The empty state appears once per ledger and never again. E, who lives in a small town some way outside Jakarta, always works through everything on his own device before it goes to anyone else — but the signer in his ledger was filled in on the first day. After that first day, every one of us can only walk the second-time-onward path. We had put the place where people trip on the one path almost nobody walks.
So we fixed it. The button can always be pressed now. Pressing it names the field that is missing and where it lives, and takes you straight there. Fill it in, come back, and the 12 rows are exactly as you left them, with the export continuing from where it stopped. Stopping someone without a destination and without a way back is not guidance; it is a closed gate.
Then we made it speak at the entrance as well. The moment the export screen opens, anything still missing appears in 1 line at the top, before the work begins. Being told before you start beats being stopped halfway. While we were at it we walked the whole product. Across KAZENA Books and KAZENA Order there are 11 places where a button can be disabled, and only 3 of them said why. All 11 now carry either the reason or the destination.
I should say plainly that I am not a tax accountant. The signer fields belong to the form of the document, and who should be registered there, in what capacity, differs from business to business. All we can do is keep the software from falling silent about what it is missing; the final judgement has to be confirmed with a professional.
These days, when the question "is this an error?" comes around the team, we start from yes. Whether the code intended it matters very little. If the person using it read it as a fault, it is a fault. If you ever meet a button in KAZENA that will not go down and will not tell you why, please tell us. That silence is ours, not yours.
Tell us what you think
How the KAZENA apps feel to use, what we should fix, features you wish existed — if you run a small or medium business or work freelance in Indonesia or the Philippines, your voice is exactly what we want to hear. Messages in Bahasa Indonesia or English are answered by teammates who know your market from the inside. KAZENA Books is already set to launch in the Philippines and Indonesia — and if your company would like to bring it to other countries as a partner, or is interested in acquiring the system, we would love to hear from you too. We also take on new system development. We are a small team, so we cannot always start right away — but what we build carries made-in-Japan quality and stays close to how business really works here, one project at a time.
Get in touch