1C-Bitrix עם Taxcom EDO: ייעול זרימת המסמכים שלך

טיפול ידני במסמכים גוזל זמן ומוביל לשגיאות, במיוחד עם נפח הזמנות גבוה. אנחנו מפתחים אינטגרציה של 1C-Bitrix עם EDI Takskom, ומבצעים אוטומציה של שליחת UPD ומעקב אחר סטטוסים. הצוות שלנו מספק את הפרויקט במפתח מלא—מההתקנה ועד לתמיכה, ומבטיח זרימת מסמכים אמינה וניתנת להרחבה.
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
1C-Bitrix עם Taxcom EDO: ייעול זרימת המסמכים שלך
בינוני
~1-2 שבועות

הכישורים שלנו:

שאלות נפוצות

שילוב 1C-Bitrix עם מערכת Taxcom EDO

תארו לעצמכם: 150 הזמנות ביום, כל אחת דורשת UPD משלה. מנהל מכין את המסמך ב-1C, ואז מעלה אותו ידנית לחשבון האישי של Taxcom — מבזבז 15–20 דקות. התוצאה: 40 שעות בשבוע על משימות שגרתיות. שגיאות בפרטים מובילות לדחיות ב-12% מהמקרים, והצדדים השניים מעכבים את החתימה ב-4 ימים בממוצע. המצב מחמיר אם ללקוח יש דרישות מסמכים ספציפיות (מוצרים רפואיים עם סידוריים ותאריכי תפוגה).

אנחנו מתמחים ב-Bitrix כבר למעלה מ-10 שנים והשלמנו 30+ פרויקטי שילוב EDO. היישום הסטנדרטי שלנו הוא שליחה אוטומטית של UPD מ-Bitrix דרך ספק Taxcom ללא מעורבות מנהל: מצב החתימה מנוטר בפאנל הניהול. גישה זו מקצרת את זמן עיבוד ההזמנות ב-80% ומבטלת שגיאות הזנה ידניות. ב-100 הזמנות בחודש, החיסכון מגיע ל-$3.1k–4.5k בשנה. עבור ספק חומרי בניין B2B, היישום הפחית את עלויות עיבוד המסמכים ב-$11k–16k בשנה.

מידע נוסף על הגדרת החשבוןכדי לחבר את החתימה העננית, פשוט הירשמו בחשבון האישי של Taxcom, קבלו Client ID ו-Secret. לקוח ה-PHP שלנו מקבל אוטומטית טוקן.

בעיות נפוצות שחברות מתמודדות איתן

  • ייצוא מסמכים ידני. המנהל יוצר UPD ב-1C, ואז מעלה אותו לחשבון האישי של Taxcom — 15–20 דקות לכל הזמנה. ב-50 הזמנות ביום, זה 12–17 שעות של שגרה טהורה.
  • אין קישור לסטטוסי הזמנה. המסמך לא נשלח אוטומטית עם המשלוח — ייתכן שישכחו אותו או יעכבו אותו.
  • קשיים עם צדדים שניים. מציאת BoxId של צד שני חדש לוקחת זמן, ושגיאות בפרטים מובילות לדחיית מסמכים.
  • חבילת מסמכים לא מלאה. עבור מוצרים רפואיים, נדרשים אישורי קבלה עם סידוריים ותאריכי תפוגה — ה-UPD הסטנדרטי אינו כולל אותם.

הניסיון שלנו מראה ש-90% מהבעיות הללו נפתרות על ידי שילוב נכון של Bitrix עם Taxcom דרך REST API. קבלו ייעוץ לפרויקט שלכם.

איך עובד שילוב Taxcom עם Bitrix

האימות מתבצע דרך OAuth 2.0 Client Credentials. אנו שומרים את הטוקן במטמון למשך 3500 שניות (קצת פחות מאורך חייו) כדי להימנע מפניות ל-API בכל בקשה:

class TaxcomClient {
    private string $baseUrl = 'https://edo.taxcom.ru/api/v1';
    private string $accessToken;

    public function __construct(
        private string $clientId,
        private string $clientSecret
    ) {
        $this->accessToken = $this->getAccessToken();
    }

    private function getAccessToken(): string
    {
        $cached = \Bitrix\Main\Data\Cache::createInstance();
        if ($cached->startDataCache(3500, 'taxcom_token', '/taxcom/')) {
            $response = $this->httpPost('https://auth.taxcom.ru/oauth/token', [
                'grant_type' => 'client_credentials',
                'client_id' => $this->clientId,
                'client_secret' => $this->clientSecret,
                'scope' => 'edo',
            ]);
            $cached->endDataCache(['token' => $response['access_token']]);
            return $response['access_token'];
        }
        $data = $cached->getVars();
        return $data['token'];
    }
}

