/ Checkbox

Щоб помилка не чекала на касі So errors don't wait at the register

Про місця у вебкабінеті Checkbox, де малий бізнес втрачає час, впевненість і контроль: податкова група, коди УКТ ЗЕД, додавання товарів та імпорт номенклатури. About the places in Checkbox's web dashboard where small businesses lose time, confidence, and control: tax group, UKTZED codes, adding products, and importing inventory.

Checkbox — updated web dashboard for small businesses
Role — UX Research / Flow Logic / UI Client — Checkbox Audience — small business / 1-2 cash desks Focus — fewer fiscal mistakes

/ Контекст/ Context

Checkbox продає спокій, не просто «цифрову касу». Checkbox sells peace of mind, not just a digital register.

Checkbox — провайдер цифрових касових апаратів, заснований у 2020 році. За п'ять років продукт став одним із лідерів ринку ПРРО: 38% нових кас в Україні реєструють саме в Checkbox, а продуктом користуються понад 200 тисяч організацій. Checkbox is a digital cash register provider, founded in 2020. In five years it became one of the leading fiscal software platforms in Ukraine: 38% of new registers are opened in Checkbox, and over 200,000 businesses use the product.

Для малого бізнесу це не абстрактна фіскалізація. Це спосіб продавати законно, не боятися перевірок і не зупиняти операційний день через помилку в налаштуваннях. Саме тому дрібне поле в кабінеті може мати дуже суттєві наслідки. For small businesses this isn't abstract fiscalization. It's how they sell legally, avoid audits, and keep the day running without a settings error stopping everything. That's why a small field in the dashboard can have very real consequences.

ринокmarket 38% нових кас в Україні реєструють у Checkboxof new registers in Ukraine open in Checkbox
масштабscale 200к+ організацій користуються продуктомbusinesses use the product
фокусfocus 03 критичні зони знайшли в дослідженніcritical areas found in research
аудиторіяaudience 1-2 каси у типовому бізнесі, для якого проєктували зміниregisters in a typical target business

/ Завдання/ Task

Туди, куди руки не доходять Getting to the parts nobody touches

Залізли в складні терміни і хащі налаштувань, щоб юзерам не доводилося це робити. Знайшли місця у вебкабінеті, де малий бізнес найбільше страждає, і оновили. Пішли туди, куди зазвичай руки не доходять, та й виглядає не як велика ачівка. Але це дійсно ті місця, де досвідчений юзер обпікся вже не раз. А новачки взагалі в ступорі. We went into the complex terminology and settings thickets so users wouldn't have to. Found where small businesses struggle the most in the web dashboard and fixed those parts. Went to the places nobody usually gets around to — not glamorous, not the kind of thing you ship and celebrate. But these are exactly the places where an experienced user has already been burned, and new ones just freeze.

Дізналися про прогалини через інтерв'ю. Коли людина помиляється з податковою групою або кодом УКТ ЗЕД, це штраф, зупинка продажу або черга біля каси. Напрям обрано. Found the gaps through interviews. When someone gets the tax group or UKTZED code wrong, the consequences are a fine, a blocked sale, or a line at the register. Direction was clear.

Я відповідала за UX-дослідження, flow і UI-рішення. Проєктувала разом із командою дизайнерів. Три дизайнери одне комплексне рішення. В глибинних дослідженнях зрозуміли які є болі і лікували їх. I owned UX research, flow logic, and UI decisions. Worked with a team of designers. Three designers, one integrated solution. Deep research revealed the pain points, and we treated them.

/ Інсайт/ Insight

01

Неочевидні податкові налаштування. Користувачі місяцями вибивали чеки з неправильною податковою групою. Non-obvious tax settings. Users spent months printing receipts with the wrong tax group.

02

Коди УКТ ЗЕД вимагали знань та часу на пошук потрібного. Для малого бізнесу це рутина, яку хочуть автоматизувати. UKTZED codes required knowledge and time to find the right one. For small businesses, daily friction they want gone.

03

Імпорт товарів був непомітним, а помилки імпорту пояснювались надто загально. Import was invisible, and import errors were explained too vaguely to be useful.

/ Інтерв'ю/ Interviews

