Керівництво програміста "АртСофт - Універсальний драйвер фіскальних реєстраторів для України"
АртСофт Універсальний драйвер РРО — універсальний драйвер для інтеграції фіскальних реєстраторів України з касовими, обліковими та ERP-системами через COM-інтерфейс, яка може використовуватися як альтернатива для: самописні драйвери РРО; ручна робота з протоколами фіскальних реєстраторів; окремі касові програми без ERP; ручне перенесення чеків; старі касові інтеграції; 1С; BAS.
Категорії застосування: ArtSoft, АртСофт, РРО, фіскальні реєстратори, касове ПЗ, COM, інтеграції K2 ERP, K2 ERP, K2 Cloud ERP, українське ПЗ, автоматизація торгівлі.
Призначення документації
Ця сторінка є покращеною MediaWiki-версією документації програміста до ПЗ «АртСофт — Універсальний драйвер фіскальних реєстраторів для України». Вона зберігає зміст оригінального документа, але має зручніші розділи, навігацію, кольорові технічні примітки, попередження та акценти для інтеграції з K2 ERP.
Перевага K2 ERP
K2 ERP може використовувати драйвер ArtSoft як частину касового та фіскального контуру: продажі, повернення, фіскальні чеки, X/Z-звіти, службові операції, складські документи, оплати й управлінська аналітика можуть бути пов’язані в одному ERP-процесі.
Технічна примітка
Оригінальна документація описує COM-інтерфейс драйвера, порядок підключення РРО, друк чеків, роботу зі звітами, емулятором і кодами помилок. Перед промисловим запуском інтеграції потрібно перевірити конкретну модель РРО, версію прошивки, параметри підключення, ліцензію драйвера та сценарії продажу/повернення.
Україна, 02094 м. Київ, вул. Вінстона Черчилля, 16 "Б",
тел. (044) 531-37-23 (067) 537-86-92
веб-сайт: www.artsoft.ua e-mail: soft@artsoft.ua
Керівництво програміста "АртСофт - Універсальний драйвер фіскальних реєстраторів для України"
Версія драйвера 7.3
Київ 1999 – 2026
Вступ
АртСофт "Універсальний драйвер реєстраторів" — драйвер, призначений для обміну даними з реєстраторами розрахункових операцій (РРО) з одного боку та з обліковими або касовими програмами з іншого.
Основне завдання драйвера — надати простий і зручний механізм для керування фіскальними реєстраторами. Драйвер дозволяє розробникам використовувати високорівневі команди управління реєстратором, позбавляючи їх складної низькорівневої роботи з реалізації протоколу взаємодії РРО та персонального комп’ютера.
Суть драйвера
Драйвер виступає універсальним програмним посередником між касовою або обліковою програмою та фіскальним реєстратором. Замість роботи з різними протоколами РРО розробник працює з єдиним COM-об’єктом ArtSoft.FiscalPrinter.
Підтримувані моделі фіскальних реєстраторів
Драйвер підтримує широкий перелік фіскальних реєстраторів, зокрема пристрої родин:
Технічна примітка
Перед впровадженням потрібно перевірити не лише модель РРО, а й версію прошивки. Для різних моделей і версій можуть відрізнятися підтримувані команди, поведінка знижок, звітів, оплат, дисплея покупця та службових операцій.
| Модель реєстратора | Версія реєстратора |
|---|---|
| Марія 301МТМ | Т3; Т3+; Т7; Т10; Т10+; Т11; Т10M; Т11M |
| Марія-304Т | 304T-1; 304T-2; 304Т-3; 304Т-3М; 304Т-4; 304Т-5; 304Т-5M; 304Т-6; 304Т-6M |
| Марія-304Т1 | 304T1-1; 304T1-2; 304Т1-3; 304Т1-5; 304Т1-6 |
| Марія-304Т2 | 304T2-1; 304T2-2; 304T2-3; 304Т2-5; 304Т2-6 |
| Марія-304Т3 | 304Т3-3; 304Т3-5; 304Т3-6 |
| КСТ-М | М-1; M-2; M-3 |
| КСТ-Т4 | Т4-6 |
| DATECS FP 3530Т | 1.00 UA; 1.10 UA; 1.31 UA; 2.00 UA; 5.2; 5.00; 5.01; 5.03 |
| DATECS FP–3141Т | 2.01; 2.03; 2.04 |
| DATECS FP–Т260 | 2.00 UU; 2.01; 2.01UU; 2.02; 2.03; 4.2; 4.00; 4.01; 5.02 |
| DATECS СМР-10 | 3.00; 3.01; 3.20 |
| DATECS СМР-10M | 4.01; 4.02 |
| DATECS СМР-10L | 5.00 |
| DATECS FP–Т88 | 4.00; 4.01; 5.02; 5.03 |
| DATECS FP–320 | FP-320 4.01; FP-320 4.02; 5.02; 5.03 |
| DATECS FP-510 | 4.00; 4.02 |
| DATECS FP–101 SMART | 4.02; 4.03; 5.03 |
| DATECS FP-7197 | FP-7197 4.01 |
| KBM FP-S651 | 1.00 UA; 3.00 UA |
| KBM FP-СMP10 | 1.00 UA |
| ЕКСЕЛЛІО FPU-550 | 1.00 UA; 3.00 UA; 4.00 UA; 5.00 UA |
| ЕКСЕЛЛІО FPU-550ES | 1.00 UA; 2.00 UA; 3.00 UA; 4.00 UA |
| ЕКСЕЛЛІО FP-280 | 1.00 UA; 2.00 UA; 3.00 UA; 4.00 UA |
| ЕКСЕЛЛІО FPР-350 | 1.00 UA; 2.00 UA; 3.00 UA; 4.00 UA |
| ЕКСЕЛЛІО FPU-260 | 1.00 UA |
| ЕКСЕЛЛІО LP-1000 | 2.00 UA; 4.00 UA; 5.00 UA |
| ЕКСЕЛЛІО FP-700 | 1.00 UA; 2.00 UA; 3.00 UA; 4.00 UA; 5.00 UA |
| ЕКСЕЛЛІО FP-2000 | 1.00 UA; 2.00 UA; 3.00 UA; 4.00 UA; 5.00 UA |
| IKС-483 LT | ОП-01; ОП-02; ОП-06 |
| IKС-Е260Т | ЕП-01; ЕП-02; ЕП-05; ЕП-06 |
| ІКС E-810T | ЕП-08; ЕП-09; ЕП-11; ЕП-12 |
| ІКС-С651Т | MZ-08; MZ-09; MZ-11; MZ-12 |
| ІКС-А8800 | MF-08; MF-09 |
| ІКС-Е07 | Е7-09; Е7-12 |
| MG-T808TL | MG-08; MG-09 |
| MG-Р800TL | GР-09 |
| MG N707TS | MG-07; MG-07.01; MG-07.02; MG-07.03 |
| MG-Р777TL | MG-77; MG-77.01; MG-77.02 |
| MG-T787TL | MG-87; MG-87.01; MG-87.02 |
| ФР7 | ФР-08; ФР-09 |
| FR90T | 315.02; 315.03 |
| FR90X | 315.02; 315.03 |
| FR90M | 315.02; 315.03 |
| FR90.XM | 318.01; 318.02; 318.03 |
| MIНI-ФП4 | 257.01; 257.02 |
| MIНI-ФП6 | 257.03; 257.04; 257.05 |
| MINI-Т 400ME | 4101-4; 4101-6; 4101-7; 4101-8; 4101-9 |
| MINI-Т 51.01 | 5101-2; 5101-3; 5101-4 |
| MINI-Т 61.01 | 6101-2; 6101-3; 6101-4 |
| МІНІ-ФП54.01 | 5401F1; 5401F2; 5401F3 |
| МІНІ-ФП81.01 | 8101F1; 8101F2; 8101F3 |
| МІНІ-ФП82.01 | 8201F1; 8201F2; 8201F3 |
| ВІКІНГ-Р10 | 1001F1 |
| ВІКІНГ-Р20 | 2001F1 |
| ВІКІНГ-Р21 | 2101F1 |
| LeoCAS-200 | L200.01; L200.02; L200.03; L200.04; L201.05 |
| LeoCAS-201 | L201.01; L201.02; L201.04; L201.05 |
Основні переваги
- Робота драйвера на Windows 7 і вище.
- Універсальність роботи з підтримуваними моделями фіскальних реєстраторів.
- Швидке та легке підключення необмеженої кількості реєстраторів до одного ПК.
- Простий перехід на будь-яку модель реєстратора, що підтримується.
- Робота з реєстраторами у термінальному режимі або через TCP/IP.
- Самостійне керування кодами артикулів та програмуванням артикулів.
- Самостійний контроль властивостей артикулів.
- Універсальна обробка помилок реєстраторів.
- Протоколювання роботи драйвера та реєстратора.
- Наявність вбудованого емулятора фіскального реєстратора.
Перевага для інтеграції з K2 ERP
Універсальний драйвер дозволяє K2 ERP працювати з різними моделями РРО через уніфікований інтерфейс. Це спрощує підтримку касового контуру, особливо для мережевих компаній, магазинів, аптек, ресторанів, складів із точками видачі та омніканальних продажів.
Підтримуване середовище
Драйвер може використовуватися в системах Microsoft Windows з будь-якими мовами програмування та засобами розробки, що підтримують технологію COM.
Приклади середовищ:
- Microsoft Visual C++;
- Microsoft Visual Basic;
- Visual FoxPro;
- Microsoft Visual C#;
- Microsoft Office з VBA;
- Visual Basic Script;
- Delphi;
- C++ Builder;
- 1С:Підприємство;
- BAS;
- інші системи, що підтримують COM.
Потокова модель драйвера: Single-threaded apartments або STA.
Драйвер не є Singleton-об’єктом. Це дозволяє одночасно використовувати необмежену кількість копій COM-об’єкта для одночасної роботи з багатьма реєстраторами, зокрема з використанням багатопоточності.
Встановлення ПЗ «АртСофт Універсальний драйвер РРО» у системах Windows
Для інсталяції драйвера необхідно запустити файл:
ArtSoftUniversalDriver.exe
Виберіть мову встановлення АртСофт Універсального драйвера.
Уважно прочитайте ліцензійну угоду. Щоб продовжити встановлення, виберіть «Я приймаю умови угоди». У разі незгоди з угодою виберіть «Я не приймаю умови угоди», після чого подальше встановлення буде припинено.
Виберіть шлях для встановлення драйвера. За замовчуванням драйвер встановлюється в каталог:
C:\Program Files\ArtSoft\FiscalPrinter
Щоб продовжити встановлення, натисніть «Встановити». Щоб перервати інсталяцію, натисніть «Скасувати». Щоб змінити шлях встановлення програми або шляхи для ярликів, натисніть «Назад».
Після завершення встановлення натисніть «Готово». АртСофт Універсальний драйвер встановлено в системі і він готовий до використання.
Технічна примітка
Якщо драйвер використовується на термінальному сервері, інсталяцію потрібно виконувати на сервері. Якщо РРО підключені локально до робочих місць, потрібно окремо перевірити сценарій доступу до COM-порту або TCP/IP-підключення.
Порядок роботи з драйвером
Увага
Універсальний драйвер АртСофт має захист від несанкціонованого використання. Захист полягає у прив’язці драйвера до заводського номера фіскального реєстратора та моделі фіскального реєстратора. Один інсталяційний файл може містити необмежену кількість ліцензій.
Для придбання програми потрібно оформити заявку на сайті компанії artsoft.ua.
Перед початком роботи
Перед початком роботи необхідно виконати такі дії:
- Встановити АртСофт Універсальний драйвер на ПК, до якого підключено реєстратор. У разі роботи з термінальним сервером драйвер встановлюється на сервер.
- Визначити тип підключення реєстратора: RS-232 або TCP/IP, а також параметри підключення.
- Встановити та перевірити необхідні параметри підключення за допомогою сервісного програмного забезпечення виробника реєстратора.
- Протестувати зв’язок реєстратора з ПК за допомогою сервісного програмного забезпечення.
- Запрограмувати необхідні для роботи реєстратора параметри: шапку чека, податкові ставки, типи оплат, операторів та паролі операторів за замовчуванням.
- Перевірити підключення зовнішнього дисплея реєстратора, якщо він не вбудований.
- Перевірити наявність касової стрічки у реєстраторі.
- Перевірити, чи не заблокований реєстратор через роботу понад 24 години без Z-звіту.
- Перевірити, чи не заблокований реєстратор через ненадсилання даних до податкової інспекції протягом 72 годин.
- Перевірити роботу АртСофт Універсального драйвера за допомогою тестових прикладів із комплекту драйвера.
- Після успішного налагодження і перевірки використовувати драйвер в обліковій програмі.
Рекомендований тестовий додаток:
C:\Program Files\ArtSoft\FiscalPrinter\Samples\Delphi7\clientDelphi.exe
Критично важливо
Фіскальний реєстратор може блокувати роботу без підключеного дисплея покупця, без касової стрічки, після тривалої роботи без Z-звіту або через ненадсилання даних до податкової. Перед підключенням до K2 ERP потрібно переконатися, що РРО справний, не заблокований і коректно працює через сервісне ПЗ виробника.
Створення COM-об’єкта у Windows
Ім’я об’єкта для створення у клієнтській програмі:
ArtSoft.FiscalPrinter
Приклад для Visual Basic:
fp = CreateObject("ArtSoft.FiscalPrinter")
Приклад для 1С:Підприємство 7.7:
fp = СоздатьОбъект("ArtSoft.FiscalPrinter");
Ініціалізація роботи
Для початку роботи з бібліотекою необхідно:
- Викликати функцію start із зазначенням конкретного типу фіскального реєстратора.
- Виконати функцію openPort із зазначенням імені послідовного COM-порту та швидкості підключення.
- Для реєстраторів із TCP/IP-підключенням використати функцію openPortEx.
- Переконатися, що фіскальний реєстратор увімкнений і підключений до ПК або мережі.
Завершення роботи
Для завершення роботи з фіскальним реєстратором необхідно:
Завершення роботи призводить до відключення послідовного порту або закриття TCP/IP-з’єднання.
Швидкий старт інтеграції з K2 ERP
Типовий сценарій K2 ERP + ArtSoft FiscalPrinter
- K2 ERP формує документ продажу або касову операцію.
- ERP визначає товари, кількість, ціну, податкову групу, знижки та тип оплати.
- Інтеграційний модуль створює COM-об’єкт
ArtSoft.FiscalPrinter. - Виконується
startз потрібною моделлю РРО. - Відкривається COM-порт або TCP/IP-з’єднання.
- Відкривається фіскальний чек.
- Передаються товарні позиції.
- Передається оплата.
- Чек закривається.
- Номер чека, результат операції та помилки повертаються в K2 ERP.
- Дані використовуються для документів, складу, фінансів і управлінської аналітики.
Фіскальний чек продажу та повернення
Чек продажу
Для отримання фіскального чека продажу необхідно:
- Відкрити фіскальний чек викликом функції beginFiscalReceipt із зазначенням типу чека «чек продажу» та імені касира.
- За потреби додати додаткову інформацію до товару: штрихкод, акцизну марку, код УКТЗЕД.
- Виконати необхідну кількість продажів, використовуючи функції printRecItem і printText.
- Виконати оплату через printRecTotal, printRecTotalEx або printRecTotalCard.
- Закрити фіскальний чек функцією endFiscalReceipt.
Чек повернення
Відмінність чека повернення від чека продажу полягає у вказанні типу чека «чек повернення» у функції beginFiscalReceipt.
Інші виклики функцій відповідають чеку продажу.
Технічна примітка
Для успішного друку чека повернення в реєстраторі повинна бути достатня сума готівкових коштів. Для деяких моделей РРО може враховуватися також безготівковий залишок або інші внутрішні правила реєстратора.
Нефіскальний чек
Для отримання нефіскального чека необхідно:
- Відкрити нефіскальний чек функцією beginNonFiscal.
- Друкувати необхідну кількість коментарів функцією printNonFiscalText.
- Закрити нефіскальний чек функцією endNonFiscal.
Нефіскальний чек призначений для друку додаткової довільної інформації.
X-звіт
Для друку денного звіту без обнулення, X-звіту, достатньо викликати функцію printXReport.
Z-звіт
Для друку денного звіту з обнуленням, Z-звіту, достатньо викликати функцію printZReport.
Звіти за період
Для друку періодичних звітів достатньо викликати функцію printPeriodicReport із зазначенням типу звіту та необхідних параметрів.
Друк копії чека
Для друку копії чека достатньо викликати функцію printDuplicateReceipt.
Службове внесення або вилучення
Для службового внесення або вилучення грошей достатньо виконати функцію printRecCash.
Властивості та обробка помилок
Майже всі функції роботи з фіскальним реєстратором повертають результат виконання логічного типу:
VARIANT_BOOL
Результат може приймати значення:
- True — функція виконана успішно;
- False — виникла помилка.
Для детального аналізу помилки використовується властивість LastError, яка містить код результату виконання останньої функції.
| Ім’я властивості або функції | Тип | Опис |
|---|---|---|
| LastError | Ціле число, тільки для читання | Універсальний код останньої помилки для всіх реєстраторів. Код дорівнює нулю у разі успішного виконання функції. |
| LastErrorEx | Ціле число, тільки для читання | Код помилки конкретної моделі фіскального реєстратора. Містить код із розширеної таблиці кодів або нуль у разі успішного виконання. |
| LastErrorText | BSTR-рядок, тільки для читання | Текст останньої універсальної помилки для всіх моделей фіскальних реєстраторів. Порожній рядок у разі успішного виконання. |
| LastErrorExText | BSTR-рядок, тільки для читання | Текст останньої помилки для конкретної моделі фіскального реєстратора. Порожній рядок у разі успішного виконання. |
| SmenNum | Ціле число, тільки для читання | Номер зміни фіскального реєстратора, тобто номер Z-звіту. |
| SN | BSTR-рядок, тільки для читання | Заводський номер фіскального реєстратора. Властивість доступна після успішного підключення до реєстратора. |
| CASH | Дійсне число, тільки для читання | Сума готівки у касі. |
| LastReceiptNum | Ціле число, тільки для читання | Номер останнього фіскального чека. |
| LOWLEVELDATA | BSTR-рядок, тільки для читання | Низькорівневі дані від РРО, отримані після виконання функції lowLevelCommand або іншої команди РРО. |
Рекомендація для розробника
Після кожного виклику функції, яка повернула False, потрібно зчитати LastError, LastErrorText, а для детальнішої діагностики — LastErrorEx і LastErrorExText. Це дозволяє правильно обробляти як універсальні помилки, так і специфічні помилки конкретної моделі РРО.
Емулятор фіскального реєстратора

