ই-কমার্সSocial media থেকে sales: campaign, schedule ও AI prompts
Social Hub দিয়ে content schedule, Meta campaign review ও AI prompt ব্যবহার করুন। Ecommerce ও ERP record মিলিয়ে marketing-এর বাস্তব ফল বুঝুন।
Online, POS ও delivery-র হিসাব মিলিয়ে রাখুন—stock reservation, return inspection ও COD reconciliation-এর বাস্তব উদাহরণসহ সহজ guide।
লেখক
Anichur Rahaman

শেষ নীল jacket-টি দুজন চান। একজন দোকানের counter-এ; অন্যজন online checkout করছেন। দুটো screen-এই available দেখাচ্ছে এক পিস। পণ্যটি কে পাবেন? এটি বিষয়টি বোঝানোর উদাহরণ, কোনো গ্রাহকের case study নয়। Omnichannel-এর আসল সমস্যাটি এখানেই: এক জায়গায় প্রতিশ্রুতি দেওয়া হয়ে গেল, অন্য জায়গা এখনো তা জানে না।
বেশি channel তখনই কাজে আসে, যখন দেওয়া প্রতিশ্রুতি রাখা যায়। সব জায়গায় বিক্রি করতেই হবে—এমন নয়। তবে website, দোকান ও chat order একসঙ্গে চালালে stock-এর নির্দিষ্ট কর্তৃপক্ষ, location rules এবং exception সামলানোর দৃশ্যমান ব্যবস্থা প্রয়োজন।
এই লেখায় jacket-টির available থাকা থেকে reservation, dispatch, return ও টাকা মেলানো পর্যন্ত পথ দেখব। একটাই database থাকলেই সব ভুল বন্ধ হবে—এমন ধারণা না দিয়ে, বিশ্বাসযোগ্য inventory তৈরির সিদ্ধান্তগুলো বুঝব।
Stock-এর একাধিক master থাকলে overselling হতে পারে। তবে দেরিতে receipt লেখা, ভুল গণনা, মেয়াদ শেষেও reservation আটকে থাকা, offline POS এবং ভুল SKU mapping-ও কারণ। Ownership, message delivery, reconciliation ও failure handling ঠিক থাকলে আলাদা system-ও ভালো চলতে পারে। Sync থাকাটাই ভুল নয়।
লক্ষণগুলো খুব চেনা:
Sales channel আর পণ্য রাখার location আলাদা করুন। Website একটি channel; outlet একটি location। Fulfilment rules মেনে একই order কয়েকটি location থেকেও যেতে পারে। Inventory-র একটি দায়িত্বশীল process সব channel-এ availability-র read-only view দিতে পারে। সেই view পুরোনো হতে পারে; order নেওয়ার চূড়ান্ত সিদ্ধান্তে guarded reservation লাগবে।