Результати дослідження Research findings

«Виявилося, що пів року вибивала чеки з ПДВ, хоча у мене друга група без ПДВ!» "Turned out I'd been printing receipts with VAT for six months, but I'm a second-group entrepreneur — no VAT!"
Оксана / податкова групаOksana / tax group
«Не було зрозуміло, де саме вибирається податкова група. Зробив помилку ще на старті». "I couldn't figure out where to set the tax group. Made a mistake from the very beginning."
Іван / податкова групаIvan / tax group
«Намагався знайти у списку — нічого не зрозуміло, обирав не ті. Прийшлось зазубрити на пам'ять». "Tried to find it in the list — nothing made sense, kept picking wrong ones. Ended up memorizing the code."
Владислав / УКТ ЗЕДVladyslav / UKTZED
«Повідомлення "помилка у клітинці" ні про що. Скажіть, що саме не так і як виправити». "'Error in cell' means nothing. Tell me what's wrong and how to fix it."
Владислав / імпортVladyslav / import
01 Неочевидні податкиNon-obvious taxes двоє учасників місяцями працювали з неправильною групоюtwo participants worked with the wrong group for months
02 Коди УКТ ЗЕДUKTZED codes пошук правильного коду забирав час і створював ризик штрафівfinding the right code took time and created penalty risk
03 Невидимий імпортHidden import частина людей навіть не знала, що можна завантажити файлsome users didn't know file upload was even possible
04 Помилки без адресиErrors without location система казала, що щось не так, але не показувала де самеthe system said something was wrong but not where
05 Послуги серед товарівServices mixed with products зайві поля й змішані списки сповільнювали пошук потрібної позиціїextra fields and combined lists slowed finding the right item
06 Ризик у момент продажуRisk at the point of sale помилка проявлялась тоді, коли клієнт уже стоїть біля касиthe mistake showed up with a customer already at the register

/ Рішення/ Solution

01

Додавання товару. Більш зрозумілий флоу зі зниженням когнітивного навантаження Adding a product. Clearer flow, lower cognitive load

Перенесли імпорт у загальну кнопку, бо на інтерв'ю виявилось, що деякі користувачі не знали про таку можливість взагалі. Вони згадували, що було б круто мати імпорт, тому з цим рішенням користувач вже бачить одразу всі способи додати товар. Moved import into the main action button because interviews showed some users didn't know import existed at all. They mentioned it would be nice to have, so now all three ways to add a product are visible upfront.

Раніше дії додавання товару і послуги мануально та імпорт були рознесені по екрану. Before, manual add, service add, and import were scattered across the screen.

БулоBefore

  • Ручне додавання і імпорт знаходились у різних місцях.Manual add and import were in different places.
  • Людина не бачила всі маршрути додавання на старті.The user couldn't see all entry paths from the start.

ЗмінилиAfter

  • Зібрали три дії в одну стартову точку.Combined three actions into one starting point.
  • Першим кроком стало питання: товар, послуга чи файл імпорту.The first question became: product, service, or import file.
Checkbox — all ways to add an item in one starting action

Флоу додавання товару і послуги розділено. Підвищена контрастність та реорганізована логіка. Product and service flows separated. Contrast improved, logic reorganized.

Checkbox — hints and structure in the product add flow

/ Про уникнення помилок/ On avoiding errors

Поле податкової групиThe tax group field

Під час інтерв'ю ми з'ясували, що найбільше труднощів і ризиків пов'язано саме з полем податкової групи. Люди не розуміють як працювати з цим полем і звідки беруться податкові групи. Interviews made it clear: the tax group field caused the most confusion and risk. Users didn't understand how to work with it or where tax groups came from.

  • Користувач не налаштував податкові ставки і не розуміє, чому список порожній.The user hasn't set up tax rates and doesn't understand why the list is empty.
  • Людина не бачить жодної податкової групи, не розуміє, куди йти та що потрібно налаштувати.No tax group is visible, no direction given — nothing explaining what to set up.
  • Поле легко пропустити, бо зараз воно необов'язкове, але під час продажу каса вже не дає завершити дію.Easy to skip since the field isn't required — but when selling, the register won't let the transaction go through.
  • Це створює стрес, затримує покупців і напряму впливає на репутацію бізнесу.That creates stress, delays customers, and directly affects the business's reputation.

