eTIMS — фіскалізація рахунків і чеків у KRA (Кенія)
Що це
eTIMS — система податкової служби Кенії (KRA), у якій реєструється кожен документ продажу. Зареєстрований документ отримує квитанцію KRA: номер CU-інвойсу, ідентифікатор пристрою (SCU ID), підпис і QR-код для перевірки. ERPJS відправляє в eTIMS рахунки, кредит-ноти й касові чеки сам — одразу після проведення — через сервіс-посередник eTIMS. Усе це є лише у версії ERPJS для Кенії; в українській версії модуля eTIMS немає.
Огляд модуля та його об'єктів — на сторінці eTIMS (KRA, Кенія).
Передумови: що отримати в посередника eTIMS
- Адреса сервісу-посередника (починається з
https://). - Ключ API — посередник видає його для вашого пристрою KRA (OSCU/VSCU).
- Довідник KRA: коди класифікації товарів, коди упаковки й одиниць — їх видає KRA або посередник.
Крок 1. Обліковий запис eTIMS
Відкрийте Модулі → eTIMS → Регістри → Облікові записи eTIMS і створіть запис.
- Заповніть «Адреса eTIMS» і «Ключ API eTIMS». Ключ зберігається зашифрованим: після збереження поле показує маску. Не чіпайте його — ключ лишиться; наберіть новий — він замінить старий; очистіть поле — ключ зітреться під час збереження. Змінили адресу — введіть ключ ще раз.
- Позначте «За умовчанням для компанії» — цей обліковий запис відправлятиме рахунки компанії. Такий запис у компанії може бути лише один.
- На вкладці «Зіставлення ПДВ eTIMS» вкажіть для кожного коду ПДВ тип податку KRA: A — звільнено, B — 16 %, C — нульова ставка, D — не платник ПДВ, E — 8 %. Ставка коду ПДВ має збігатися зі ставкою типу: код 20 % на типі B збережеться, але документ із цим кодом в eTIMS не піде — помилка назве рядок і код.
- Натисніть «Перевірити з'єднання» в меню вікна.
Поля й перевірки — на сторінці регістру Облікові записи eTIMS.
Крок 2. Коди KRA для товарів
KRA вимагає в кожного товару код класифікації, тип товару, коди упаковки й одиниці та країну походження. У картці товару ERPJS більшості цих даних немає, тому вони задаються окремо:
- Коди eTIMS груп товарів — для групи цілком; так зручніше починати.
- Коди eTIMS товарів — для товару, який відрізняється від своєї групи.
Чого немає ні в товару, ні в групи, береться з вкладки «Коди товарів eTIMS» облікового запису (значення за
умовчанням). Раніше за ці умовчання коди упаковки й одиниці беруться з вкладки «Зіставлення одиниць eTIMS» (одиниця
виміру товару → коди KRA), країна — з поля «Кр. походж.» картки товару, якщо там дволітерний код ISO, а тип товару — з
картки (послуга — 3, решта — 2). Якщо коду не знайшлося ніде, документ не піде, а в записі фіскалізації буде сказано,
якому товару чого бракує.
Крок 3. Тип оплати і каса
Рахунок бек-офісу йде з типом оплати 01 (готівка), якщо він оплачений при продажу: касовий рахунок або рахунок з
умовою оплати типу «Готівка» — облік теж проводить його одразу в касу. Кредит-нота
так не йде ніколи. Інакше — з типом із поля «Тип оплати за умовчанням» облікового запису, а якщо воно порожнє — 02
(у кредит).
Чек каси йде з типом того способу оплати, яким оплачено більшу частину суми:
- у налаштуванні Спосіб оплати заповніть колонку «Тип оплати eTIMS» (готівка, картка, мобільні гроші…);
- де колонка порожня, тип береться зі слота каси: готівка —
01, термінал —05, чек —04. Слот «інше» працює лише через колонку.
Чек, який каса закрила оплаченим лише частково (умова оплати не готівкова), іде з типом 03, а зовсім не оплачений — з
типом 02.
Обліковий запис каси. Якщо в магазину свій пристрій KRA, заповніть поле «Обліковий запис eTIMS» у POS Способи сплати (для каси) або в POS Налаштування (для всіх кас). Інакше чек іде обліковим записом за умовчанням. Вказаний, але закритий чи видалений обліковий запис каси — помилка, а не перехід на запис за умовчанням.
Крок 4. Проведення і відправка
Проведіть рахунок. Після проведення ERPJS відправляє його в eTIMS: спершу реєструє товари, потім продаж. Зазвичай квитанція приходить за секунду, і людина не бачить нічого зайвого.
Результат — у регістрі Фіскалізація eTIMS: по запису на документ, зі статусом, кількістю спроб, останньою помилкою і квитанцією KRA.
| Що бачить людина | Що сталося | Що робити |
|---|---|---|
| нічого | документ в eTIMS, квитанцію записано | нічого |
«Сервер eTIMS зайнятий — рахунок 77 буде перевірено пізніше» |
eTIMS не відповів або відповів помилкою сервера | нічого: система повторить сама, пауза зростає від 1 хвилини до години |
«eTIMS: рахунок 77 не фіскалізовано: …» |
документ не пішов через дані чи налаштування (немає кодів товару, немає типу податку для коду ПДВ) | виправити те, що названо в тексті, і натиснути «Відправити повторно» в записі фіскалізації |
«eTIMS не прийняв рахунок 77: …» |
посередник відмовив | текст відмови — від eTIMS; виправити й відправити повторно |
«eTIMS: кредит-ноту 78 буде відправлено, щойно вихідний рахунок буде фіскалізовано» |
вихідний рахунок ще в черзі eTIMS | нічого: нота піде за ним сама |
Помилки пишуться мовою того, хто провів документ, — і в сповіщенні, і в полі «Остання помилка». Якщо повтор, який система робить сама, закінчився помилкою, той, хто провів документ, отримує те саме повідомлення, що в таблиці вище.
Крок 5. Кредит-нота
Кредит-нота (повернення за рахунком) іде в eTIMS так само, після проведення, з номером CU вихідного рахунку і тим самим обліковим записом. Тому в кредит-ноті має бути вказано вихідний рахунок, інакше вона отримає помилку.
- Доки вихідний рахунок у черзі eTIMS (чекає чи відправляється), нота чекає і піде за ним сама.
- Якщо вихідного рахунку в eTIMS немає (його запис із помилкою, проведення знято, рахунок проведено до підключення eTIMS), нота отримає помилку. Спершу фіскалізуйте рахунок, потім натисніть «Відправити повторно» в записі ноти.
- Сума нот за рахунком не може перевищити те, що від рахунку лишилося в eTIMS: така нота отримає помилку і не піде.
Повернення на касі
Для KRA повернення на касі — теж кредит-нота, і теж до вихідного чека. Тому на касі, де працює eTIMS, кнопка повернення (у POS Кнопках — дія «повернути рахунок-фактуру») не робить чек поверненням одразу, а питає, який чек повертають:
- Почніть із нового порожнього чека. Якщо в чеку вже йде продаж, каса відмовить: «Повернення починається з нового порожнього чека» — закрийте або видаліть поточний чек.
- Відкриється вікно «Чек, що повертається»: закриті продажі цієї каси за останні 30 днів, без повернень і кредит-нот, колонки «Чек №», «Дата і сума», «Клієнт». Набрані цифри номера лише звужують список — чек вибирається рядком.
- Новий чек стає чеком-поверненням до вибраного, з клієнтом вихідного чека. На друкованому чеку — рядок «Повернення за чеком» із номером вихідного.
- Додайте товари, що повертаються, і закрийте чек.
Під час закриття каса перевіряє чек-повернення і відмовить, якщо:
- товару немає у вихідному чеку або його більше, ніж можна повернути: «Товар
A1: продано чеком77—2, уже повернено —1, можна повернути —1». Уже поверненим вважається все за цим чеком із проведених чеків-повернень і кредит-нот; - клієнта змінено: «Чек-повернення
80: клієнт має бути той самий, що в чеку77(C1)»; - вихідний чек не вибрано: «В eTIMS повернення — це кредит-нота до вихідного чека: натисніть на касі кнопку повернення й виберіть чек».
В eTIMS чек-повернення йде кредит-нотою з номером CU вихідного чека, з тим самим обліковим записом і з тим PIN покупця, з яким пішов вихідний. Далі все як у кредит-ноти вище: чекає вихідний чек, доки той у черзі, і отримує помилку, якщо вихідного в eTIMS немає (наприклад, чек продано до підключення eTIMS).
Зняти проведення вихідного чека, доки до нього проведено чек-повернення, не можна: «До цього чека проведено
чек-повернення 80 — спершу зніміть проведення повернення».
На касі без eTIMS кнопка повернення працює як раніше.
Крок 6. Друк квитанції KRA
Касовий чек друкує блок KRA і QR сам. Поки квитанції немає, замість них — позначка «Перевірка eTIMS ще триває — чек буде перевірено пізніше» або «Не прийнято eTIMS»; повторний друк після відправки дасть QR.
Рахунок і кредит-нота — через друковану форму документа (Друковані форми). У шаблон додайте змінні:
| Змінна | Що друкує |
|---|---|
{Etims_SCU_Date} |
дата й час пристрою KRA (ДД/ММ/РРРР год:хв:с) |
{Etims_SCU_ID} |
ідентифікатор пристрою KRA |
{Etims_CU_Invoice_No} |
номер CU-інвойсу разом з ідентифікатором пристрою: SCU ID/номер |
{Etims_Internal_Data} |
внутрішні дані квитанції |
{Etims_Signature} |
підпис квитанції |
{Etims_Note} |
позначка, якщо квитанції ще немає: «Перевірка eTIMS очікується — документ буде перевірено пізніше» або «Не прийнято eTIMS» |
{Etims_Customer_PIN} |
PIN KRA покупця, з яким документ пішов в eTIMS (не нинішній із картки) |
{QR_Etims} |
QR-код квитанції картинкою (близько 3 × 3 см) |
Змінна, ім'я якої починається з QR_, друкується картинкою QR, а не текстом. Документ, якого немає в eTIMS, друкує
блок порожнім.
Коли щось пішло не так
Документ не пішов, і причину виправлено. Відкрийте його запис у Фіскалізації eTIMS і натисніть «Відправити повторно» в меню вікна. Результат — одразу, вашою мовою. Ця дія й «З'ясувати невідомий результат» доступні тому, хто має право змінювати реєстр «Фіскалізація eTIMS».
Відповідь eTIMS загубилася. Якщо зв'язок обірвався під час відправки продажу, невідомо, чи є документ у KRA. Такий запис позначено «Можливо, уже в eTIMS»: зняти рахунок із проведення не можна, а повтор піде тим самим запитом (з тією самою сумою і тим самим PIN покупця). Якщо повтори не допомагають, перевірте документ на порталі KRA і натисніть «З'ясувати невідомий результат»: «Є в eTIMS» з номером CU з порталу або «Немає в eTIMS» — тоді документ піде заново.
Покупець без PIN. Якщо «ІПН» у картці контакту порожній, продаж іде без PIN покупця — як продаж приватній особі.
Обмеження
- Чек, проданий до підключення eTIMS, повернути на касі можна, але в eTIMS повернення не піде: у KRA немає номера CU вихідного чека, і запис фіскалізації повернення отримає помилку.
- Ліміт повернення рахує кількість, а не суму. Суму кредит-нот понад те, що від чека лишилося в eTIMS, не пропустить сама черга eTIMS (див. крок 5).
- Без відкритого облікового запису «За умовчанням для компанії» рахунки бек-офісу в eTIMS не йдуть зовсім — без запису фіскалізації й без попередження (чеки каси з власним обліковим записом ідуть ним). Знімаючи прапорець чи закриваючи запис, поставте прапорець іншому відкритому запису.