পণ্য আসা, পাঠানো, transfer, পরীক্ষা করে return গ্রহণ ও অনুমোদিত adjustment—প্রতিটি physical movement-এর record রাখুন। Reservation আলাদাভাবে commitment হিসেবে রাখুন। Reserve হলে বিক্রির প্রতিশ্রুতি দেওয়ার ক্ষমতা কমে, কিন্তু বাক্সটি গুদাম থেকে বের হয় না। দ্রুত দেখানোর জন্য balance summary রাখা যায়; তা যেন মূল record-এর সঙ্গে ধারাবাহিকভাবে update ও reconcile হয়।
প্রতিটি SKU, location ও unit-এর হিসাব সংজ্ঞায়িত করুন। Damaged stock বা safety stock থাকলে তিনটি label যথেষ্ট নয়:
| Quantity | মানে |
|---|---|
| On hand | এই location-এ বাস্তবে আছে; সংজ্ঞা অনুযায়ী blocked পণ্যও এর মধ্যে থাকতে পারে। |
| Reserved | গ্রহণ করা order-এর জন্য ধরা আছে, এখনো dispatch হয়নি। |
| Unavailable | Damaged, quarantine বা অন্য কারণে blocked; reservation বাদ দিয়ে। |
| Safety buffer | Policy অনুযায়ী আলাদা করে আটকে রাখা quantity। |
| Available to promise | ভাগগুলো আলাদা হলে: on hand − reserved − unavailable − safety buffer। |
উদাহরণ: on hand ১২, আগে reserved ৩, damaged বা quarantine-এ ২, safety buffer ১। এই ভাগগুলো একে অন্যের মধ্যে গণনা না হলে available to promise = ১২ − ৩ − ২ − ১ = ৬। Purchase order-এ আসার কথা আছে মানেই আজ পাঠানো যাবে না। Future receipt ধরে backorder নিলে সেটি আলাদা প্রতিশ্রুতি হিসেবে সঠিক সম্ভাব্য তারিখসহ দেখান।
এবার শেষ jacket-টিতে ফিরি। Availability পরীক্ষা ও reservation commit এমন একটি নিয়ন্ত্রিত operation হতে হবে, যার মাঝখানে অন্য বিক্রি একই পিস নিতে পারবে না। শুধু ledger থাকলে এটি নিশ্চিত হয় না। Cancel বা expiry-তে reservation একবারই ছাড়ুন; dispatch-এ reservation ব্যবহার করার সময় physical stock দুবার কমাবেন না। POS offline থাকলে আলাদা stock allowance দিন, অথবা reconnect না হওয়া পর্যন্ত শেষ পিসের promise সীমিত করুন।
এই ছোট ভিডিওতে একটাই inventory-তে warehouse, outlet, stock-র movement আর low-stock alert দেখানো হয়েছে।
এক platform-এ POS থাকলে কাজ সহজ হতে পারে, তবে business rules নিজে থেকে ঠিক হয় না। ধরে নেওয়ার বদলে এগুলো test করুন:
Delivery status parcel সম্পর্কে তথ্য দেয়; টাকা এসেছে বা revenue recognize করতে হবে—তার সর্বজনীন প্রমাণ নয়। Fulfilment, payment, return ও settlement আলাদা state রাখুন। যেসব ধাপ integration সমর্থন করে সেগুলো automate করুন; অমীমাংসিত exception-এর জন্য নির্দিষ্ট operator রাখুন।
COD বোঝার উদাহরণ: courier ১০০ currency unit সংগ্রহ করল, documented fee ৮ কেটে bank-এ দিল ৯২। Gross collection, fee ও bank receipt একসঙ্গে মেলান। ৯০ দিলে বাকি ২ তদন্তের জন্য দৃশ্যমান রাখুন; চুপচাপ write-off নয়। কোন account ও tax treatment হবে finance ঠিক করবে। Settlement-এর পরে return এলে linked adjustment লাগবে; মূল payment evidence মুছবেন না।
নিচের delivery tour-এ courier, zone, driver আর প্রতিটা parcel-র live status দেখানো হয়েছে।
| কী মাপবেন | সংজ্ঞা |
|---|---|
| Count-line accuracy | সঠিক SKU-location line ÷ পরীক্ষা করা line × ১০০; value difference আলাদা দেখান। |
| Stock-related cancellation | একই নির্ধারিত cohort-এ stock না থাকায় cancel হওয়া accepted order ÷ accepted order। |
| Delivery outcome | Dispatch cohort অনুযায়ী delivered, partial, returned ও এখনো open parcel। |
| Unmatched remittance | অব্যাখ্যাত অমিলের টাকার পরিমাণ ও বয়স; শুধু import করা file-এর সংখ্যা নয়। |
| Settlement lead time | Settled item-এর delivery থেকে settlement-এর সময়, সঙ্গে unsettled item-এর বয়স। |
Operations ও finance মিলে baseline ও target ঠিক করুন। তুলনার আগে cohort, সময়সীমা ও denominator নির্দিষ্ট করুন। সবার জন্য একটি “ভালো” stock percentage বা সাত দিনের COD target নেই। এসব KPI-তে inventory, delivery ও payment data লাগে; শুধু stock ledger দিয়ে সব হিসাব হয় না।
StoreConsole demo-তে নিজের order দিয়ে Inventory, POS ও Delivery মিলিয়ে মহড়া দিন। আপনার configuration-এ কোন module, courier capability ও permission আছে তা যাচাই করুন। শুধু সফল sale নয়—শেষ পিস নিয়ে conflict, damaged return ও না-মেলা remittance দেখতে চান।
পর্যালোচনা: ৪ নভেম্বর ২০২৬। Shopify-এর inventory-state documentation দেখায়, on-hand stock-এর সবটাই বিক্রির জন্য available নয়। PostgreSQL-এর locking documentation database mechanism ব্যাখ্যা করে; সঠিক business transaction-এর বিকল্প নয়। এখানকার হিসাব ও workflow বোঝানোর উদাহরণ, product feature guarantee নয়।
আনিছুর রহমান একজন সফটওয়্যার আর্কিটেক্ট এবং StoreConsole-এর নির্মাতা। বাড়তে থাকা ব্যবসার জন্য তিনি কমার্স ও ERP সিস্টেম ডিজাইন করেন — বিশেষ মনোযোগ event-driven আর্কিটেকচার, ডেটার নির্ভুলতা আর নিজের সার্ভারে চালানো সিস্টেমের ওপর।
লেখকের পরিচয়
Anichur Rahaman
পড়া চালিয়ে যান