Система могла автоматично підставити податкову групу, яка виявилася неправильною. У результаті юзери помічали помилку вже постфактум, що створювало додаткові ризики. The system could auto-fill a tax group that turned out to be wrong. Users only noticed the mistake after the fact, which created extra risk.

Before Checkbox — old product form without a clear tax group empty state
Checkbox — sale form blocking a transaction when no tax rate is configured
Форма продажу не дає продати товар. Потрібно повернутись у вебкабінет і налаштувати податкові ставки. The sales form won't allow the transaction. The user has to go back to the web dashboard and set up tax rates.
After

Помітність критичного крокуCritical step visibility

Користувач одразу розуміє, що без податкової групи товар не можна додати.The user immediately understands: no tax group means the product can't be saved.

Чітка комунікація стануClear state communication

Інтерфейс прямо показує, що групи немає, і пояснює, що робити далі.The interface shows there's no group and explains what to do next.

Створення групи без виходуAdd a group without leaving

Користувач додає податкову групу тут і зараз, не втрачаючи контексту роботи.The user adds a tax group right here without losing their work context.

Знайомий патерн. Натискаючи кнопку «+ Додати податкову групу», користувач бачить той самий функціонал, який уже є в розділі «Податкові ставки». Якщо він додає групу тут один раз — під час першої взаємодії з додаванням товару або після видалення податкових ставок у відповідному розділі — вона зберігається і далі відображається у списку. Familiar pattern. Clicking '+ Add tax group' shows the same interface already in the Tax Rates section. Set it up once — either during the first product add or after deleting rates — and it stays in the list.

Проте навіть за наявності списку податкових груп у користувача залишається можливість додати нову, якщо якоїсь не вистачає, наприклад для специфічного товару. Even when a list of groups exists, users can still add a new one if they need one for a specific product.

/ Рішення/ Solution

02

Додавання товару. Код УКТ ЗЕД Adding a product. UKTZED code

Три способи знайти код — покриваємо всі сценарії Three ways to find the code — every scenario covered

Хтось знає код напам'ять. Хтось знає тільки назву товару. Хтось не знає нічого і хоче переглянути класифікатор. Some users know the code by heart. Some only know the product name. Some know nothing and want to browse the classifier.

АвтопошукAutosearch

  • Плейсхолдер підказує, що можна вводити і код, і назву.Placeholder shows that both a code and a name can be entered.
  • Розумні підказки. Після 4 символів система пропонує найближчі варіанти.Smart suggestions. After 4 characters the system proposes the closest matches.
  • Максимальна швидкість. Рекомендації пояснюють, чому код може підійти.Maximum speed. Recommendations explain why a code might be a good fit.
Checkbox — UKTZED code search via autosuggest

Вибір з класифікатораBrowse the classifier

  • Якщо користувач не впевнений у результатах пошуку або одразу хоче піти обирати з класифікатора, він натискає кнопку "обрати з класифікатора" та бачить перед собою оновлений вигляд цього поп-апу.If the user isn't confident in search results or wants to browse the classifier directly, they click 'select from classifier' and see the updated popup.
  • Користувач одразу бачить пояснення, що таке УКТ ЗЕД і навіщо його обирати.The user immediately sees what UKTZED is and why it matters.
  • Якщо вже введена назва товару, то користувач бачить персональні рекомендації.If a product name is already entered, personalized recommendations appear.

Використати недавні кодиUse recent codes

  • Швидкий доступ до частих кодів. Користувач одразу бачить коди, з якими працював раніше.Quick access to frequent codes. The user immediately sees codes they've worked with before.
  • Впізнавані категорії без пошуку. Не потрібно згадувати або шукати код знову.Familiar categories without searching. No need to remember or look up a code again.
  • Економія часу. Підходить тим, хто регулярно додає подібні позиції та хоче робити це швидше.Saves time. Good for users who regularly add similar items and want to move faster.
Checkbox — recent UKTZED codes for quick reuse

