כל מלאי שלישי במחסן מסתיים בפערים. טפסי נייר אובדים, נתונים מוזנים באיחור, ומספרים סידוריים נשכחים. אנו מפתחים אפליקציות מובייל שמחליפות עבודה ידנית: עובד סורק ברקוד, המערכת מיד מתאמת עם הרשומות ומתקנת את התוצאה. זמן המלאי מצטמצם בעד 70%, ושקיפות התהליך מבטלת טעויות אנוש.
בליבת התהליך עומדת מלאי — בדיקת זמינות בפועל מול נתוני החשבונאות. אבל התהליך המסורתי הופך לדיגיטלי: האפליקציה הניידת מנחה מה לסרוק ומבטיחה שאף פריט לא יוחמץ. מצב לא מקוון מבטיח פעולה גם ללא רשת, ואינטגרציה עם 1C מעלה דוחות אוטומטית למערכת החשבונאות. האפליקציה שלנו מאפשרת אוטומציה של מחסן באמצעות מעקב מלאי לא מקוון וסריקת ברקודים.
מה מספקת אפליקציית מלאי ניידת?
מצלמה מובנית מול סורק חומרה
המצלמה המובנית היא הפתרון המשתלם ביותר. סריקת ברקודים של ML Kit (Android/iOS) דרך CameraX או AVFoundation מפענחת EAN-13, EAN-8, Code 128, Code 39, QR ועשרות פורמטים נוספים. עובדת ללא רשת. זמן זיהוי בטלפונים מודרניים הוא 100–200 אלפיות השנייה.
עם זאת, ישנם מקרים שבהם המצלמה לא מספיקה: מחסן עם תאורה חלשה, תוויות פגומות, או צורך בסריקה מבלי להרים את הפריט (קריאה מטווח ארוך). כאן נדרשים סורקי Bluetooth (Zebra CS60, Honeywell 1950g, Newland BS80) או מחשבי כף יד תעשייתיים (Zebra TC21/TC26, Honeywell CT30). הם מתחברים כמקלדת HID או דרך ה-SDK של היצרן.
| פרמטר | מצלמה | סורק Bluetooth | מחשב כף יד תעשייתי |
|---|---|---|---|
| עלות | חינם (מובנה) | נמוכה | גבוהה |
| מהירות סריקה | 100–200 אלפיות השנייה | 50–100 אלפיות השנייה | 30–50 אלפיות השנייה |
| טווח | 10–30 ס"מ | עד 10 מ' | עד 15 מ' |
| טיפול בתוויות פגומות | חלש | טוב | מצוין |
| הגנה מפני אבק/מים | אין | תלוי בדגם | IP65+ |
בפועל, המצלמה מתאימה למשרד או לחנות, בעוד מחשב כף יד תעשייתי מיועד למחסנים מלוכלכים. אם התקציב מוגבל, סורק Bluetooth עם רצועת יד הוא הפתרון האידיאלי: הוא מהיר פי 2–3 מהמצלמה על ברקודים שחוקים.
למה ארכיטקטורת offline-first קריטית למחסן?
המחסן הוא אזור עם Wi-Fi לא יציב. בחלק מהאזורים אין כיסוי כלל. האפליקציה חייבת לעבוד לגמרי לא מקוון: לטעון את רשימת המלאי לפני ההתחלה, לאחסן סריקות מקומית, ולסנכרן כשהחיבור חוזר. אנו משתמשים ב-Room למסד הנתונים המקומי וב-WorkManager עם אילוץ NetworkType.CONNECTED.
// Room: сущности для плана инвентаризации и записей сканирования
@Entity(tableName = "inventory_items")
data class InventoryItem(
@PrimaryKey val sku: String,
val name: String,
val expectedQuantity: Int,
val unit: String,
val location: String,
)
@Entity(tableName = "scan_records")
data class ScanRecord(
@PrimaryKey(autoGenerate = true) val id: Long = 0,
val sku: String,
val scannedQuantity: Int,
val scannedAt: Long = System.currentTimeMillis(),
val syncStatus: SyncStatus = SyncStatus.PENDING,
val userId: String,
)
enum class SyncStatus {
PENDING, SYNCED, CONFLICT
}במקרה של התנגשות (עובד אחר סרק את אותו SKU), השרת מחזיר התנגשות, והאפליקציה מציגה את שני הערכים ומבקשת לפתור ידנית.
איך ליישם מעקב אחר מספרים סידוריים?
לא לכל פריט יש ברקוד קריא. הזנה ידנית של SKU עם השלמה אוטומטית ממסד הנתונים המקומי היא חובה. רשימת ה-SKU מורדת מראש לטבלת // Room: сущности для плана инвентаризации и записей сканирования @Entity(tableName = "inventory_items") data class InventoryItem( @PrimaryKey val sku: String, val name: String, val expectedQuantity: Int, val unit: String, val location: String, ) @Entity(tableName = "scan_records") data class ScanRecord( @PrimaryKey(autoGenerate = true) val id: Long = 0, val sku: String, val scannedQuantity: Int, val scannedAt: Long = System.currentTimeMillis(), val syncStatus: SyncStatus = SyncStatus.PENDING, val userId: String, ) enum class SyncStatus { PENDING, SYNCED, CONFLICT } ב-Room לחיפוש טקסט מלא מהיר לפי שם.
מספרים סידוריים הם סיפור נפרד. פריט עשוי לדרוש סריקה של כל יחידה בנפרד (מחשבים ניידים, מדפסות, כלים). מצב מעקב מספרים סידוריים: האפליקציה ממתינה לסריקת N מספרים סידוריים עבור פריט אחד, ומציגה התקדמות FTS4/FTS5.
איך נוצרים דוחות פערים ומשולבים עם 1C?
לאחר סיום המלאי — דוח פערים: אילו פריטים לא נמצאו, אילו הם עודפים, היכן בפועל לא תאם לתוכנית. נוצר מקומית, נשלח לשרת, או מיוצא ל-PDF דרך API של 3/10 серийных номеров введено (Android) / PdfDocument (iOS).
אינטגרציה עם 1C דרך REST API (שירות HTTP של 1C) או שירות מתווך. פורמט חילופי הנתונים הוא JSON או XML, כפי שסוכם עם מפתח 1C. העלאת מסמך המלאי חזרה ל-1C היא שלב סופי סטנדרטי.
מקרה אחרון מהפרקטיקה שלנו
עבור מחסן לוגיסטי עם 15,000 SKU, פרסנו אפליקציית iOS עם סורקי Bluetooth וארכיטקטורת offline-first. בעבר, מלאי מלא לקח 15 עובדים יומיים מלאים. לאחר המעבר, אותה עבודה נעשית על ידי 5 עובדים ב-4 שעות — הפחתה של 70% בזמן העבודה. שיעור הפערים ירד מ-3% ל-0.2%, מה שבעצם ביטל מחיקות מהפסדים לא מתועדים. זה הביא לחיסכון שנתי בעלויות עבודה של כ-$50,000. עלות פרויקט טיפוסית נעה בין $15,000 ל-$40,000 תלוי במורכבות.
מה כלול בעבודה?
| רכיב | תיאור |
|---|---|
| ביקורת תהליכים | בחינת תוכנית המלאי הנוכחית, סוגי פריטים, תנאי עבודה במחסן |
| עיצוב | מחסן טכנולוגי (iOS/Android/Flutter/React Native — אפשרויות חוצות פלטפורמות), ארכיטקטורה (offline-first), בחירת סוג סורק |
| פיתוח | יישום סורק, אחסון מקומי, סנכרון, דוחות |
| אינטגרציה | חיבור ל-1C או ERP אחר, הגדרת חילופי נתונים |
| בדיקות | אימות על מכשירים אמיתיים, כולל מחשבי כף יד תעשייתיים |
| פריסה | פרסום ל-App Store ו-Google Play, הגדרת TestFlight/Firebase Distribution |
| תיעוד | מדריכי משתמש ותיעוד טכני |
| הרשאות גישה | הגדרת תפקידי משתמש והרשאות |
| הדרכה | הדרכת צוות על האפליקציה, מסירת תיעוד והרשאות גישה |
| תמיכה | תמיכה לאחר השקה ותיקוני באגים |
יתר על כן, האפליקציה יכולה להפוך כל סמארטפון למסוף איסוף נתונים, מה שהופך אותה לפתרון מלא למלאי.
לוח זמנים: גרסה בסיסית עם מצלמה ולא מקוון — 5–7 שבועות. עם מחשב כף יד תעשייתי, מעקב סידורי ו-1C — 10–14 שבועות. התמחור נקבע לאחר ניתוח הפרויקט שלך.
גישת פיתוח ב-5 שלבים
- ביקורת תהליכים — הבנת הזרימה הנוכחית ונקודות הכאב.
- עיצוב ארכיטקטורה — בחירת מחסן טכנולוגי ודפוס offline-first.
- פיתוח תכונות ליבה — סריקה, אחסון לא מקוון, סנכרון.
- אינטגרציה עם ERP — חיבור ל-1C או מערכות אחרות.
- בדיקות ופריסה — בדיקה על מכשירים אמיתיים ופרסום לחנות האפליקציות.
טעויות פיתוח נפוצות
- התעלמות ממצב לא מקוון — האפליקציה נתקעת כשהרשת נופלת.
- חוסר באבסטרקציה של סורק — החלפת מצלמה במחשב כף יד תעשייתי דורשת שכתוב קוד.
- התנגשויות סנכרון ללא מנגנון פתרון — נתונים יכולים להתפצל.
- אין גיבוי לברקודים פגומים — שימוש רק במצלמה ללא אפשרות הזנה ידנית.
לצוות שלנו יש ניסיון של 5+ שנים בפיתוח מובייל והוא סיפק מעל 30 פרויקטים ללוגיסטיקת מחסנים. אנו מבטיחים ביצועים יציבים של האפליקציה בתנאי קישוריות חלשה וסביבות קשות.
צרו קשר לייעוץ — נעריך את הפרויקט שלכם ונציע את הפתרון האופטימלי.







