Skip to main content
POS১৮ জুলাই, ২০২৬

এক দোকান, দুই ইনভেন্টরি: ইন-স্টোর এবং অনলাইনের বিভাজন দূর করা

সরাসরি এবং অনলাইনে বিক্রি করা বেশিরভাগ দোকানই একটি সিঙ্ক অ্যাপ দ্বারা সংযুক্ত দুটি ইনভেন্টরি চালায়, আর এই দূরত্বের কারণেই অতিরিক্ত বিক্রি (oversell), ভুল হিসাব এবং রবিবার রাতের স্টক মেলানোর ঝামেলা তৈরি হয়। কীভাবে এই বিভাজনটি আসলে শেষ হয় তা এখানে দেওয়া হলো।

Mathias NielsenMathias NielsenCEO, Final POS
একটি দোকানকে দুই ভাগে দেখানো হয়েছে: একটি ফিজিক্যাল কাউন্টার এবং এর অনলাইন স্টোরফ্রন্ট একই প্রোডাক্টের শেলফ শেয়ার করছে

যে দোকান সরাসরি এবং অনলাইনে বিক্রি করে সেটি সাধারণত একটি ইনভেন্টরি চালায় না। এটি আসলে দুটি ইনভেন্টরি চালায় যা একে অপরের সাথে তথ্য আদান-প্রদান করে: শেলফের হিসাব থাকে POS-এ, অনলাইনের হিসাব থাকে ই-কমার্স প্ল্যাটফর্মে, আর একটি সিঙ্ক কানেক্টর তাদের মধ্যে আপডেটগুলো আদান-প্রদান করে। প্রতিটি অতিরিক্ত বিক্রি (oversell), প্রতিটি "দুঃখিত, আমাদের কাছে আসলে এটি নেই" ইমেইল এবং প্রতিটি রবিবার রাতের স্টক মেলানোর ঝামেলা এই দূরত্ব থেকেই তৈরি হয়। এর সমাধান কোনো ভালো কানেক্টর নয়। এর সমাধান হলো একটি মাত্র ইনভেন্টরি রেকর্ড যা প্রতিটি চ্যানেল সরাসরি পড়ে এবং লেখে।

ইন-স্টোর এবং অনলাইন ইনভেন্টরি সহ একটি দোকান চালানোর সময় কাউন্টারে ট্যাবলেট চেক করছেন একজন রিটেইলার

ইন-স্টোর এবং অনলাইনের হিসাব কেন আলাদা হয়ে যায়?

হিসাব আলাদা হয়ে যায় কারণ দুটি সিস্টেম একই শেলফের নিজস্ব আলাদা লেজার (হিসাবের খাতা) রাখে। কেউ যখন ক্যাশ কাউন্টারে কেনাকাটা করে, তখন POS তার কপি থেকে স্টক কমায়। আবার কেউ যখন অনলাইনে কেনাকাটা করে, তখন ই-কমার্স প্ল্যাটফর্ম তার কপি থেকে স্টক কমায়। এরপর একটি কানেক্টর প্রতিটি পরিবর্তন অন্য পাশে নিয়ে যায়, কখনো কয়েক সেকেন্ডে, আবার কখনো প্রতি পনের মিনিটে চলা একটি ব্যাচ জবের মাধ্যমে।

বিক্রি এবং কপি হওয়ার মধ্যবর্তী সময়ে, উভয় সিস্টেমই বিশ্বাস করে যে আইটেমটি এখনও স্টকে আছে। এই সময়টি ছোট, তবে এটিই একমাত্র ফাঁক নয়। রিফান্ড এবং এক্সচেঞ্জ প্রায়শই একপাশে আপডেট হয় এবং অন্যপাশে হয় না। একটি পরিবর্তিত প্রোডাক্টের নাম বা এডিটেড ভ্যারিয়েন্ট নীরবেই SKU ম্যাপিং ভেঙে দিতে পারে (SKU হলো একটি বিক্রয়যোগ্য আইটেমের আইডি; আরও শব্দ জানতে আমাদের POS terminology guide দেখুন), যার পরে দুটি সিস্টেম একই প্রোডাক্ট সম্পর্কে কথা বলছে কিনা তাও নিশ্চিত থাকে না। কানেক্টর বন্ধ হয়ে যাওয়ার সমস্যাগুলো সাধারণত নীরবেই ঘটে: কোনো ত্রুটি দেখায় না, কেবল হিসাবগুলো আর মেলে না।