Підтвердження та додаткові налаштуванняConfirmation and additional settings

Коли користувач заповнив всю необхідну інформацію на першому степі, він натискає продовжити і бачить перед собою другий степ з додатковими налаштуваннями. After filling in all required info on the first step, the user clicks continue and sees the second step with additional settings.

Він бачить превʼю свого товару, що дозволяє оцінити коректність та в цілому нагадати йому, що він зараз додає, бо у потоці додавання товарів можна загубитись. They see a product preview, which helps verify accuracy and serves as a reminder of what's being added — easy to lose track when adding products in bulk.

Має можливість редагувати, повернувшись назад, а також бачить чіткий опис блоку який дозволяє зрозуміти, навіщо ці налаштування. They can edit by going back, and see a clear block description explaining what these settings are for.

Самі поля залишаються незмінними, та опційними як і реалізовано зараз.The fields themselves stay optional, as they are now.

/ Рішення/ Solution

03

Додавання послуги. Оптимізована форма і флоу Adding a service. Optimized form and flow

Розділяємо послуги і товари, зменшуємо навантаження. Separating services from products, reducing overhead.

Послуги не потребують товарних налаштувань, але раніше жили всередині однієї форми, поруч були зайві поля. Такі дрібниці забирають час в щоденній роботі і фруструють на моменті входу в продукт. Services don't need inventory fields, but they used to live inside the same form with irrelevant fields alongside. Small frictions like this eat into daily work and frustrate on first contact with the product.

  • Форма послуги тягнула за собою товарну логіку — поля залишків і специфікацій.The service form dragged along product logic — stock and spec fields.
  • У загальному списку товари й послуги відображались в одному потоці без фільтрації.In the main list, products and services appeared in a single stream with no filtering.
  • Людина витрачала час на пошук потрібної позиції серед змішаних записів.Users spent time hunting for the right item in a mixed list.
Before Checkbox — old service form with product fields and mixed inventory list

БулоBefore

  • Форма послуги тягнула за собою товарну логіку.Service form dragged in product logic.
  • У списку товари й послуги могли змішуватись.Products and services could mix in the list.
  • Людина витрачала час на пошук потрібної позиції.Users spent time finding the right item.

ЗмінилиAfter

  • Послуга отримала релевантну форму без блоку залишків.Service got a relevant form without the stock section.
  • Додали вкладки «Все», «Товари», «Послуги».Added tabs: All, Products, Services.
  • Вкладки з'являються автоматично, коли в акаунті є обидва типи.Tabs appear automatically when both types exist in the account.

НавіщоWhy

  • Менше зайвих полів там, де їх не треба заповнювати.Fewer irrelevant fields where they're not needed.
  • Скорочуємо там, де це можливо.Reduce where possible.
  • Різні типи позицій не заважають одне одному.Different item types don't get in each other's way.

РезультатResult

  • Сценарій послуги коротший і легший для роботи з ним.The service flow is shorter and easier to work with.
  • Користувач швидше знаходить потрібне у номенклатурі.Users find what they need in the inventory faster.
  • Логіка форми відповідає реальній дії.Form logic matches the actual action.
Тож,The takeaway:

Це не найбільш видовищна зміна, але саме такі рішення прибирають щоденне тертя. Якщо людина додає послугу, вона не має проходити через товарну форму тільки тому, що продукт історично так склався. Not the most impressive change, but exactly the kind that removes daily friction. If someone is adding a service, they shouldn't have to navigate a product form just because that's how the product grew historically.

/ Рішення/ Solution

04

Імпорт номенклатури. Імпорт перестав бути чорною скринькою. Importing items. Import stopped being a black box.

Імпорт перестав бути чорною скринькою. Import stopped being a black box.

Старий перший крок просив вибрати формат: Excel чи CSV. Але користувач не мислить форматами. Для нього це просто файл із товарами. The old first step asked users to choose a format: Excel or CSV. But users don't think in formats. For them it's just a file with products.