יצירה ושליחה של מסמך

לאחר קבלת הטוקן, אנו מייצרים את XML של המסמך ושולחים אותו בשלושה שלבים: העלאת קובץ, חתימה, שליחת הודעה:

public function sendDocument(\Bitrix\Sale\Order $order): array {
    $xmlContent = $this->generateUPDXml($order);
    // Шаг 1: загрузка файла
    $uploadResponse = $this->apiPost('/documents/upload', [
        'FileName' => "UPD_{$order->getId()}.xml",
        'Content' => base64_encode($xmlContent),
        'ContentType' => 'application/xml',
    ]);
    $fileId = $uploadResponse['FileId'];
    // Шаг 2: подписание (КриптоПро или облачная подпись Такском)
    $signature = $this->signFile($xmlContent);
    // Шаг 3: отправка документа
    return $this->apiPost('/messages/send', [
        'RecipientBoxId' => $this->getRecipientBoxId($order),
        'Documents' => [[
            'FileId' => $fileId,
            'Signature' => base64_encode($signature),
            'DocType' => 'UniversalTransferDocument',
            'Function' => 'ДОП',
        ]],
    ]);
}

Taxcom תומך בחתימה עננית דרך שירות "Taxcom-Crypto" — התעודה מאוחסנת בצד של Taxcom, והחתימה מתבצעת דרך ה-API ללא צורך ב-CryptoPro על השרת. זה מפשט את התשתית ומפחית עלויות בהשוואה לרכישת מפתח רישוי נפרד.

מציאת BoxId של צד שני

במגע ראשון עם צד שני חדש, המערכת מחפשת את ה-BoxId שלהם לפי INN/KPP:

public function findRecipientBoxId(string $inn, string $kpp = ''): ?string {
    $response = $this->apiGet('/organizations/search', [
        'inn' => $inn,
        'kpp' => $kpp,
    ]);
    foreach ($response['Organizations'] as $org) {
        if ($org['Inn'] === $inn && ($kpp === '' || $org['Kpp'] === $kpp)) {
            return $org['BoxId'];
        }
    }
    return null;
}

המזהה שנמצא נשמר בשדה המשתמש של הקונה (class TaxcomClient { private string $baseUrl = 'https://edo.taxcom.ru/api/v1'; private string $accessToken; public function __construct( private string $clientId, private string $clientSecret ) { $this->accessToken = $this->getAccessToken(); } private function getAccessToken(): string { $cached = \Bitrix\Main\Data\Cache::createInstance(); if ($cached->startDataCache(3500, 'taxcom_token', '/taxcom/')) { $response = $this->httpPost('https://auth.taxcom.ru/oauth/token', [ 'grant_type' => 'client_credentials', 'client_id' => $this->clientId, 'client_secret' => $this->clientSecret, 'scope' => 'edo', ]); $cached->endDataCache(['token' => $response['access_token']]); return $response['access_token']; } $data = $cached->getVars(); return $data['token']; } } ) — שליחות עתידיות מתבצעות ללא שאילתות נוספות.

למה לבחור בחתימה עננית?

החתימה העננית של Taxcom היא אלטרנטיבה לרכישה והתקנה של CryptoPro. הבדלים עיקריים:

קריטריון CryptoPro על השרת חתימה עננית של Taxcom
עלות רישוי + רישוי לכל שרת 0, כלול בתעריף EDO
נדרשת התקנה + הגדרה ותצורה לא נדרשת
אחסון מפתח על השרת של הלקוח אצל הספק (מוסמך FSS)
שילוב API + צריך לכתוב wrapper פונקציה מוכנה ב-API

החתימה העננית זולה ב-40–60% מהחתימה הקלאסית בשל היעדר רישיונות ותחזוקה.

מקרה בוחן: EDO עבור מפיץ רפואי (מהניסיון שלנו)

מפיץ ציוד רפואי, ~400 לקוחות B2B, עובד עם בתי חולים ממשלתיים ומרפאות פרטיות. מוסדות ממשלתיים often יש להם ספקי EDO משלהם עם roaming, חלקם עובדים ישירות עם Taxcom.

ייחודיות: בנוסף ל-UPD, מוצרים רפואיים דורשים אישורי קבלה עם פרטים מורחבים (סידורי, תאריך תפוגה, תעודת רישום). פורמט ה-UPD הסטנדרטי אינו מכסה את כל השדות.

