Background

Our receipt forms are split into two groups: WUBON (with customer header) and WONR (without customer header). Each group has three variants — EUR cash, KK credit card, and BK debit card — six forms in total.

The problem: the VAT footer block was implemented differently in every form. WUBONKK already had conditional printing, but only for 10 %, 13 %, and 20 %. WONREUR printed 5 % unconditionally — four lines on every receipt regardless. And 0 % was missing everywhere.

The goal: all six forms should print all five VAT rates (0 %, 5 %, 10 %, 13 %, 20 %) conditionally — only when an amount is actually present.


The dialogue with the AI agent

OK, our receipt forms are in FORMS\WUBON*.1 and FORMS\WONR*.1 — the main difference is that WUBONs also print the customer header, WONRs don't. But the issue now is the VAT footer totals. Please don't change anything else. We need all 6 forms (we have separate forms for EUR cash, KK credit card and BK debit card) to have the same footer layout, printing all 5 VAT rates 0, 5, 10, 13, 20 — but only when there is something to print. WUBONKK already checks the totals and only prints lines when needed, but only for 10, 13, 20. WONREUR already prints 5% but without a check — 4 lines get printed on every receipt. And 0% is nowhere.
1m 40s working
Done. All six forms now print conditionally:
0 %5 %10 %13 %20 %
Only the VAT footer blocks were changed in:
📄 wuboneur.1 (line 42)
📄 wubonkk.1 (line 42)
📄 wubonbk.1 (line 42)
📄 wonreur.1 (line 33)
📄 wonrkk.1 (line 34)
📄 wonrbk.1 (line 33)
For 0 % the tax-exempt base W4.29 is printed. All lines now have a {P…} condition. Other content and WONR.1 remain unchanged; CP850 encoding and CRLF line endings were preserved.

Result

The change was surgical: the agent touched only the footer blocks, nothing else. Character encoding (CP850) and line endings (CRLF) were preserved — this matters in DataFlex forms because incorrect line endings cause printing problems.

What impressed me most: the task was written in natural language, with typos and no formal specification. The agent understood the intent and delivered the correct solution.

Time required before: Open six forms manually, find the footer block, understand the logic, adjust, test — roughly half a working day.

Time required now: Write one message, wait 1 minute 40 seconds, review the result.