Завантаження без вибору форматуUpload without choosing a format

  • Користувач перетягує файл у зону імпорту, а система сама визначає, це CSV чи Excel. Жодних зайвих кроків перед завантаженням.The user drags a file into the import zone and the system detects whether it's CSV or Excel. No extra steps before uploading.
  • Якщо потрібен шаблон, користувач натискає «Завантажити шаблон» і вже там обирає, який саме шаблон завантажити — CSV чи Excel.If a template is needed, clicking 'Download template' lets the user choose the format from there.
Checkbox — file upload dropzone without format selection

Перевірка структури файла перед імпортомFile structure check before import

  • Користувач підтверджує, який рядок у файлі є заголовками колонок, щоб дані лягли коректно.The user confirms which row in the file contains column headers so data lands correctly.
  • Система одразу пропонує свій варіант (перший рядок як заголовки).The system suggests a default (first row as headers).
  • Користувач бачить прев'ю файла і може обрати інший рядок.The user sees a file preview and can pick a different row.
  • Якщо він не впевнений, може повідомити про це — система обробляє дані за безпечним дефолтом.If unsure, they can flag that — the system processes with a safe default.
Checkbox — file structure check, step 1
Checkbox — file structure check, step 2
Checkbox — file structure check, step 3
Checkbox — automatic column validation during import
Checkbox — problem fields only mode during import

Автоматична перевірка колонокAutomatic column matching

  • Система сама зіставляє стовпці файла з полями товару, показує статус (ок / не знайдено) і приклади значень з файлу, щоб користувач бачив, що саме імпортується.The system auto-matches file columns with product fields, shows status (ok / not found), and shows example values from the file so users see exactly what will be imported.
  • Режим «Лише проблемні» ховає всі коректні поля і залишає тільки ті, де система не впевнена. Це допомагає не губитися в довгому списку і швидше виправити помилки.A 'Problem fields only' mode hides all valid fields and shows only the ones the system isn't sure about. Helps avoid getting lost in a long list and fixing errors faster.

Успішна перевірка — можна імпортуватиClean check — ready to import

Коли всі обов'язкові поля зіставлені (або користувач закрив усі проблеми), система показує підсумок: скільки товарів буде імпортовано, нагадує, що необов'язкові поля можна лишити порожніми, і активує кнопку «Почати імпорт». When all required fields are mapped (or the user has resolved all issues), the system shows a summary: how many products will be imported, a note that optional fields can stay empty, and an active 'Start import' button.

Прозорий прогрес імпорту. Після натискання «Почати імпорт» користувач бачить екран із анімацією та прогрес-баром. Він розуміє, що файл обробляється, імпорт триває і система не «зависла». Transparent import progress. After clicking 'Start import' the user sees an animation with a progress bar — clear signal the file is being processed and the system hasn't hung.

Імпорт успішно завершено. Після обробки файла користувач бачить чітке підтвердження успіху імпорту та кількість доданих товарів. Import complete. After processing, the user sees a clear success confirmation and the count of added products.

Коли імпорт не вдався. Помилка з адресою. When import fails. An error with an address.

Старе повідомлення про помилку нічого не пояснювало. Нове показує де саме і що виправити — щоб наступна спроба була успішною. The old error message explained nothing. The new one shows exactly where and what to fix — so the next try can succeed.

  • Старий екран помилки показував загальне повідомлення без структури.The old error screen showed a generic message with no structure.
  • Користувач не розумів, у якому рядку файлу помилка і що саме виправити.The user had no idea which row in the file had the error or what to fix.
  • Якщо імпорт падає — весь файл відхиляється. Без конкретики це відлякує.If import fails, the whole file is rejected. Without specifics, that's discouraging.
  • Людина або здавалась і починала вводити товари вручну, або зверталась до підтримки.People either gave up and started entering products manually, or contacted support.
Before Checkbox — old import error page: generic message without specifics
After

Чіткий статус відмовиClear failure status

Якщо імпорт не пройшов, окремий екран одразу повідомляє: жоден товар не додано, потрібна увага.If import didn't go through, a dedicated screen immediately says: no products added, attention needed.

Картки помилок з конкретикоюError cards with specifics

Кожна помилка — окрема картка: номер рядка у файлі і людський текст про те, що саме не так і як виправити.Each error is its own card: the row number in the file and a plain-language description of what's wrong and how to fix it.