এই অমিল ক্রমাগত বাড়তেই থাকে। প্রতিটি ছোটখাটো অমিল ততক্ষণ পর্যন্ত থেকে যায় যতক্ষণ না কেউ শারীরিকভাবে শেলফের স্টক আবার গণনা করে, আর ততক্ষণে কেউ জানে না কোন সিস্টেমটি সঠিক ছিল।

এই বিভাজনের জন্য আসলে কত মূল্য দিতে হয়?

বিশ্বব্যাপী, স্টকের অভাব এবং অতিরিক্ত স্টকের কারণে রিটেইল খাতে বছরে আনুমানিক $১.৭৩ ট্রিলিয়ন ক্ষতি হয়, যা মোট বিক্রির প্রায় ৬.৫%¹। একটি একক দোকানের জন্য, এই বিভাজনটি চারটি ছোট কিন্তু নিয়মিত খরচের কারণ হয়ে দাঁড়ায়।

  • বাফার স্টক (Buffered stock): আপনার কাছে ৫টি থাকা সত্ত্বেও অনলাইনে ৩টি দেখানো, যাতে সিঙ্ক দেরির কারণে অতিরিক্ত বিক্রি না হয়ে যায়। এটি এমন ইনভেন্টরি যার জন্য আপনি পে করেছেন কিন্তু কাউকে কিনতে দিচ্ছেন না।

  • হিসাব মেলানোর সময় (দুটি হিসাব মিলছে কিনা তা পরীক্ষা করা): শেলফের স্টক পুনরায় গণনা করতে এবং ভুল সিস্টেমটি সংশোধন করতে কর্মীদের ঘণ্টার পর ঘণ্টা সময় নষ্ট হওয়া।

  • অতিরিক্ত বিক্রির ঝামেলা মেটানো: রিফান্ড, দুঃখ প্রকাশ করে ইমেইল পাঠানো এবং আইটেমটি স্টকে না থাকার কারণে ওয়ান-স্টার রিভিউ পাওয়া।

  • সিঙ্ক স্টকের নিজস্ব খরচ: কানেক্টর বা ই-কমার্স সিঙ্ক টিয়ার সাধারণত রিটেইলারদের বহন করা লুকানো SaaS বিলের একটি অংশ।

এগুলোর কোনোটিই লাভ-ক্ষতির হিসাবে "ইনভেন্টরি বিভাজন" হিসেবে দেখায় না, যার কারণে এই বিভাজনটি টিকে থাকে।

ইন-স্টোর এবং অনলাইন ইনভেন্টরির হিসাব মেলাতে স্টক রুমের শেলফ পুনরায় গণনা করছেন দোকানের একজন কর্মী

একটি সিঙ্ক অ্যাপ কি এটি সমাধান করতে পারে না?

কিছু দোকানের জন্য একটি কানেক্টরই যথেষ্ট, এবং এটি স্পষ্টভাবে বলাই ভালো। আপনার পণ্য বিক্রির গতি যদি ধীর হয়, আপনি খুব কমই কোনো কিছুর শেষ ইউনিটটি ধরে রাখেন এবং আপনি একটি মাত্র লোকেশন পরিচালনা করেন, তবে একটি ভালো সিঙ্ক বেশিরভাগ সময় কাজ চালিয়ে দেবে। আপনার ক্ষেত্রে এমন হলে এই বিকল্প ব্যবস্থাটিই বেছে নিন।