Універсальний драйвер містить вбудований емулятор фіскального реєстратора. Емулятор призначений для тестування підключення облікових програм до реєстраторів з використанням цього драйвера без фізичної наявності РРО.
Емулятор дозволяє:
- тестувати касові сценарії без фізичного реєстратора;
- друкувати чеки на стандартні принтери операційної системи;
- перевіряти виведення на дисплей покупця;
- тестувати поведінку програми у випадку помилок;
- налагоджувати інтеграцію до підключення реального обладнання.
Перевага для K2 ERP
Емулятор дозволяє тестувати інтеграційні сценарії K2 ERP з фіскальним контуром без фізичного РРО: відкриття чека, продаж, повернення, оплати, звіти, помилки, друк і дисплей покупця.
За основу взято зовнішній вигляд чека популярних реєстраторів із протоколом Datecs, зокрема Datecs 3530T та Екселліо. Зовнішній вигляд і вміст чека можуть відрізнятися на інших моделях реєстраторів.
Порядок роботи з емулятором повністю відповідає порядку роботи з реальним реєстратором. Вікно емулятора автоматично відкривається під час виконання функції start із необхідним параметром. При виконанні функції stop вікно емулятора закривається.
У рядку статусу можна вибрати мову інтерфейсу програми. При цьому друк стандартних елементів чека та звітів виконується обраною мовою.
У рядку статусу відображається інформація про зазначені параметри підключення: COM-порт і швидкість або IP-адреса та порт. Ці дані служать для контролю правильної роботи зовнішньої програми.
Вікно налаштувань призначене для налаштування зовнішнього вигляду чеків, типів податків, вибору пристрою друку, параметрів друку, шапки та підвалу чека.
Ініціалізація
start
VARIANT_BOOL start(LONG PrinterModel)
Призначення: функція призначена для початку роботи драйвера фіскальних реєстраторів.
Параметр: PrinterModel — ціле число, тип фіскального реєстратора.
| Значення | Моделі фіскальних реєстраторів |
|---|---|
| 0 | Усі реєстратори у протоколі Datecs: Datecs FP3530T, ЕКСЕЛЛІО FPU-550, ЕКСЕЛЛІО FPU-550ES, ЕКСЕЛЛІО FP-280, ЕКСЕЛЛІО FPU-260, ЕКСЕЛЛІО LP-1000, ЕКСЕЛЛІО FP-700, ЕКСЕЛЛІО FP-2000, ЕКСЕЛЛІО FPР-350, KBM FP-S651, KBM FP-СMP10 |
| 1 | Усі реєстратори у протоколі Криптон |
| 2 | Марія, КСТ |
| 3 | ІКС, MG, ФР7 |
| 4 | MINI-ФП |
| 5 | MINI-Т, МІНІ-ФП, Вікінг |
| 6 | MG, FR90 через TCP/IP |
| 7 | LeoCAS-200, LeoCAS-201 |
| 100 | Емулятор фіскального реєстратора |
Результат:
True— функція виконана успішно;False— виникла помилка.
stop
VARIANT_BOOL stop()
Призначення: функція завершує роботу драйвера фіскальних реєстраторів.
openPort
VARIANT_BOOL openPort(BSTR SerialPortName, LONG SerialPortBaud)
Призначення: функція відкриває послідовний COM-порт для роботи з фіскальним реєстратором.
Параметри:
SerialPortName— ім’я COM-порту, наприкладCOM1;SerialPortBaud— швидкість підключення.
| Значення | Швидкість |
|---|---|
| 1 | 4800 бод |
| 2 | 9600 бод |
| 3 | 19200 бод |
| 4 | 38400 бод |
| 5 | 57600 бод |
| 6 | 115200 бод |
openPortEx
VARIANT_BOOL openPortEx(BSTR IP, LONG Port)
Призначення: функція відкриває TCP/IP-з’єднання з фіскальним реєстратором.
Параметри:
IP— IP-адреса фіскального реєстратора;Port— порт підключення.
closePort
VARIANT_BOOL closePort()
Призначення: функція закриває COM-порт або TCP/IP-з’єднання з фіскальним реєстратором.
Продаж / повернення товару
beginFiscalReceipt
VARIANT_BOOL beginFiscalReceipt(LONG Type, BSTR cashierName)
Призначення: функція відкриває фіскальний чек продажу або повернення.
Параметри:
Type— тип чека:0— чек продажу;1— чек повернення;
cashierName— ім’я касира.
endFiscalReceipt
VARIANT_BOOL endFiscalReceipt()
Призначення: функція закриває фіскальний чек після повної оплати.
printRecItem
VARIANT_BOOL printRecItem(BSTR name, DOUBLE price, DOUBLE qty, LONG tax, DOUBLE SumDisc, DOUBLE PerDisc)
Призначення: функція друкує позицію товару у фіскальному чеку.
Параметри:
name— найменування товару;price— ціна одиниці товару;qty— кількість;tax— податкова група;SumDisc— сумова знижка або надбавка;PerDisc— відсоткова знижка або надбавка.
Технічна примітка
Функція може автоматично генерувати код товару, програмувати товар у фіскальному реєстраторі та контролювати зміни найменування, ціни, податкової групи й подільності товару.
printText
VARIANT_BOOL printText(BSTR text)
Призначення: функція друкує довільний текст у фіскальному чеку.
printBarCode
VARIANT_BOOL printBarCode(BSTR text, LONG type)
Призначення: функція друкує штрихкод у чеку.
| Значення | Тип штрихкоду |
|---|---|
| 0 | EAN8 |
| 1 | EAN13 |
| 2 | CODE128 |
| 3 | QR |
printRecTotal
VARIANT_BOOL printRecTotal(DOUBLE sum, LONG type)
Призначення: функція виконує оплату фіскального чека.
| Значення | Тип оплати |
|---|---|
| 0 | Готівка |
| 1 | Кредит |
| 2 | Чек |
| 3 | Картка |
printRecTotalEx
VARIANT_BOOL printRecTotalEx(DOUBLE sum, LONG type, BSTR rrn)
Призначення: функція виконує оплату чека з можливістю передати RRN-код транзакції.
printRecTotalCard
VARIANT_BOOL printRecTotalCard(DOUBLE sum, BSTR idEkv, BSTR idTerm, DOUBLE com, BSTR oper, BSTR epz, BSTR plat, BSTR avtor, BSTR rrn)
Призначення: функція використовується для оплати фіскального чека електронним платіжним засобом.
Параметри можуть містити:
- ідентифікатор еквайра;
- ідентифікатор платіжного терміналу;
- суму комісії;
- назву операції;
- дані електронного платіжного засобу;
- платіжну систему;
- код авторизації;
- RRN транзакції.
printRecSubtotalAdjustment
VARIANT_BOOL printRecSubtotalAdjustment(DOUBLE SumDis, DOUBLE PerDis)
Призначення: функція друкує знижку або надбавку на весь чек.
printRecVoid
VARIANT_BOOL printRecVoid()
Призначення: функція анулює поточний відкритий фіскальний чек.
printDuplicateReceipt
VARIANT_BOOL printDuplicateReceipt()
Призначення: функція друкує копію останнього фіскального чека.
printRecCash
VARIANT_BOOL printRecCash(DOUBLE Sum)
Призначення: функція друкує службовий чек внесення або вилучення готівки.
- позитивна сума — внесення;
- негативна сума — вилучення.
openCashDrawer
VARIANT_BOOL openCashDrawer()
Призначення: функція відкриває грошову скриньку, підключену до фіскального реєстратора.
Додаткова інформація в чеку
setA
VARIANT_BOOL setA(BSTR a, VARIANT_BOOL print)
Призначення: функція додає акцизну марку перед друком товарної позиції.
setB
VARIANT_BOOL setB(BSTR b, VARIANT_BOOL print)
Призначення: функція додає штрихкод перед друком товарної позиції.
setU
VARIANT_BOOL setU(BSTR u, VARIANT_BOOL print)
Призначення: функція додає код УКТЗЕД перед друком товарної позиції.
setR
VARIANT_BOOL setR(BSTR r)
Призначення: функція додає номер чека або фіскальний номер каси до чека повернення.
Нефіскальний чек
beginNonFiscal
VARIANT_BOOL beginNonFiscal()
Призначення: функція відкриває нефіскальний чек.
printNonFiscalText
VARIANT_BOOL printNonFiscalText(BSTR text)
Призначення: функція друкує текст у нефіскальному чеку.
endNonFiscal
VARIANT_BOOL endNonFiscal()
Призначення: функція закриває нефіскальний чек.
Друк звітів
printXReport
VARIANT_BOOL printXReport()
Призначення: функція друкує денний звіт без обнулення — X-звіт.
printZReport
VARIANT_BOOL printZReport()
Призначення: функція друкує денний звіт з обнуленням — Z-звіт.
Після виконання Z-звіту:
- обнулюється оперативна інформація реєстратора;
- підсумки заносяться до фіскальної пам’яті;
- очищуються запрограмовані товари в реєстраторі;
- очищується база артикулів драйвера.
Увага
Z-звіт є операцією з обнуленням. У промисловій інтеграції потрібно чітко визначити, хто і коли має право виконувати Z-звіт, як ця дія фіксується в K2 ERP, та як вона впливає на касову зміну, продажі, повернення й фінансову аналітику.
printReport
VARIANT_BOOL printReport(LONG type)
Призначення: функція друкує звіт фіскального реєстратора.
| Значення | Назва звіту |
|---|---|
| 0 | Звіт реалізованих товарів |
| 1 | Звіт запрограмованих товарів |
| 2 | Звіт за знижками |
| 3 | Звіт за податковими ставками |
| 4 | Звіт за товарними групами |
| 5 | Звіт за відділами |
| 6 | Звіт за операторами |
| 7 | Звіт контрольної стрічки |
printPeriodicReport
VARIANT_BOOL printPeriodicReport(LONG type, BSTR begin, BSTR end)
Призначення: функція друкує періодичний звіт за заданими параметрами.
Робота з часом
getTime
BSTR getTime()
Призначення: функція читає поточний час фіскального реєстратора у форматі ГГХХСС.
setTime
VARIANT_BOOL setTime(BSTR time)
Призначення: функція програмує поточний час у фіскальному реєстраторі.
Технічна примітка
Фіскальні реєстратори можуть дозволяти зміну часу лише після виконання Z-звіту. Також може бути заборонено встановлення часу, меншого за час останнього Z-звіту.
Виведення на дисплей покупця
Драйвер підтримує виведення інформації на дисплей покупця, якщо така можливість підтримується моделлю реєстратора або підключеним обладнанням.
Дисплей може використовуватися для показу:
- товарної позиції;
- суми;
- повідомлень;
- стану операції;
- інформації для покупця.
K2 ERP і ArtSoft
K2 ERP може використовувати рішення ArtSoft як частину касового та фіскального контуру українського бізнесу.
У такій архітектурі:
- K2 ERP відповідає за облік, товари, залишки, документи, фінанси, склад, CRM, e-commerce та аналітику;
- ArtSoft забезпечує програмний рівень взаємодії з фіскальними реєстраторами;
- РРО виконує фіскальну частину операції;
- користувач працює з єдиним бізнес-процесом, а не з розрізненими системами.
Перевага для українського бізнесу
Зв’язка K2 ERP і ArtSoft демонструє, як українська ERP та українське касове ПЗ можуть працювати разом: K2 ERP керує обліком, складом, документами й фінансами, а ArtSoft забезпечує взаємодію з фіскальними реєстраторами України.
Типовий сценарій інтеграції з K2 ERP
- У K2 ERP створюється документ продажу або касова операція.
- ERP визначає товари, кількість, ціну, податкову групу, знижки й оплату.
- K2 ERP через інтеграційний модуль створює COM-об’єкт
ArtSoft.FiscalPrinter. - Виконується
startз потрібною моделлю РРО. - Відкривається COM-порт або TCP/IP-з’єднання.
- Відкривається фіскальний чек.
- Передаються товарні позиції.
- Передається оплата.
- Чек закривається.
- Номер чека та результат операції повертаються в K2 ERP.
- Дані використовуються для документів, складу, фінансів і управлінської аналітики.
Приклад логіки продажу
1. Створити COM-об’єкт ArtSoft.FiscalPrinter
2. Викликати start(PrinterModel)
3. Відкрити порт openPort або openPortEx
4. Відкрити чек beginFiscalReceipt(0, "Касир")
5. Передати товари через printRecItem
6. Передати оплату через printRecTotal
7. Закрити чек endFiscalReceipt
8. Закрити порт closePort
9. Завершити роботу stop
Приклад логіки повернення
1. Створити COM-об’єкт ArtSoft.FiscalPrinter
2. Викликати start(PrinterModel)
3. Відкрити порт
4. Відкрити чек повернення beginFiscalReceipt(1, "Касир")
5. За потреби передати номер первинного чека через setR
6. Передати товар через printRecItem
7. Передати оплату або повернення
8. Закрити чек endFiscalReceipt
9. Закрити порт
10. Завершити роботу
Типові проблеми без універсального драйвера
Без універсального драйвера бізнес або розробник може стикатися з типовими проблемами:
- потрібно окремо реалізовувати протоколи кожної моделі РРО;
- складно підтримувати багато моделей фіскальних реєстраторів;
- важче переходити на іншу модель РРО;
- складніше працювати через TCP/IP;
- немає єдиного механізму обробки помилок;
- складніше тестувати інтеграцію без фізичного РРО;
- зростає вартість підтримки касового контуру;
- складніше інтегрувати РРО з ERP.
Переваги інтеграції з ERP
Інтеграція АртСофт Універсального драйвера РРО з ERP-системою дає бізнесу такі переваги:
- автоматичний друк фіскальних чеків із ERP;
- менше ручного дублювання даних;
- зв’язок чека з документом продажу;
- зв’язок чека з оплатою;
- зв’язок продажу зі складом;
- контроль повернень;
- контроль касових змін;
- друк X/Z-звітів із системного контуру;
- єдина аналітика продажів і фіскалізації;
- простіша підтримка різних моделей РРО.
Значення для української автоматизації торгівлі
АртСофт Універсальний драйвер РРО є важливим інструментом для української автоматизації торгівлі, оскільки дозволяє працювати з різними моделями фіскальних реєстраторів через єдиний програмний інтерфейс.
Для ERP-систем, касових програм, POS-рішень, магазинів, аптек, ресторанів, сервісних компаній та інтернет-магазинів це означає простіший і стабільніший шлях до фіскалізації продажів.
У поєднанні з K2 ERP драйвер може бути частиною повного цифрового контуру:
товар → продаж → чек → оплата → склад → документ → Z-звіт → фінанси → аналітика.
Див. також
- ArtSoft
- АртСофт
- Універсальний драйвер реєстраторів
- РРО
- ПРРО
- Фіскальний реєстратор
- Касове ПЗ
- POS
- Каса
- Фіскальний чек
- Z-звіт
- X-звіт
- K2 ERP
- K2 Cloud ERP
- Інтеграції K2 ERP
- K2 Модуль ArtSoft
- Вчасно.Каса
- Ритейл
- HoReCa
- E-commerce
- Українське ПЗ
- ПЗ для бізнесу
- Автоматизація бізнесу