Файл лишається джерелом правдиThe file stays the source of truth

Виправлення — у вихідній таблиці, не в інтерфейсі. Дані в системі та у файлі лишаються синхронними.Fixes happen in the original spreadsheet, not in the interface. Data in the system and in the file stay in sync.

Checkbox — error cards with row numbers and fix instructions
Чому виправлення — у файлі, не в інтерфейсіWhy fixes happen in the file, not the interface

На інтерв'ю респонденти постійно говорили, що їхній Excel-файл — це «джерело правди», яке має залишатись актуальним. Варіант правки помилок всередині платформи виглядає зручним, але на практиці дані в системі змінюються, а файл лишається старим — і людям доводиться звіряти все вручну. Тому фокус не на редагуванні в інтерфейсі, а на зрозумілих підказках: що саме не так і що виправити у себе в таблиці. In interviews, users repeatedly said their Excel file is the "source of truth" that has to stay current. Editing errors inside the platform might seem convenient, but in practice the system data changes while the file goes stale — and people end up reconciling manually. The focus here isn't in-interface editing; it's clear instructions: what's wrong and what to fix in your spreadsheet.

/ Запуск/ Launch

200 тисяч організацій — не аудиторія для «викотимо і подивимось». 200,000 businesses is not the right audience for a "ship it and see" approach.

Для впровадження ми заклали поступовий сценарій: спочатку аналітика і baseline старого інтерфейсу, потім пілот на 5-10% нових клієнтів або лояльних бета-тестерів, пауза на якісний фідбек, і тільки після цього масштабування 20% → 50% → 100%. The rollout plan was incremental: analytics first and baseline the old interface, then a pilot on 5-10% of new customers or willing beta users, a pause for qualitative feedback, then staged scaling 20% → 50% → 100%.

1/4

Підготовка: налаштувати аналітику до старту і зафіксувати baseline старого інтерфейсу.Prep: set up analytics before launch and record a baseline of the old interface.

2/4

Пілот: 5-10% нових клієнтів або лояльні бета-тестери без ризику для основного потоку.Pilot: 5-10% of new customers or willing beta users without risk to the main flow.

3/4

Пауза і правки: опитування, інтерв'ю, швидкі зміни на основі реальних скарг.Pause and fix: surveys, interviews, quick changes based on real feedback.

4/4

Масштабування: поетапний rollout і onboarding tour, який пояснює зміни.Scale: staged rollout and an onboarding tour explaining the changes.

/ Результат/ Results

Цілі та метрики успіхуGoals and success metrics

Нижче — таргети, визначені до запуску. Порівняти їх з реальними цифрами можна після baseline-вимірювання на поточному флоу і пілоту на 5–10% нових клієнтів. Below are the pre-launch targets. Comparing them with real numbers requires a baseline measurement on the current flow and a pilot on 5-10% of new customers.

70%+

Скорочення часу на додавання товарівReduce time spent adding products

Користувачі довіряють автоматичним рекомендаціям системи, замість ручного пошуку кодів.Users trust the system's automatic recommendations instead of searching for codes manually.

Ціль:Target: Usage Rate >70% автопідбору кодів УКТ ЗЕД.Usage Rate >70% for automated UKTZED code suggestions.

Збільшення конверсії успішних імпортівIncrease successful import rate

Користувачі успішно проходять флоу завантаження завдяки чітким інструкціям.Users complete the upload flow with clear instructions.

Ціль:Target: Зниження Drop-off rate на етапі завантаження файлу.Reduce drop-off rate at the file upload step.

Мінімізація помилок введення данихMinimize data entry errors

Користувач одразу розуміє, які дані необхідні для збереження.The user immediately sees what data is required to save a record.

Ціль:Target: Зниження Field Error Rate при спробі зберегти запис.Reduce Field Error Rate on save attempts.

Зменшення навантаження на підтримкуReduce support load

Smart-хінти допомагають користувачу самостійно виправити помилку, не звертаючись у підтримку.Smart hints help users fix errors independently without contacting support.

Ціль:Target: Зниження Support Contact Rate — менше звернень завдяки підказкам.Reduce Support Contact Rate — fewer requests thanks to in-context hints.