বিশৃঙ্খলা ছাড়া অমনিচ্যানেল: অনলাইন স্টোর, পিওএস আর কুরিয়ার ডেলিভারির জন্য একটাই ইনভেন্টরি
ওভারসেলিং, লুকোনো স্টক আর না-মেলানো ক্যাশ অন ডেলিভারি — সবকিছুর মূলে একটি ডিজাইন ভুল। জানুন কীভাবে প্রতিটি সেলস চ্যানেল একটি স্টক লেজারে চালাবেন এবং চেকআউট থেকে ব্যাংকে টাকা পৌঁছানো পর্যন্ত ডেলিভারি লুপ অটোমেট করবেন।
Author
Anichur Rahaman
2 মাস আগে8 min read2 views
একাধিক জায়গায় বিক্রি করা এখন আর ঐচ্ছিক নয়। আজকের একজন সাধারণ বাড়তে থাকা খুচরা বিক্রেতা অর্ডার নেন ওয়েবসাইটে, এক বা একাধিক দোকানের কাউন্টারে, ফোনে, চ্যাট অ্যাপ ও সোশ্যাল মিডিয়ায়, আর কখনো মোবাইল অ্যাপে। গ্রাহকেরা আশা করেন অনলাইনে কিনে দোকান থেকে নেবেন, অনলাইনে কেনা জিনিস দোকানে ফেরত দেবেন, আর সব জায়গায় সঠিক স্টক দেখবেন।
কাউন্টারের পেছনের বাস্তবতা প্রায়ই একদম আলাদা। প্রতিটি চ্যানেল যোগ হয়েছে নিজস্ব টুল দিয়ে, আর প্রতিটি টুল রাখে নিজের স্টক সংখ্যা। ওয়েবসাইট এমন একটি জ্যাকেট বিক্রি করে যা আউটলেট এক ঘণ্টা আগে বিক্রি করে ফেলেছে। পার্সেল কুরিয়ারের কাছে, কিন্তু সিস্টেম এখনো বলছে "প্রসেসিং"। ক্যাশ অন ডেলিভারি ফেরে একটি সেটেলমেন্ট ফাইল হয়ে, যা মেলাতে পুরো বিকেল যায়।
এই লেখায় ব্যাখ্যা করা হয়েছে কীভাবে প্রতিটি চ্যানেল একটি ইনভেন্টরিতে চালাবেন: এর পেছনের আর্কিটেকচার, যে ডেলিভারি লুপ টাকার ফাঁক বন্ধ করে, একটি সেটআপ চেকলিস্ট আর কোন মেট্রিক বলে দেবে যে এটা কাজ করছে।
কেন মাল্টিচ্যানেল বিশৃঙ্খলায় পরিণত হয়
মূল কারণ প্রায় সবসময় একই: স্টক রাখা হয় টুল অনুযায়ী, লোকেশন অনুযায়ী নয়। যখন ওয়েবসাইট, POS আর গুদামের শিট প্রত্যেকে একটি সংখ্যার মালিক, তখন তারা কেবল সিঙ্ক আর এক্সপোর্টের মাধ্যমে একমত হতে পারে। সিঙ্ক ভালো হলে কয়েক মিনিট পরপর চলে, খারাপ হলে চুপচাপ ব্যর্থ হয়, আর কখনো ব্যতিক্রমী ঘটনা সামলায় না: রিটার্ন, ট্রান্সফার, আংশিক ডেলিভারি।
লক্ষণগুলো পরিচিত:
ওভারসেলিং ব্যস্ত সময়ে, তারপর দুঃখপ্রকাশসহ অর্ডার বাতিল।
লুকোনো স্টক: আউটলেটে পণ্য আছে, কিন্তু অনলাইনে "স্টক শেষ" দেখাচ্ছে।
কুরিয়ারের হাতের কাজ: ঠিকানা কুরিয়ার পোর্টালে কপি করা, তারপর ট্র্যাকিং নম্বর আবার কপি করে আনা।
না-মেলানো সিওডি: কুরিয়ার যে টাকা তুলেছে তা কেউ অর্ডারের সঙ্গে মেলায়নি।
যে রিটার্ন কখনো ফেরে না বিক্রয়যোগ্য স্টকে, বা ফেরে ভুল লোকেশনে।
আর্কিটেকচার: এক লেজার, অনেক দরজা
সমাধান হলো দুটি ধারণা আলাদা করা, যা বেশিরভাগ টুল গুলিয়ে ফেলে: চ্যানেল (যেখানে বিক্রি করেন) আর লোকেশন (যেখানে স্টক বাস্তবে আছে)। চ্যানেল স্টকের মালিক নয়। তারা লোকেশন থেকে বিক্রি করে। প্রতিটি লোকেশনের স্টক থাকে একটি লেজারে।
চ্যানেল লোকেশন থেকে বিক্রি করে। স্টকের সংখ্যা থাকে শুধু লেজারে।
কাউন্টার নয়, চলাচলের লেজার
একটি নির্ভরযোগ্য ইনভেন্টরি "পরিমাণ = ৪৮" লিখে তার ওপর নতুন সংখ্যা বসায় না। এটি প্রতিটি চলাচল একটি সারি হিসেবে রেকর্ড করে: গ্রহণ, রিজার্ভ, বিক্রি, বাইরে ট্রান্সফার, ভেতরে ট্রান্সফার, রিটার্ন, সমন্বয়, বাতিল। বর্তমান পরিমাণ হলো সেই সারিগুলোর যোগফল। এর তিনটি বড় সুবিধা:
নিজেই নিজেকে ব্যাখ্যা করে। যেকোনো সংখ্যা তৈরি হওয়া চলাচল পর্যন্ত খুঁজে দেখা যায়।
একসঙ্গে বিক্রি সামলায়। একই মুহূর্তে দুটি চ্যানেল শেষ ইউনিটটি বিক্রি করলে ডেটাবেস তা মীমাংসা করে, ভাগ্য নয়।
অ্যাকাউন্টিংকে তথ্য দেয়। প্রতিটি চলাচলে খরচ থাকে, তাই বিক্রীত পণ্যের খরচ ও স্টকের মূল্যায়ন একই ডেটা থেকে আসে।
হাতে থাকা, রিজার্ভ, উপলব্ধ
প্রতি লোকেশনে প্রতি SKU-র তিনটি সংখ্যা বেশিরভাগ কাজ করে:
সংখ্যা
অর্থ
কে বদলায়
হাতে থাকা
লোকেশনে বাস্তবে উপস্থিত।
গ্রহণ, বিক্রি, ট্রান্সফার, রিটার্ন, গণনা
রিজার্ভ
এমন অর্ডারকে প্রতিশ্রুত যা এখনো পাঠানো হয়নি।
চেকআউট, বাতিল, ডিসপ্যাচ
উপলব্ধ
হাতে থাকা বিয়োগ রিজার্ভ। যেকোনো চ্যানেল যা বিক্রি করতে পারে।
হিসাব করা হয়, কখনো টাইপ করা হয় না
ওয়েবসাইট আর POS দুটোই পড়ে উপলব্ধ। অনলাইন অর্ডার এলে যে লোকেশন পাঠাবে সেখানে পরিমাণ রিজার্ভ হয়, তাই কাউন্টার তা বিক্রি করতে পারে না। পার্সেল বেরোলে রিজার্ভেশন বিক্রিতে পরিণত হয়। অর্ডার বাতিল হলে রিজার্ভেশন ছেড়ে দেওয়া হয়।
প্রতি SKU-তে লো-স্টক অ্যালার্ট
একটি স্টোর-জোড়া সীমা ("৫-এর নিচে জানাও") এমন ক্যাটালগে মানায় না যেখানে কিছু পণ্য দিনে ৫০টি বিক্রি হয় আর কিছু মাসে ২টি। যেখানে দরকার সেখানে প্রতি SKU-র সীমা দিন, বাকিগুলো স্টোরের ডিফল্ট নেবে, আর নিশ্চিত করুন অ্যালার্ট প্রতিটি স্টক-কমানো চলাচলে চলে — অনলাইন অর্ডার, POS বিক্রি, সমন্বয় — শুধু একটি চ্যানেলে নয়।
নিজের চোখে দেখুন
এই ছোট ট্যুরে একটি ইনভেন্টরিতে গুদাম, আউটলেট, স্টকের চলাচল আর লো-স্টক অ্যালার্ট দেখানো হয়েছে।
ইনভেন্টরি ট্যুর (০:৫৪): গুদাম, আউটলেট, স্টকের চলাচল ও অ্যালার্ট, লাইভ ডেমো থেকে রেকর্ড করা।
POS কাউন্টার: একই স্টক, একই গ্রাহক
অনলাইন স্টোরের একই প্ল্যাটফর্মে চলা পয়েন্ট অব সেল দৈনন্দিন কাজকে ছোট কিন্তু গুরুত্বপূর্ণ উপায়ে বদলে দেয়:
প্রতিটি রেজিস্টার একটি আউটলেটের, তাই প্রতিটি কাউন্টার বিক্রি সঙ্গে সঙ্গে সেই আউটলেটের স্টক কমায়।
গ্রাহক শেয়ার করা। যে ক্রেতা অনলাইনে ও দোকানে কেনেন, তাঁর একটি ইতিহাস, একটি লয়্যালটি ব্যালান্স আর এক সেট কুপন।
দাম ও ট্যাক্স আসে একটি ইঞ্জিন থেকে। একবার সেট করা প্রমোশন অনলাইনে ও কাউন্টারে প্রযোজ্য।
সেশন বন্ধ হয় ক্যাশ গণনা দিয়ে। প্রত্যাশিত ক্যাশ, গোনা ক্যাশ আর পার্থক্য লেজারে পোস্ট হয়।
কিছু পণ্য শুধু কাউন্টারের হতে পারে। খুচরা যন্ত্রাংশ বা বাল্ক পণ্য অনলাইন ক্যাটালগে না দেখিয়েও দোকানে মজুত ও বিক্রি করা যায়।
ডেলিভারি লুপ: "অর্ডার হয়েছে" থেকে "টাকা ব্যাংকে"
অনেক খুচরা বিক্রেতার জন্য, বিশেষ করে যেখানে ক্যাশ অন ডেলিভারি প্রচলিত, সবচেয়ে বড় ফুটো স্টক নয় — পার্সেল বেরোনো আর টাকা আসার মাঝের ফাঁক। এই লুপ বন্ধ করা মানে প্রতিটি ধাপ অটোমেট করা।
ছয়টি ধাপ, তিনটি সম্ভাব্য ফলাফল, আর প্রতিটির শেষে একটি জার্নাল এন্ট্রি।
চেকআউটে কোট। ডেলিভারি ফি আসে নিয়ম থেকে: জোন, ওজন, পদ্ধতি আর যেকোনো ফ্রি-ডেলিভারি প্রমোশন। ঝুঁকিপূর্ণ ক্রেতা (যেমন অতীতে অনেক রিটার্ন) পাঠানোর আগেই চিহ্নিত করা যায়।
স্টক রিজার্ভ করুন যে লোকেশন পাঠাবে সেখানে।
কনফার্ম ও প্যাক। অর্ডার কনফার্ম করলেই ডেলিভারি রেকর্ড স্বয়ংক্রিয়ভাবে তৈরি হয় — আলাদা কোনো ধাপ নেই।
এপিআই দিয়ে কুরিয়ার বুক করুন। কুরিয়ারে পার্সেল তৈরি হয়, ট্র্যাকিং নম্বর অর্ডারে জমা হয়, আর লেবেল প্রিন্ট হয়।
স্ট্যাটাস কলব্যাক অনুসরণ করুন। কুরিয়ার যখন জানায় পথে, ডেলিভারড, আংশিক ডেলিভারড বা রিটার্নড — অর্ডারও সেই অনুযায়ী বদলায়, কাউকে পোর্টাল দেখতে হয় না।
সিওডি মেলান। কুরিয়ারের তোলা টাকা প্রতিটি অর্ডারের সঙ্গে মিলিয়ে লেজারে পোস্ট হয়: ডেবিট ব্যাংক, ক্রেডিট কুরিয়ার প্রাপ্য।
তিনটি ফলাফল সঠিকভাবে সামলান
ডেলিভারড: বিক্রি স্বীকৃত হয়, লয়্যালটি পয়েন্ট যোগ হয় আর রিভিউর আমন্ত্রণ নির্ধারিত হয়।
আংশিক ডেলিভারড: পার্সেল জানে কোন লাইন ছিল, তাই শুধু যা পৌঁছেছে তা-ই বিক্রি। বাকিটা স্টকে ফেরে বা আবার পাঠানো হয়।
রিটার্নড: স্টক তার আসল লোকেশনে ফেরে, আর পয়েন্ট ও আয় স্বয়ংক্রিয়ভাবে উল্টে যায়।
নিচের ডেলিভারি ট্যুরে কুরিয়ার, জোন, ড্রাইভার আর প্রতিটি পার্সেলের লাইভ স্ট্যাটাস দেখানো হয়েছে।
ডেলিভারি ট্যুর (০:৫৪): কুরিয়ার, জোন, ড্রাইভার আর প্রতিটি পার্সেলের লাইভ স্ট্যাটাস।
সেটআপ চেকলিস্ট: আট ধাপে এক ইনভেন্টরি
লোকেশনের তালিকা করুন — গুদাম, আউটলেট, একটি ভার্চুয়াল "পথে" লোকেশন — আর ঠিক করুন কোনগুলো অনলাইন অর্ডার পাঠাবে।
SKU পরিষ্কার করুন। প্রতিটি বিক্রয়যোগ্য ভ্যারিয়েন্টের একটি SKU, বারকোডসহ। চ্যানেলজুড়ে কোনো ডুপ্লিকেট নয়।
একই দিনে খরচসহ ওপেনিং স্টক গুনে লোড করুন প্রতিটি লোকেশনের জন্য।
প্রতিটি চ্যানেলকে একই ক্যাটালগে যুক্ত করুন: ওয়েবসাইট, POS রেজিস্টার, ম্যানুয়াল ও ফোন অর্ডার, আর মোবাইল অ্যাপের জন্য এপিআই।
সীমা ঠিক করুন: একটি যুক্তিসংগত স্টোর ডিফল্ট, আর দ্রুত বিক্রি হওয়া পণ্যের জন্য প্রতি SKU-র মান।
ডেলিভারি কনফিগার করুন: জোন, পদ্ধতি, রেট নিয়ম আর কুরিয়ার এপিআই ক্রেডেনশিয়াল। প্রতিটি কুরিয়ারে একটি করে পার্সেল টেস্ট করুন।
ট্রান্সফার চালু করুন ডিসপ্যাচ ও রিসিভ ধাপসহ, যাতে ভ্যানে থাকা স্টক কখনো দুবার গোনা না হয়।
একটি দৈনিক রুটিনে একমত হোন: প্রতিদিন সকালে লো-স্টক অ্যালার্ট, না-মেলানো সিওডি আর ফেরত আসা পার্সেল দেখুন।
যে মেট্রিক বলে দেয় এটা কাজ করছে
মেট্রিক
কীভাবে হিসাব করবেন
সুস্থ লক্ষ্য
স্টকের নির্ভুলতা
গণনায় মেলা SKU ÷ গোনা SKU
৯৮% বা বেশি
ওভারসেল হার
স্টক না থাকায় বাতিল অর্ডার ÷ সব অর্ডার
০.৫%-এর কম
ডেলিভারি সাফল্যের হার
ডেলিভারড ÷ পাঠানো
কুরিয়ার ও জোন অনুযায়ী ট্র্যাক করুন
রিটার্ন-টু-অরিজিন হার
ফেরত পার্সেল ÷ পাঠানো
মাসে মাসে কমছে
সিওডি বকেয়া দিন
ডেলিভারি থেকে টাকা পাওয়া পর্যন্ত গড় দিন
৭ দিনের কম
সেল-থ্রু
বিক্রীত ইউনিট ÷ গৃহীত ইউনিট, প্রতি সময়কাল
লোকেশন অনুযায়ী তুলনা করুন
লক্ষ্যমাত্রা পণ্যের ধরন ও বাজার অনুযায়ী বদলায়, তাই এগুলোকে শুরুর বিন্দু ধরুন। গুরুত্বপূর্ণ হলো প্রতিটি সংখ্যা স্প্রেডশিট ছাড়াই একই লেজার থেকে হিসাব করা যায়।
যে সাধারণ ভুলগুলো এড়াবেন
শেয়ারের বদলে সিঙ্ক। স্টক সিঙ্ক করা দুটি সিস্টেম একসময় অমিল হবেই। একটি লেজার তা হতে পারে না।
কর্মীদের সরাসরি পরিমাণ বদলাতে দেওয়া। প্রতিটি পরিবর্তন হবে কারণসহ একটি নির্দিষ্ট ধরনের চলাচল — সমন্বয়, ক্ষতি, খুঁজে পাওয়া।
পথে থাকা স্টক উপেক্ষা করা। ট্রানজিট ধাপ না থাকলে একটি ট্রান্সফার কিছুক্ষণ দুই জায়গায় থাকে, বা কোথাও থাকে না।
রিটার্নকে পরের ভাবনা মনে করা। আগেই ঠিক করুন ফেরত স্টক কোথায় যাবে আর কীভাবে পরীক্ষা হবে।
কুরিয়ারের প্রতিশ্রুতিতে ডেলিভারি মাপা। নিজের ডেলিভারড ও রিটার্নড ডেটা দিয়ে, জোন অনুযায়ী মাপুন।
StoreConsole যেভাবে এটি সামলায়
StoreConsole-এ স্টোরফ্রন্ট, POS, ম্যানুয়াল অর্ডার আর হেডলেস এপিআই সবাই একই ইনভেন্টরি মডিউল থেকে বিক্রি করে, যা প্রতি লোকেশনে ট্রান্সফার, রিজার্ভেশন আর প্রতি SKU-র অ্যালার্টসহ একটি সুরক্ষিত লেজার রাখে। ডেলিভারি মডিউল রেট ইঞ্জিন দিয়ে পার্সেলের দাম ঠিক করে, এপিআই দিয়ে কুরিয়ার বুক করে, স্ট্যাটাস কলব্যাক অনুসরণ করে, আংশিক ডেলিভারি রেকর্ড করে আর সিওডি অ্যাকাউন্টিংয়ে মেলায়। দেখতে পারেন লাইভ ডেমোতে, অথবা পড়ুন ইনভেন্টরি, POS ও ডেলিভারি মডিউলের পেজ।
মূল কথা
চ্যানেল লোকেশন থেকে বিক্রি করে; স্টক লোকেশনের, একটি লেজারে।
পরিমাণ নয়, চলাচল রেকর্ড করুন। উপলব্ধ = হাতে থাকা − রিজার্ভ।
ডেলিভারড, আংশিক ডেলিভারড আর রিটার্নডকে প্রথম শ্রেণির ফলাফল হিসেবে সামলান।
স্টকের নির্ভুলতা, ওভারসেল হার, ডেলিভারি সাফল্য, রিটার্ন আর সিওডি দিন একই ডেটা থেকে মাপুন।
আনিছুর রহমান একজন সফটওয়্যার আর্কিটেক্ট এবং StoreConsole-এর নির্মাতা। তিনি বাড়তে থাকা ব্যবসার জন্য কমার্স ও ইআরপি সিস্টেম ডিজাইন করেন, যার মূল জোর ইভেন্ট-ড্রিভেন আর্কিটেকচার, ডেটার নির্ভুলতা আর সেলফ-হোস্টেড পরিচালনায়।