কিন্তু আপনি ঠিক যে পর্যায়ে পৌঁছানোর আশা করছেন, সেখানে এটি আর কাজ করে না। উচ্চ ট্রাফিক সিঙ্কের সময়সীমার মধ্যে দুটি চ্যানেলে একই আইটেম স্পর্শ করার সম্ভাবনা বাড়িয়ে দেয়। সীমিত বা অনন্য স্টক (ভিন্টেজ, কনসাইনমেন্ট, স্মল-ব্যাচ) প্রতিটি ইউনিটকেই শেষ ইউনিট করে তোলে। একাধিক আউটলেট ম্যাপিংগুলোকে বহুগুণ বাড়িয়ে দেয় যা নীরবেই ভেঙে যেতে পারে। একটি সিঙ্ক অ্যাপ কম বিক্রির ক্ষেত্রে লক্ষণটি সামাল দিতে পারে; কিন্তু নিচের দুটি লেজারই আসল রোগ।

একটি মাত্র ইনভেন্টরি বলতে আসলে কী বোঝায়?

এর মানে হলো দুটি লেজার এবং একটি কুরিয়ারের পরিবর্তে রেকর্ডের একটি একক উৎস (একটি ডেটাবেস যা সবাই বিশ্বাস করে)। কাউন্টার, অনলাইন স্টোরফ্রন্ট এবং যেকোনো কিওস্ক একই হিসাব পড়ে এবং বিক্রি সম্পন্ন হওয়ার মুহূর্তে একই রেকর্ডে তাদের বিক্রি লেখে। যখন দুটি চ্যানেল একই মুহূর্তে শেষ ইউনিটটি নিতে চায়, তখন লেজার নিজেই নির্ধারণ করে কে এটি পেয়েছে; এখানে এমন কোনো "পরবর্তী সময়" নেই যেখানে একটি সিঙ্ক জব এই দ্বন্দ্বটি আবিষ্কার করবে। ক্যাটালগটিও একইভাবে শেয়ার করা হয়: একটি প্রোডাক্ট, একটি মূল্য, একটি ট্যাক্স নিয়ম, প্রতিটি চ্যানেলে।

এই আর্কিটেকচারটি পরে যুক্ত করা কঠিন। একটি ইন্টিগ্রেশন দ্বারা যুক্ত দুটি পরিপক্ক সিস্টেমে সবসময় দুটি লেজার থাকবে, কারণ প্রতিটি সিস্টেমই ধরে নিয়েছিল যে হিসাবটি তার নিজের। এটি প্ল্যাটফর্মের শুরু থেকেই যেভাবে কাজ করে সেভাবে হতে হবে, যা Final যেভাবে পরিচালনা করে: অনলাইন স্টোর এবং রেজিস্টার হলো একটি রেকর্ডের দুটি রূপ, তাই ব্যবধানটি কখনোই তৈরি হয় না। রিয়েল-টাইম ভিজিবিলিটি হলো POS inventory management-এর মূল ভিত্তি। রিঅর্ডার পয়েন্ট এবং স্টক অ্যালার্টগুলো কেবল তাদের পড়া হিসাবের মতোই ভালো হতে পারে, এবং রিটেইলাররা দক্ষতার সুবিধা পান কেবল তখনই যখন হিসাবটি নির্ভরযোগ্য হয়।

তাহলে, আপনি কি ইন-স্টোর/অনলাইন বিভাজন দূর করতে পারেন?

