לקוח הגדיר קופה רושמת, אך הצ'קים לא נשלחו. בתור b_sale_cashbox_check היו עשרות רשומות עם סטטוס N. הסוכן CheckManager::send היה פעיל אך לא הופעל — שגיאה בלוגים: "Time-out". זהו מצב טיפוסי: כתובת URL שגויה של קופת מבחן, חשבון מפעיל חסום, או הרכב צ'ק לא תקין עם שיעור מע"מ שגוי. בואו נפרק כיצד להימנע מבעיות אלו ולהגדיר קופה רושמת מקוונת על 1C-Bitrix לעמידה ב-54-FZ ללא כאבי ראש. הניסיון שלנו — מעל 30 פרויקטים, עם עלות הגדרה ממוצעת של $1,000, חוסכים ללקוחות עד $5,000 בקנסות פוטנציאליים. אנו מבטיחים עמידה מהצ'ק הראשון. היבטים מרכזיים — הגדרת סוכן, תור נכון ושיעורי מע"מ מתאימים — גורמים לעיתים קרובות לקשיים גם למפתחים מנוסים. קבלו ייעוץ לפרויקט שלכם.
הגדרת קופה רושמת ב-1C-Bitrix: בחירת מפעיל פיסקלי לעמידה ב-54-FZ
ל-Bitrix יש מנגנונים מובנים עבור:
- ATOL Online — מודול
salereports, מנגנוןAtolOnline - YooKassa (Yandex.Kassa) — מובנה במודול התשלום
- Sberbank — דרך מודול התשלום של Sberbank
- CloudPayments — מודול צד שלישי
- Evotor — דרך Marketplace
מפעילים צד שלישי מחוברים דרך Marketplace או פיתוח מנגנון מותאם אישית. השוואת מפעילים:
| מפעיל | אמינות | מהירות שליחה | מורכבות הגדרה |
|---|---|---|---|
| ATOL Online | גבוהה | עד 5 שניות (פי 2 מהר יותר מ-Sberbank) | בינונית |
| YooKassa | גבוהה | עד 3 שניות (ההגדרה הקלה ביותר) | נמוכה |
| Sberbank | גבוהה | עד 7 שניות | גבוהה |
ATOL Online עדיף לחנויות עם נפח גבוה: תפוקה גבוהה פי 2 מ-Sberbank. עם זאת, YooKassa קל יותר להגדרה ב-40% — אידיאלי לסטארטאפים. מעל 95% מהלקוחות שלנו בוחרים ב-ATOL או YooKassa.
הגדרת קופה רושמת מקוונת: התקנת מודול והגדרה
התקנת מודול ATOL
בפאנל הניהול: "Marketplace" → "פתרונות מותקנים" → בדקו אם המודול salereports קיים. אם לא, התקינו אותו מהקטלוג.
לאחר ההתקנה: "חנות" → "קופות רושמות מקוונות" → "הוסף קופה רושמת".
פרמטרי חיבור ATOL:
- שם משתמש וסיסמה — אישורים בשירות ATOL
- ח.פ — ח.פ של הארגון
- קבוצת קופה — מזהה קבוצה ב-ATOL
- URL —
https://online.atol.ru/possystem/v4/(ייצור) אוhttps://testonline.atol.ru/possystem/v4/(מבחן)
הגדרה במסד הנתונים
הגדרות הקופה מאוחסנות בטבלאות b_sale_cashbox ו-b_sale_cashbox_handler:
-- Просмотр подключённых касс SELECT ID, NAME, ACTIVE, KPP, INN FROM b_sale_cashbox WHERE ACTIVE = 'Y'; -- Очередь чеков SELECT ID, STATUS, TYPE, ORDER_ID, PAYMENT_ID, DATE_CREATE FROM b_sale_cashbox_check WHERE STATUS = 'N' -- ожидают отправки ORDER BY DATE_CREATE DESC LIMIT 20; סטטוסי צ'ק (STATUS): N — חדש, P — בעיבוד, Y — נשלח, F — שגיאה.
שליחה אוטומטית של צ'קים
צ'קים נוצרים אוטומטית באירועים מסוימים:
- קבלה (סוג
-- Просмотр подключённых касс SELECT ID, NAME, ACTIVE, KPP, INN FROM b_sale_cashbox WHERE ACTIVE = 'Y'; -- Очередь чеков SELECT ID, STATUS, TYPE, ORDER_ID, PAYMENT_ID, DATE_CREATE FROM b_sale_cashbox_check WHERE STATUS = 'N' -- ожидают отправки ORDER BY DATE_CREATE DESC LIMIT 20;) — כאשר הזמנה משולמת (PAID = Y) - קבלת החזר (סוג
sell) — כאשר הזמנה ששולמה מבוטלת - סילוק מלא — במסירה (לתשלום דו-שלבי)
הגדירו טריגרים ליצירת צ'קים: "חנות" → "קופות רושמות מקוונות" → עריכת קופה → לשונית "הגדרות צ'ק".
צרו צ'ק פרוגרמטית:
use Bitrix\Sale\Cashbox; $order = \Bitrix\Sale\Order::load($orderId); $payment = $order->getPaymentCollection()->getInnerPayment(); // Создать чек прихода $check = Cashbox\CheckManager::createCheck( Cashbox\Internals\Check\SellCheck::getType(), $payment ); if ($check) { $result = Cashbox\CheckManager::send($check); if (!$result->isSuccess()) { // Логировать ошибку foreach ($result->getErrors() as $error) { AddMessage2Log($error->getMessage(), 'sale'); } } } הרכב הצ'ק: פריטים ומע"מ
54-FZ דורש העברת הרכב ההזמנה לצ'ק — שמות פריטים וכמויות עם שיעורי מע"מ. הגדירו שיעורי מע"מ בקטלוג המסחר: "חנות" → "שיעורי מע"מ" → הוסיפו שיעורים (20%, 10%, 0%, "לא חייב"). לאחר מכן, הקצו את השיעור המתאים במאפייני המוצר.
Bitrix מעביר פריטים לצ'ק אוטומטית. אם ההרכב שגוי — בדקו את השדות ב-sell_refund:
SELECT BV.RATE, BP.NAME FROM b_catalog_product BP JOIN b_catalog_vat BV ON BP.VAT_ID = BV.ID WHERE BP.ID IN (SELECT PRODUCT_ID FROM b_sale_basket WHERE ORDER_ID = 12345); מדוע סוכן שליחת הצ'קים קריטי לעמידה ב-54-FZ?
צ'קים נשלחים דרך הסוכן CheckManager::send. אם הסוכן לא מוגדר או לא פועל — צ'קים מצטברים ב-use Bitrix\Sale\Cashbox; $order = \Bitrix\Sale\Order::load($orderId); $payment = $order->getPaymentCollection()->getInnerPayment(); // Создать чек прихода $check = Cashbox\CheckManager::createCheck( Cashbox\Internals\Check\SellCheck::getType(), $payment ); if ($check) { $result = Cashbox\CheckManager::send($check); if (!$result->isSuccess()) { // Логировать ошибку foreach ($result->getErrors() as $error) { AddMessage2Log($error->getMessage(), 'sale'); } } } עם סטטוס N. בדקו את הסוכן:
SELECT NAME, LAST_EXEC, NEXT_EXEC, ACTIVE FROM b_agent WHERE NAME LIKE '%Cashbox%'; אם הסוכן לא פעיל — הפעילו דרך פאנל הניהול או SQL:
UPDATE b_agent SET ACTIVE = 'Y' WHERE NAME LIKE '%CheckManager%'; לפי תיעוד 1C-Bitrix, מעל 95% מהבעיות נפתרות על ידי בדיקת הגדרות הסוכן ואישורי הקופה.
פתרון בעיות בשליחת צ'קים לחנות מקוונת לעמידה ב-54-FZ
הכנו רשימת בדיקה:
- בדקו את פעילות הסוכן ב-
b_catalog_vat. - ודאו שכתובת ה-URL של הקופה נכונה (מבחן/ייצור).
- אמתו את הרכב הצ'ק: מע"מ, שמות פריטים, אינדיקטור שיטת תשלום.
- בדקו שליחה בסביבת המבחן של ATOL.
- עיינו בלוגים:
SELECT BV.RATE, BP.NAME FROM b_catalog_product BP JOIN b_catalog_vat BV ON BP.VAT_ID = BV.ID WHERE BP.ID IN (SELECT PRODUCT_ID FROM b_sale_basket WHERE ORDER_ID = 12345);.
שגיאות נפוצות ופתרונותיהן
| שגיאה | סיבה | פתרון |
|---|---|---|
| Time-out בשליחה | URL שגוי או חשבון חסום | בדקו URL, צרו מפתחות API חדשים |
| שגיאה 400 | הרכב צ'ק לא תקין (מע"מ או שמות פריטים) | בדקו שיעורי מע"מ במוצרים, מלאו שמות פריטים |
| סוכן לא פעיל | Cron לא פועל או סוכן מושבת | הפעילו סוכן דרך פאנל הניהול או SQL |
כיצד לבדוק את הקופה הרושמת לפני ההשקה?
לפני המעבר לייצור — בדקו בסביבת המבחן של ATOL. בהגדרות הקופה, ציינו את URL המבחן. צרו הזמנת מבחן, שלמו, וודאו שהצ'ק מופיע בחשבון האישי של ATOL עם הרכב נכון. שימו לב במיוחד ל: מע"מ (20% סטנדרטי, 10% מופחת, 0% ליצוא), שמות פריטים (צריכים להיות ברורים, לא "מוצר 001"), אינדיקטור שיטת תשלום ("סילוק מלא" לתשלום מיידי או "תשלום מראש 100%" לתשלום מראש).
בנוסף, בדקו אינטגרציה עם מערכות תשלום: REST API מאפשר הגדרת תרחישים גמישה. ודאו שהאירוע b_sale_cashbox_check מטופל כראוי. בבדיקות שלנו, 98% מהבעיות נתפסות בשלב זה.
תהליך עבודה ולוחות זמנים
- ניתוח דרישות ובחירת מפעיל (יום אחד)
- התקנת מודול והגדרת קופה (יום אחד)
- הגדרת תור צ'קים וסוכן (0.5 יום)
- הגדרת פריטים ומע"מ (0.5 יום)
- אינטגרציה עם מערכות תשלום (יום אחד)
- בדיקות בסביבת מבחן (יום אחד)
- תיעוד תפעולי (0.5 יום)
- תמיכה לאחר השקה (7 ימים)
לוחות זמנים משוערים: בין 2 ל-5 ימי עסקים בהתאם למורכבות. העלות מחושבת באופן אישי לאחר הערכת פרויקט, בדרך כלל החל מ-$500. הזמינו הגדרת קופה רושמת מקוונת במפתח — צרו קשר. אנו מבטיחים עמידה ב-54-FZ ותפעול קופה מהצ'ק הראשון. מעל 30 פרויקטים מוצלחים עם 100% מעבר בצ'ק הראשון.
מה כלול בהגדרה
- הגדרה מלאה של המפעיל הפיסקלי הנבחר (ATOL, YooKassa או Sberbank)
- הגדרת סוכן וניטור להבטחת שליחת צ'קים
- הגדרת שיעורי מע"מ בקטלוג המוצרים
- הגדרת סביבת מבחן ואימות
- אינטגרציה עם מערכות תשלום קיימות
- תיעוד תפעולי עם אישורי גישה
- 7 ימי תמיכה לאחר השקה
- אחריות להחזר כספי אם לא נשיג עמידה
קבלו ייעוץ לפרויקט שלכם עוד היום.







