תרחיש טיפוסי: החזרות ידניות אורכות 25 דקות לכל בקשה
מנהל פותח הזמנה ב-/bitrix/admin/sale_order_view.php, משנה את הסטטוס, מתקשר למחסן, ואז יוצר מסמך "החזרת סחורה מקונה" ב-1C. החזרה אחת צורכת 20–30 דקות. עם 15 החזרות ביום, עובד במשרה מלאה עסוק אך ורק בזה. הגישה שלנו מקצרת את התהליך פי 8: מכפתור "עיבוד החזרה" בחשבון האישי של הלקוח ועד לרישום ב-1C וקבלת החזר לפי 54-FZ.
למה תהליך ההחזרה הסטנדרטי נכשל
כברירת מחדל, 1C-Bitrix חסר ישות "החזרה" נפרדת. ישנם סטטוסי הזמנה (b_sale_status) וביטול דרך CSaleOrder::CancelOrder(), אך אין זרימת עבודה מלאה להחזרות חלקיות, החלפות ולוגיסטיקה הפוכה. צריך לבנות את זה.
-
החזרה חלקית – לקוח רוצה להחזיר 2 מתוך 5 פריטים.
CancelOrderמבטל את כל ההזמנה. נדרשת לוגיקה מותאמת אישית דרךCSaleBasketוחישוב מחדש באמצעותCSaleOrder::Update. -
אי-התאמות מלאי – המוצר מגיע למחסן אך לא נרשם ב-
b_catalog_store_product. האתר מציג "אזל מהמלאי" למרות שהקופסה על המדף. - החזר כספי – YooKassa, CloudPayments, Tinkoff – לכל אחת יש שיטת החזר, זמן קצוב וטיפול בשגיאות משלה. החזר ידני דרך החשבון האישי של מערכת התשלומים הוא מייגע.
-
54-FZ – קבלת החזר עם סימן חישוב
ВОЗВРАТ ПРИХОДАחייבת להישלח ל-OFD. ללא אוטומציה, המנהל יוצר אותה ידנית בתוכנת הקופה.
מה אנחנו בונים: מחשבון הלקוח ועד אינטגרציה עם 1C
החשבון האישי של הלקוח – החזרה בשירות עצמי
סעיף מותאם אישית ב-/personal/returns/ המשולב עם sale.personal.order.list. הלקוח עושה הכל:
- בוחר הזמנה מ-
b_sale_orderורואה פריטים מ-b_sale_basket; - מסמן מוצרים ספציפיים ובוחר סיבה ממאפיין בלוק המידע
RETURN_REASONSאו כותב טקסט חופשי; - מעלה תמונות דרך
CFile::SaveFile()(פגמים, נזקי משלוח); - בוחר שיטת החזרה: שליח (CDEK API), נקודת איסוף או דואר רוסי;
- בוחר יעד להחזר: כרטיס (דרך מערכת התשלומים), חשבון פנימי (
CSaleUserAccount) או החלפה במוצר אחר; - רואה את סטטוס הבקשה בזמן אמת – סטטוסים מותאמים אישית ב-
b_sale_status_lang.
פאנל ניהול למנהל – ללא קליקים מיותרים
סעיף נפרד הבנוי על \Bitrix\Main\Engine\Controller:
- תור בקשות עם מסננים (סטטוס, סכום, סיבה, תאריך, מנהל). טבלה על
CAdminListאו רכיב React מותאם אישית; - כל מידע הבקשה על מסך אחד: הזמנה, לקוח, היסטוריית הודעות, תמונות, מסמכים;
- פעולות בלחיצה אחת: אישור, דחייה, בקשת תמונה, שליחה לאישור;
- ניתוב – החזרות מעל סף שניתן להגדיר (מוגדר ב-
b_option) עוברות למנהל דרך מודול תהליכים עסקייםbizproc; - יצירה אוטומטית של מסמך החזרה וחשבונית – PDF דרך mPDF או TCPDF.
אוטומציה – מינימום פעולות ידניות
- החזרות עד סף שניתן להגדיר (לדוגמה, סכום קבוע) – אישור אוטומטי דרך מטפל אירועים
OnSaleOrderSaved. - קבלת החזר לפי 54-FZ – קריאה ל-
\Bitrix\Sale\Cashbox\Manager::addChecks()עםCheck::RETURN_TYPE. נשלח ל-OFD אוטומטית. - שרשרת התראות: אימייל דרך
CEvent::Send(), SMS, Push. - לאחר קבלה במחסן – רישום אוטומטי דרך
CCatalogStoreDocsBarcodeועדכוןb_catalog_store_product. - סנכרון עם 1C – המסמך "החזרת סחורה מקונה" נוצר אוטומטית במהלך החלפה דרך
\Bitrix\Sale\Exchange. - נקודות בונוס שנצברו ברכישה – ניכוי דרך
CSaleUserAccount::UpdateAccount()עם סכום שלילי. - סוכנים מעבדים את תור הבקשות; האפילוג של התבנית טוען סטטוסים בחשבון האישי בזמן אמת.
אינטגרציה עם מערכות תשלום – טיפול בכל שגיאה
לכל שער תשלום יש API החזר, מגבלות זמן וקודי שגיאה משלו. מפתחי Bitrix המוסמכים שלנו מכסים את כל התרחישים:
-
YooKassa –
POST /v3/refunds, החזר מלא וחלקי. החזר אפשרי רק בתוך 365 ימים לאחר התשלום. קבלת החזר אוטומטית דרך API הקבלות. -
CloudPayments – שיטת
refundלפיTransactionId. החזר לכרטיס תוך 1–5 ימי עסקים. לתשלומי 3DS, ההחזר עשוי להימשך עד 30 יום בצד הבנק. -
Tinkoff Acquiring –
CancelלפיPaymentId. אם התשלום היה בתשלומים, ההחזר מחשב מחדש את לוח הסילוקין – לוגיקה נפרדת ב-sale.paysystem.handler. - Apple Pay / Google Pay – ההחזר עובר דרך אותו רכישה; הטוקן מקושר לעסקה.
- תשלום במזומן בעת המסירה – החזר אינו אפשרי דרך מערכת התשלום; נדרשים פרטי בנק של הלקוח. טופס נפרד בחשבון האישי.
-
חשבון פנימי –
CSaleUserAccount::Pay()עם זיכוי הסכום. תמריץ עם מקדם מוגדל (x1.1) – 10% בונוס לבחירת החזר ליתרה במקום לכרטיס.
אנו מבטיחים טיפול נכון בכל קוד שגיאה דרך יישומי sale.paysystem.handler מותאמים אישית.
עמידה ברגולציה ואוטומציה – ללא יוצאים מן הכלל
חוק הגנת הצרכן (סעיף 26.1) – מכירה מרחוק: סירוב בכל עת לפני קבלה ובתוך 7 ימים לאחריה. המערכת שולטת אוטומטית במועדים ומתריעה למנהל על תאריכים מתקרבים. חוק הגנת הצרכן (סעיף 26.1).
-
14 ימים – החזרת סחורה באיכות תקינה. בדיקה:
date_insertשל ההזמנה + תאריך מסירה מהמעקב + 14 ימים. אם חלף המועד, הבקשה נדחית עם הסבר. - 54-FZ – קבלת החזר היא חובה. החוק הפדרלי 54-FZ.
- זרימת מסמכים – מסמך החזרה, הצהרת לקוח, מסמך קבלה – תבניות ממולאות אוטומטית מנתוני ההזמנה.
יכולות מורחבות: אנליטיקה, החלפה, לוגיסטיקה הפוכה
אנליטיקת החזרות – נתונים להחלטות
לוח מחוונים מותאם אישית בפאנל הניהול, המושך נתונים מ-b_sale_order בתוספת טבלת החזרות מותאמת אישית:
- אחוז החזרות לפי קטגוריות, מותגים, מנהלים, תקופות;
- סיבות ההחזרה המובילות. אם "לא תואם לתיאור" בשלושת הראשונים – הבעיה בכרטיסי המוצר, לא בלקוחות;
- תמונה פיננסית: סכום החזר, סכום החזר ממוצע, יחס החזר/החלפה/יתרה;
- התראות: כאשר אחוז ההחזרות עבור SKU מסוים עולה על 15% – הודעה למנהל הקטגוריה.
החלפה והמרה – שמירה על המכירה
לא כל החזרה פירושה אובדן הכנסה. החלפה דרך CSaleOrder::Update עם חישוב מחדש של העגלה:
- החלפה באותו מוצר במידה/צבע שונים – פריט חדש ב-
b_sale_basket, הישן מסומן להחזרה; - החלפה במוצר אחר עם תוספת תשלום – חישוב אוטומטי של ההפרש, תשלום נוסף באותה שיטת תשלום;
- יצירת חשבונית לשליחת מוצר ההחלפה דרך API של שירות המשלוחים.
לוגיסטיקה הפוכה – אינטגרציות
-
CDEK –
POST /v2/ordersעםtype: 2(החזרה). בקשת איסוף אוטומטית, מעקב דרך Webhook. - Boxberry – Parsel shop API לבחירת נקודת איסוף להחזרה.
- דואר רוסי – יצירת חשבונית החזרה דרך API של הדואר.
- מעקב אחר חבילת ההחזרה בחשבון האישי – סטטוסים נמשכים דרך סוכן Cron.
תהליך היישום: 8 שלבים
- ביקורת התהליך הנוכחי – ניתוח הלוגיקה העסקית, תיעוד סטטוסים ואינטגרציות.
- עיצוב זרימת העבודה – סכמת סטטוסים, כללי אישור אוטומטי, ניתוב.
- פיתוח החשבון האישי של הלקוח ופאנל הניהול – רכיבים, טבלאות, טפסים, בקרי REST.
- אינטגרציה עם מערכות תשלום ו-1C – הגדרת כל מטפל, בדיקת החזרים.
- אוטומציה של 54-FZ והתראות – חיבור OFD, תבניות אימייל, SMS.
- אינטגרציה עם שירותי משלוחים – CDEK, Boxberry, דואר רוסי.
- בדיקות – מחזור מלא: הזמנה → החזרה → החזר כספי → קבלה → 1C.
- הכשרת עובדים ומסירת תיעוד.
מה מקבלים: תוצרים ותוצאות
| בלוק | מה מקבלים |
|---|---|
| תיעוד | מפרט טכני, תיאור זרימת עבודה, דיאגרמת אינטגרציה |
| קוד ותצורה | רכיבים מוכנים, הגדרות בלוקי מידע, HL-blocks, סטטוסים, הרשאות |
| אינטגרציה עם מערכות תשלום | חיבור YooKassa, CloudPayments, Tinkoff, Apple Pay/Google Pay |
| החלפה עם 1C | הגדרת CommerceML, מסמך החזרה ב-1C |
| אוטומציה של 54-FZ | קבלת החזר דרך OFD, פיסקליזציה |
| הכשרה | הוראות וידאו למנהלים ומנהלי מערכת |
| תמיכה | חודש תמיכה באחריות לאחר היישום |
רשימת בדיקה לפני השקה
- החזר דרך כל מערכת תשלום (חלקי ומלא) נבדק.
- בדיקת 54-FZ: קבלת החזר תקינה, נשלחה ל-OFD.
- החלפה עם 1C: מסמך "החזרת סחורה מקונה" נוצר ללא שגיאות.
- החשבון האישי של הלקוח: כל השדות, העלאת תמונות, בחירת שיטת החזרה.
- אישור אוטומטי עד לסף עובד.
- התראות (אימייל/SMS/Push) התקבלו.
- המלאי לאחר קבלה עודכן.
- האנליטיקה מחשבת מדדים נכון.
למה זה משתלם תוך חודש
עיבוד החזרה ידני אורך 25 דקות; לאחר אוטומציה זה לוקח 3 דקות – כלומר פי 8 מהר יותר. עם 15 החזרות ביום, משתחררת משרת עובד במשרה מלאה. חיסכון שנתי בשכר עולה על $50,000. בנוסף, שיעור השגיאות יורד ב-95% בהשוואה לטיפול ידני. לקוחות שקל להם להחזיר מוצר נוטים ב-35% יותר לבצע רכישה נוספת. צרו קשר עוד היום להערכת פרויקט והצעה מסחרית תוך 24 שעות. עם ניסיון של 10+ שנים בפיתוח 1C-Bitrix ולמעלה מ-200 פרויקטים שהושלמו, אנו מספקים זרימות החזרה חזקות. בקשו ייעוץ עכשיו.