হ্যাঁ, তবে আরও কঠোরভাবে সিঙ্ক করার মাধ্যমে নয়। এই বিভাজনটি দুটি সিস্টেম চালানোর একটি বৈশিষ্ট্য, এবং এটি তখনই শেষ হয় যখন উভয় চ্যানেল একটি লেজারের ওপর চলে, লেজারগুলোর মধ্যে কপি করার গতি বাড়লে নয়। আপনি যদি প্ল্যাটফর্মগুলো মূল্যায়ন করেন, তবে একটি দরকারী পরীক্ষা: জিজ্ঞাসা করুন অনলাইন অর্ডার এবং কাউন্টারের বিক্রি কোথায় রেকর্ড করা হয় এবং সেটি একই জায়গা কিনা। (Choosing a retail POS-এর ক্ষেত্রে ইনভেন্টরির চেয়েও বেশি কিছু জড়িত থাকে, তবে এই প্রশ্নটি দ্রুত ফিল্টার করতে সাহায্য করে।)

বাস্তব নিয়ম: যদি আপনার রেজিস্টার এবং আপনার অনলাইন স্টোর একই শেলফ নিয়ে দ্বিমত পোষণ করতে পারে, তবে আপনার দুটি ইনভেন্টরি রয়েছে, সিঙ্ক অ্যাপ যা-ই প্রতিশ্রুতি দিক না কেন।

সাধারণ জিজ্ঞাসা

আমার ইন-স্টোর এবং অনলাইন ইনভেন্টরির হিসাব কেন মেলে না?

কারণ প্রতিটি সিস্টেম নিজস্ব লেজার বজায় রাখে এবং একটি সিঙ্ক টুল নির্দিষ্ট সময়ের ব্যবধানে তাদের মধ্যে পরিবর্তনগুলো কপি করে। সেই বিলম্বের সময় হওয়া বিক্রয়, রিফান্ড, এক্সচেঞ্জ এবং ক্যাটালগ সম্পাদনাগুলো (অথবা যা সঠিকভাবে ম্যাপ হতে ব্যর্থ হয়) ব্যবধান বা অসঙ্গতি হিসেবে জমা হতে থাকে।

একটি ভালো সিঙ্ক অ্যাপ কি অতিরিক্ত বিক্রি বন্ধ করতে পারবে?

এটি এগুলোকে আরও বিরল করে তুলবে, তবে অসম্ভব নয়। যেকোনো সিঙ্ক (sync) প্রক্রিয়ায় একটি বিক্রি সম্পন্ন হওয়া এবং সেই তথ্য অন্য সিস্টেমে পৌঁছানোর মাঝে কিছুটা সময়ের ব্যবধান থাকে, আর আপনার সবচেয়ে ব্যস্ত মুহূর্তগুলোতেই ঠিক এই সময়ের ব্যবধানের মধ্যে দুটি ভিন্ন চ্যানেল থেকে শেষ পণ্যটি বিক্রি হয়ে যাওয়ার সম্ভাবনা সবচেয়ে বেশি থাকে।

ইনভেন্টরির জন্য 'সিঙ্গেল সোর্স অফ রেকর্ড' (single source of record) কী?

একটি একক ডাটাবেস যা থেকে প্রতিটি সেলস চ্যানেল বিক্রির মুহূর্তে তথ্য রিড (read) এবং রাইট (write) করে (একটি সিস্টেম অফ রেকর্ড)। কাউন্টার, অনলাইন স্টোর এবং যেকোনো kiosk সবই একই হিসাব থেকে সংখ্যা কমায়, তাই তথ্যের অমিল হওয়ার জন্য কোনো দ্বিতীয় কপি থাকে না।

অনলাইনে এবং সরাসরি বিক্রি করার জন্য কি আমার আলাদা স্টক কাউন্টের প্রয়োজন আছে?

না। আপনার প্ল্যাটফর্ম যদি একটি লেজারের (ledger) মাধ্যমে উভয় চ্যানেল পরিচালনা করে, তবে একটি হিসাবই উভয়ের জন্য যথেষ্ট। আলাদা হিসাব এবং সংরক্ষিত 'অনলাইন স্টক' বাফার হলো এমন সিস্টেমগুলোর জন্য সাময়িক সমাধান যা লেজার শেয়ার করতে পারে না।

আরও পড়ুন

Final ব্লগ থেকে

সব পোস্ট