הפתרון:

פיתחנו מסמך מורכב: UPD + נספח עם פרטים רפואיים מורחבים כקובץ XML נוסף באותה הודעה של Taxcom. שני הקבצים חתומים בחתימה אחת.

$documents = [
    [
        'FileId' => $updFileId,
        'Signature' => base64_encode($updSignature),
        'DocType' => 'UniversalTransferDocument',
    ],
    [
        'FileId' => $annexFileId,
        'Signature' => base64_encode($annexSignature),
        'DocType' => 'Attachment', // дополнение к основному документу
        'Comment' => 'Медицинские реквизиты товаров',
    ],
];

ב-Bitrix, פרטי המוצר (סידורי, תאריך תפוגה) מאוחסנים כמאפייני פריט הזמנה. בעת יצירת XML, הם נשלפים מ-public function sendDocument(\Bitrix\Sale\Order $order): array { $xmlContent = $this->generateUPDXml($order); // Шаг 1: загрузка файла $uploadResponse = $this->apiPost('/documents/upload', [ 'FileName' => "UPD_{$order->getId()}.xml", 'Content' => base64_encode($xmlContent), 'ContentType' => 'application/xml', ]); $fileId = $uploadResponse['FileId']; // Шаг 2: подписание (КриптоПро или облачная подпись Такском) $signature = $this->signFile($xmlContent); // Шаг 3: отправка документа return $this->apiPost('/messages/send', [ 'RecipientBoxId' => $this->getRecipientBoxId($order), 'Documents' => [[ 'FileId' => $fileId, 'Signature' => base64_encode($signature), 'DocType' => 'UniversalTransferDocument', 'Function' => 'ДОП', ]], ]); } .

מדד לפני אחרי
זמן ממוצע לשליחת חבילת מסמכים 45 דקות/הזמנה אוטומטי עם המשלוח
שלמות חבילת המסמכים תלונות קבועות מבתי מרקחת 100% לפי רשימת בדיקה
מעקב אחר מצב החתימה ניטור דרך שיחות טלפון ניטור אוטומטי, התראות

החיסכון ללקוח הסתכם ב-$11k–16k בשנה בשל הפחתת עבודה ידנית וקנסות על איחור במסמכים.

ניטור תור המסמכים

לשליטה בזרימת המסמכים — סעיף ניהול ב-Bitrix עם טבלת מסמכים שנשלחו:

  • הזמנה → מסמך Taxcom → סטטוס → תאריך חתימה

הנתונים נלקחים מטבלת public function findRecipientBoxId(string $inn, string $kpp = ''): ?string { $response = $this->apiGet('/organizations/search', [ 'inn' => $inn, 'kpp' => $kpp, ]); foreach ($response['Organizations'] as $org) { if ($org['Inn'] === $inn && ($kpp === '' || $org['Kpp'] === $kpp)) { return $org['BoxId']; } } return null; } + שאילתות תקופתיות ל-API של Taxcom לעדכון סטטוסים (cron כל 10 דקות).

מה כלול בעבודה

  1. הגדרת חשבון Taxcom — קבלת Client ID/Secret, חתימה עננית (אם נדרש).
  2. פיתוח לקוח PHP — מחלקה לאינטראקציה עם REST API, שמירת טוקן במטמון, טיפול בשגיאות.
  3. יצירת XML — יצירת UPD, אישורים, מסמכים מורכבים על בסיס נתוני הזמנה.
  4. מדריך צדדים שניים — טעינת BoxId, שמירה בשדה משתמש של Bitrix.
  5. שליחה מונעת אירועים — קישור לסטטוסי הזמנה: משלוח → שליחה אוטומטית.
  6. ניטור סטטוסים — פאנל ניהול עם טבלה, התראות שגיאה, עדכון אוטומטי.
  7. תיעוד והדרכה — העברת קוד, הוראות למנהלים, ייעוץ השקה.

לוחות זמנים ואיך להתחיל

שילוב בסיסי (UPD, חתימה עננית, ניטור) לוקח 3 עד 5 שבועות. שילוב מורחב עם מסמכים מורכבים ופורמטים ספציפיים לוקח 6 עד 9 שבועות. העלות מחושבת באופן אישי לאחר ניתוח זרימת המסמכים שלכם. אנו נעריך את הפרויקט שלכם תוך 2 ימי עסקים — צרו קשר לייעוץ והערכה מדויקת. הזמינו ריצת ניסיון על סוג מסמך אחד.