Фіскальні чеки Checkbox
Фіскальний чек створюється з угоди через інтеграцію Checkbox (ПРРО). У картці угоди чеки лежать у блоці «Документи» тими самими рядками, що й документи: знак «C», «Продаж (NovaPay)» або «Повернення (…)», фіскальний номер, стан, сума, дата, касир. Усі чеки організації — Фінанси›Фіскальні чеки«Фінанси → Фіскальні чеки».
На цій сторінці
Підключення каси: два кроки
Крок 1 — «Підключення каси» у профілі, усе на одній сторінці по порядку: 1) ключ ліцензії справжньої каси (кабінет Checkbox → «Каси»); 2) як входить касир — ПІН-код касира або логін і пароль касира (кабінет Checkbox → «Касири»; email і пароль від кабінету не підходять); 3) «Підключити касу» — перевіряє вхід, підтягує ПІБ з Checkbox, сам створює першого касира і вмикає інтеграцію. Після цього в «+» блоку «Документи» угоди з'являється «Фіскальний чек».
Крок 2 — касири, лише якщо їх кілька: «Додати касира» → ПІБ і спосіб входу: обліковий запис каси (нічого не вводити), ПІН-код (ключ ліцензії береться з каси) або свій логін/пароль. «Авторизація» підтягує ПІБ.
Тестова й справжня каса. У кабінеті Checkbox є «Тестові дані»: тестова каса зі своїм ключем ліцензії і тестовий касир, чиї чеки не йдуть до ДПС. Їх не можна змішувати: справжній касир з ключем тестової каси (або навпаки) дає відмову «Реальний касир не може працювати з тестовою касою». Для реальних чеків беріть ключ ліцензії справжньої каси («Каси») і справжнього касира («Касири»); для проби — і касу, і касира з «Тестових даних».
Каса на кожну юрособу
У Інтеграції›Checkbox«Інтеграції → Checkbox» кожна організація (профіль) — це каса з касирами, доступами, пов'язаними полями й мапою способів оплати. У профілі є поле «Юрособа»: угоди цієї юрособи пробиваються саме цією касою. Юрособу угоди визначає її поле «Юрособа» або правила звідки угода›юрособа«звідки угода → юрособа» (Налаштування›Бренди та юрособи«Налаштування → Бренди та юрособи»): канал, джерело, бренд, воронка, папка складу. Одна юрособа — один профіль. Профіль без юрособи — «загальна каса» для угод, у яких своєї каси нема.
У картці угоди над документами показано, хто пробиває: «Чек пробиває: ФОП … · за правилом · каса …». Якщо для юрособи касу не налаштовано, система про це каже і просить обрати касу вручну.
Створити чек
Номер угоди потрапляє в підвал чека рядком «Замовлення <номер>» (вмикається в профілі каси: «Номер угоди в підвалі чека», типово так); окремого поля для номера замовлення в Checkbox нема.
У блоці «Документи» угоди «+» → перший пункт «Фіскальний чек: касир» — чек створюється одразу: усі позиції угоди, каса за юрособою, тип оплати з поля угоди «Тип оплати checkbox» (значення → Готівка / Картка / своя назва безготівки за мапою профілю), email клієнта (якщо ввімкнено «Відправка Email»). Якщо зміну в Checkbox не відкрито — CRM відкриває її сама ключем ліцензії каси (налаштування профілю «Відкривати зміну автоматично, коли створюється чек», увімкнено типово; вимкнете — перед чеком спитає «Відкрити зміну?»). Якщо типу оплати в угоді нема або каси для юрособи нема — відкривається шторка, де їх можна вибрати.
«Тип оплати checkbox» заповнюється сам, коли замовлення приходить з площадки, і лише якщо поле порожнє (вибір людини не змінюється). Правила власника: Rozetkapay — оплата через Пром або Розетку (Пром-оплата, частинами, Google/Apple Pay, картка, накладений платіж Розетка Делівері); NovaPay — накладений платіж Новою поштою; UAPay — OLX-доставка; Карта — переказ на карту; Розрахунковий рахунок — оплата на рахунок; Готівка — готівкою; усе інше — Інтернет-еквайринг. Ручне поле «Спосіб оплати» головніше за дані площадки. Якщо про оплату ще нічого не відомо, поле лишається порожнім. Колонка «Тип оплати» у списку угод показує саме це значення (текст площадки, наприклад «Пром-оплата», — у полях маркетплейсу в картці).
Для ШІ: checkbox_receipt_create(deal_id, values={profile_id?, payment_value?, emails?, comment?, open_shift?}). Зміна відкривається сама; відповідь 409 з кодом no_shift буває лише коли в профілі вимкнено автоматичне відкриття — тоді повторити з open_shift=true; 409 duplicate — по угоді вже є чинний чек; 400 no_payment — вкажіть payment_value зі списку payment_options з checkbox_deal(deal_id).
Архів не заважає: угода на етапі «Отримано» сама йде в архів як виграна, і саме її фіскалізують — і вручну через «+», і автоматичним чеком. Захищає лише правило «один чинний чек на угоду».
Назва товару в чеку
Назва в чеку має бути одна на артикул, хоч би скільки оголошень із різними назвами було в прайс-листі. Тому в позиції прайс-листа є поле «Назва Checkbox», яке склад передає в прайс-лист: воно само дорівнює назві пов'язаного товару складу і йде слідом, коли товар на складі перейменували. Його видно в картці позиції і колонкою в таблиці прайс-листа; за потреби можна вписати своє («= зі складу» повертає назву складу). У чек іде «Назва Checkbox» з прайс-листа. Угоди з каналів (Prom тощо) приходять з артикулом і товаром складу без посилання на позицію прайс-листа, тому CRM шукає її сама: позиція прайс-листа угоди → позиція з тим самим артикулом → позиція, пов'язана з тим самим товаром складу. Якщо «Назви Checkbox» ніде нема — назва товару складу, далі поле з налаштування профілю «Назва товару», далі назва позиції угоди.
Фіскалізована угода
У списку угод фіскалізована угода має знак «C» біля назви, фільтр «Чек: усі / Фіскалізовані / Без чека» відбирає такі угоди. Для ШІ — параметр fiscalized=1|0 у deals_list.
Один чек на угоду
По угоді не може бути більше одного чинного чека продажу: поки попередній не повернуто, другий не створиться — ні людиною, ні ШІ, ні тригером. Позиції угоди, що в чеку, не редагуються. Щоб пробити заново — спершу «Повернути чек».
Повернення, друк, посилання
Перегляд, PDF, PNG і текст чека CRM бере з публічних сторінок Checkbox без входу касира, тож вони працюють, навіть якщо вхід касира зламано.
«⋮» біля чека: Переглянути (вікно на весь екран: чек аркушем або текстом, кнопки «Checkbox» і «ДПС», закрити — «←» або Esc), Відкрити PDF, Скопіювати URL на чек (сторінка чека на сайті Checkbox, https://check.checkbox.ua/<id чека>), Друк TXT, Друк PNG, Повернути чек (чек повернення на той самий склад і суму; після нього угода знову вільна для чека), Відправити Email, Оновити стан (поки Checkbox ще не дав DONE).
Для ШІ: checkbox_receipt_return(receipt_id), checkbox_receipt_pdf(receipt_id, fmt=pdf|png), checkbox_receipt_email(receipt_id, values={emails:[…]}), checkbox_receipt_refresh(receipt_id), checkbox_receipts_list(q, kind, status, profile_id, date_from, date_to).
Автоматичний чек (тригер)
Налаштування›Тригери«Налаштування → Тригери» має дію «Фіскальний чек Checkbox» поряд із Webhook: таблиця «Угоди» (або «Доставка»), умова, наприклад stage.name == 'Отримано', і чек створюється сам, коли умова стала істинною — без людини. Каса — за юрособою угоди (або вказана в тригері), оплата — з поля угоди, зміна відкривається сама, якщо в профілі ввімкнено «Автоматичний чек відкриває зміну». Швидкий шлях — «Інтеграції → Checkbox → Автоматичний чек → Увімкнути чек при «Отримано»». Етап «Отримано» угода отримує від перевізника за «Пов'язаними статусами» в налаштуваннях Нової Пошти / Укрпошти / Meest.
Результат кожного спрацювання — у журналі тригера і нотаткою в угоді: «створено» (з номером чека), «пропущено» (чек уже є, угоду вже фіскалізовано в KeepinCRM, нема позицій) або «не створено» (нема типу оплати, каси, зміни, помилка Checkbox).
Тригери «Отримано» і «Скасовано» в усіх воронках (15.10). У Налаштування›Тригери«Налаштування → Тригери» стоять чотири тригери таблиці «Угоди», «Відразу». Кожен діє в усіх воронках одразу:
- «Чек Checkbox: замовлення отримано» — умова
stage.name == 'Отримано', «Автоматично відкривати зміну, якщо вона закрита». Діє і для угод, що прийшли з KeepinCRM та ще були в дорозі на 14.10. Якщо KeepinCRM уже пробила чек (у списку угод знак «C»), другий не створюється. - «Завершити угоду: замовлення отримано» — «Завершити угоду» → «Виграно».
- «Завершити угоду: угоду скасовано» — умова
stage.role == 'lost'(етап скасування будь-якої воронки) → «Програно». - «Повернути чек: угоду скасовано» — умова
stage.role == 'lost' OR result == 'failed'→ «Повернути фіскалізований чек». Діє, лише якщо в угоді є чинний чек нашої каси; чек KeepinCRM повертають у KeepinCRM.
Тригери діють на нові переходи етапів: угоди, що вже стоять на «Отримано» чи скасовані, не чіпаються.
Поля чека
id, deal_id, kind (sell / return), status (CREATED / DONE / ERROR / CANCELLED), fiscal_code, fiscal_date, tax_url, total_amount, payment_type (CASH / CASHLESS), payment_label, payment_value, profile_name (каса), cashier_name, emails, item_ids, related_id (у повернення — чек продажу), returned_at (у продажу — коли повернуто), error, creator, created_at.
Контроль чеків
Фінанси›Фіскальні чеки›Контроль«Фінанси → Фіскальні чеки → Контроль» відповідає на питання власника «чи на всі угоди виписано чек»: за період і каналом — скільки отриманих угод потребують чека, у скількох він є (нашої каси чи ще KeepinCRM), скільки без чека і чому (автоматичний чек вимкнено, етап не в умові тригера, отримано до запуску тригера, помилка тригера чи Checkbox, чек повернено), скасовані з неповерненим чеком, кілька чеків на угоду, сума чеків проти виручки. «Виписати» звідти — той самий чек, що +›Фіскальний чек«+ → Фіскальний чек» у картці угоди. Тривога в Фінанси›Огляд«Фінанси → Огляд» щодня показує «N угод потребують уваги». Докладно — Фінанси → Фіскальні чеки; для ШІ — checkbox_control, checkbox_control_issue.
Цю саму статтю читають ШІ-співробітники Helomi: help("checkbox")