ছোট প্রস্তুতকারকের ম্যানুফ্যাকচারিং ERP: BOM, ওয়ার্ক অর্ডার আর ট্রেসেবিলিটি
স্প্রেডশিট ছেড়ে মাল্টি-লেভেল BOM, ম্যাটেরিয়াল চেকসহ ওয়ার্ক অর্ডার, স্ক্র্যাপ ধরে খরচ হিসাব আর লট ট্রেসেবিলিটিতে যাওয়ার পথ। 100 জারের হাতে-কলমে উদাহরণ, রেসিপি থেকে ইউনিট খরচ $3.56 পর্যন্ত।
Author
Anichur Rahaman
1 সপ্তাহ আগে11 min read1 views
stock-এর শিট বলছে শেলফে 14 kg শিয়া বাটার আছে, পুরো batch-এর জন্য যথেষ্ট। সোমবার সকাল ৯টা ১০-এ একটি ছোট বডি-কেয়ার ওয়ার্কশপের মালিক শুক্রবারের জন্য 100 জার বাম order পেয়েছেন। স্টোররুমে গিয়ে তিনি পান মাত্র 10 kg। বাকি 4 kg গত বৃহস্পতিবারের batch-এ গেছে, যা কেউ খাতায় তোলেনি।
এরপর supplier-এর email আসে: একটি শিয়া লট কোয়ালিটি রিভিউয়ের আওতায়, লট নম্বর invoice-এই লেখা। কোন জারগুলোতে এই লট গেছে, আর কারা সেগুলো কিনেছে? উত্তর ছড়িয়ে আছে তিনটি স্প্রেডশিট আর একটা খাতায়।
এই লেখা সেই ছোট রেকর্ডগুলো নিয়ে, যা এমন সকাল থেকে মুক্তি দেয়: মাল্টি-লেভেল বিল অব ম্যাটেরিয়ালস, stock নড়ায় এমন ওয়ার্ক order, আর ইনপুট ও আউটপুট জোড়া দেওয়া লট নম্বর। এর জন্য এন্টারপ্রাইজ স্যুটের দরকার নেই। দরকার সঠিক রেকর্ড, যা কাজ হওয়ার মুহূর্তেই লেখা হয়।
স্প্রেডশিট প্রথমে কোথায় ভাঙে
একজন মানুষ একটি পণ্য বানালে স্প্রেডশিটে চলে। ভাঙন শুরু হয় যখন রেসিপিতে একাধিক স্তর আসে, একই দিনে দুজন কাজ করেন, আর কোনো ক্রেতা অতীত নিয়ে প্রশ্ন করেন।
ব্যর্থতাগুলো নির্দিষ্ট। stock-এর হিসাব আর রেসিপি থাকে আলাদা ফাইলে, তাই batch কাগজে উপকরণ খরচ করে কিন্তু গণনায় তা কমে না। স্ক্র্যাপ চোখে পড়ে না, ফলে ইউনিট খরচ সবসময় বাস্তবের চেয়ে কম দেখায়। কেনাকাটা চলে স্মৃতির ভরসায়, তাই ঘাটতি ধরা পড়ে batch শুরুর পর। আর supplier-এর লটের সঙ্গে তৈরি জারের কোনো যোগসূত্র থাকে না।
চারটি সমস্যার শিকড় এক: পরিকল্পনা, stock আর খরচ তিনটি আলাদা নথি। ম্যানুফ্যাকচারিং system এগুলো জোড়া দেয়। একটি রেকর্ড, অর্থাৎ ওয়ার্ক order, রেসিপি থেকে পড়ে, stock ledger-এ লেখে এবং খরচ বের করে।
বিল অব ম্যাটেরিয়ালস হলো system-এর মানা রেসিপি
বিল অব ম্যাটেরিয়ালস (BOM) হলো একটি পণ্যের এক ইউনিট বা এক batch বানাতে লাগে এমন প্রতিটি উপাদানের তালিকা, পরিমাণ ও এককসহ। বাস্তব পণ্য কমই সমতল হয়, তাই BOM-এ স্তর থাকে। এক জার বামের জন্য লাগে জার, ঢাকনা, লেবেল আর বাম নিজেই। বাম আবার একটি সাব-অ্যাসেম্বলি, তার নিজের রেসিপি আছে: শিয়া বাটার, নারকেল তেল আর মোম।
100 জারের এক batch, তিন স্তরের চাহিদা: বেস নিজেই একটি পণ্য, তার নিজের রেসিপি আর নিজের ক্ষয়।
স্তর গুরুত্বপূর্ণ, কারণ প্রতিটি স্তর আলাদাভাবে মজুত, কেনা বা বানানো যায়। বাম বেস বড় batch-এ বানিয়ে অন্য দিন জারে ভরা যায়। জার কেনা যায় দুই সরবরাহকারীর কাছ থেকে। system BOM-কে ওপর থেকে নিচে ভেঙে প্রতিটি কাঁচামালে পড়া পরিমাণ যোগ করে।
দুটি খুঁটিনাটি ঠিক করে দেয় সংখ্যায় ভরসা করা যাবে কি না। প্রতিটি লাইনে থাকে একক ও রূপান্তর: রেসিপিতে কিলোগ্রাম, supplier বেচে 25 kg-এর বস্তা, নিক্তিতে ওঠে গ্রাম। আর প্রতিটি লাইনে থাকে স্ক্র্যাপের শতাংশ, অর্থাৎ উপাদানের যে অংশ হারাবে বলে আপনি ধরে নেন।
হাতে-কলমে উদাহরণ: 100 জার বডি বাম
এটি একটি উদাহরণ, দামগুলো কাল্পনিক। প্রতি জারে 200 g বাম, তাই 100 জারে লাগে 20 kg বেস। বেস বানানোর সময় হাঁড়ি আর হাতায় লেগে প্রায় 5% নষ্ট হয়। তৈরি জারের উপাদানের নিজস্ব ছাড় আছে: জারে 2% (ফাটা বা তোবড়ানো), লেবেলে 5% (ভুল ছাপা)। এই উদাহরণে নিট পরিমাণের ওপর স্ক্র্যাপ যোগ করা হয়েছে, তাই 20 kg-এর 5% মানে বাড়তি 1 kg। কিছু system বদলে (1 বিয়োগ স্ক্র্যাপ) দিয়ে ভাগ করে, তাতে হয় 21.05 kg। একটি নিয়ম বেছে সবখানে সেটাই চালান।
উপাদান
প্রতি ইউনিট
স্ক্র্যাপ
batch-এ প্রয়োজন
ইউনিট দাম
খরচ
বাম বেস (নিজেরা বানানো)
প্রতি জারে 200 g
+5%
21 kg
নিচের সারিগুলো থেকে
$158.55
শিয়া বাটার
প্রতি kg বেসে 0.55 kg
বেসের মধ্যে
11.55 kg
$8.00/kg
$92.40
নারকেল তেল
প্রতি kg বেসে 0.35 kg
বেসের মধ্যে
7.35 kg
$5.00/kg
$36.75
মোম
প্রতি kg বেসে 0.10 kg
বেসের মধ্যে
2.10 kg
$14.00/kg
$29.40
জার ও ঢাকনা
প্রতি জারে 1টি
+2%
102 pcs
$0.60
$61.20
লেবেল
প্রতি জারে 1টি
+5%
105 pcs
$0.08
$8.40
shipping কার্টন
প্রতি 12 জারে 1টি
পূর্ণ সংখ্যায় বাড়ানো
9 pcs
$0.90
$8.10
মোট ম্যাটেরিয়াল
$236.25
অঙ্কটা সহজ, আর সেটাই আসল কথা। 21 kg বেসকে 0.55 দিয়ে গুণ করলে শিয়া 11.55 kg। 100 জারকে 12 দিয়ে ভাগ করলে 8.33 কার্টন, তাই লাগবে 9টি। software এটা এক সেকেন্ডে করে দেয়, প্রতিটি পণ্যের জন্য, রেসিপি বা দাম বদলালেই। স্প্রেডশিট করে শুধু তখনই, যখন কারও মনে থাকে।
ওয়ার্ক order: যে রেকর্ড stock নড়ায়
BOM বলে একটি পণ্য সাধারণভাবে কীভাবে বানাতে হয়। ওয়ার্ক order বলে "এখন এর 100টি বানাও"। release-এর মুহূর্তে সে BOM-এর একটি কপি নেয়, তাই পরে রেসিপি বদলালেও ফ্লোরে চলা batch বদলে যায় না।
ওয়ার্ক order যেখানে থমকে যেতে পারে: ম্যাটেরিয়াল চেকে, যতক্ষণ না ঘাটতি কিনে বুঝে নেওয়া হয়।
ডায়াগ্রামে WO-1042-কে অনুসরণ করুন। release-এর সময় system BOM ভেঙে ওপরের টেবিলটা বানায় এবং প্রতিটি লাইন মেলায় available stock-এর সঙ্গে, মানে হাতে থাকা stock থেকে অন্য order-এর জন্য রিজার্ভ করা অংশ বাদ দিয়ে। ধরুন ফ্রি আছে মাত্র 10 kg শিয়া। order-এ ঘাটতি 1.55 kg, তাই চেক আটকে যায় এবং সেই ঘাটতির জন্য একটি ক্রয় অনুরোধ তৈরি হয়। মাল নতুন লটে বুঝে নেওয়ার পর চেক আবার চলে এবং পাস করে।
ম্যাটেরিয়াল ইস্যু করা মানে স্টোর থেকে ওয়ার্ক ইন প্রগ্রেসে (WIP) সরানো। stock ledger-এ প্রতিটি উপাদান ও লটের জন্য একটি করে সারি পড়ে, সবই WO-1042-এর সঙ্গে বাঁধা। এরপর অপারেশনের ঘণ্টা order-এর নামে লেখা হয়: গলানো ও মেশানো 2 ঘণ্টা, ভরা ও লেবেল লাগানো 3 ঘণ্টা, প্যাকিং 1 ঘণ্টা।
শেষে গুনতে হয়। ধরুন 100 জার পাস করল, 2টি ফেটে গেল। system নতুন লট L-0927-A-তে হিসাব করা ইউনিট খরচে +100 জার তৈরি মজুতে তোলে, আর নষ্ট 2 জার কারণ-কোডসহ স্ক্র্যাপ হিসেবে লেখে। BOM-এর স্ক্র্যাপ ছাড়েই এটা ধরা ছিল, তাই ম্যাটেরিয়াল ভ্যারিয়েন্স শূন্য। যদি হাঁড়িতে 21 kg-এর জায়গায় 22 kg বেস যেত, বাড়তি এক কিলো গড়ের ভেতরে হারিয়ে না গিয়ে ভ্যারিয়েন্স হয়ে দেখা দিত।
কস্টিং: ম্যাটেরিয়াল, শ্রম আর ওভারহেড
উৎপাদন খরচের তিনটি অংশ। ম্যাটেরিয়াল আসে সরাসরি BOM আর আসলে ইস্যু হওয়া লট থেকে। শ্রম হলো order-এ লেখা ঘণ্টা গুণ রেট। ওভারহেড হলো যা কেউ আলাদা করে লেখে না: ভাড়া, বিদ্যুৎ, যন্ত্রপাতি, হিসাবরক্ষক। এটি বণ্টন করতে হয় একটি রেট দিয়ে, সাধারণত শ্রমঘণ্টা বা মেশিনঘণ্টা ধরে।
খরচের উপাদান
ভিত্তি
100 জারের batch
প্রতি জার
ম্যাটেরিয়াল
স্ক্র্যাপসহ BOM, লটের দামে
$236.25
$2.36
শ্রম
6 ঘণ্টা, ঘণ্টায় $14
$84.00
$0.84
ওভারহেড
6 ঘণ্টা, শ্রমঘণ্টায় $6
$36.00
$0.36
মোট
$356.25
$3.56
$6 ওভারহেড রেটও একটি উদাহরণ: মাসে ওয়ার্কশপের $1,200 ওভারহেড 200 শ্রমঘণ্টায় ভাগ করা। খরচ ভাগ হয় ভালো আউটপুট দিয়ে, তাই নষ্ট 2 জারের দাম মেটায় ভালো 100টি। এ কারণেই স্ক্র্যাপ উপেক্ষা করলে খরচ ভালো দেখায়। একই batch ছাড় ছাড়া হিসাব করলে ম্যাটেরিয়াল দাঁড়ায় $2.27, জারপ্রতি $3.47, মানে 9 সেন্ট কম। বছরে 5,000 জার বিক্রি হলে ভুলটা $450 margin, যা কখনও ছিলই না।
তৈরি লট stock-এ ঢোকে $3.56 দামে, আর জার বিক্রি হলে এই অঙ্কই cost of goods sold-এ যায়।
লট ট্রেসেবিলিটি: মিনিটেই রিকল প্রস্তুতি
ট্রেসেবিলিটি মানে শৃঙ্খলটা দুই দিকেই হাঁটতে পারা। পেছনে: এই তৈরি লটে কোন কোন ইনপুট লট গেছে? সামনে: এই supplier লট কোন কোন তৈরি লটে আছে, আর কোন order-এ সেগুলো গেছে?
ওয়ার্ক order-এর উদাহরণের প্রতিটি stock সারিতে তথ্যটা আগে থেকেই আছে। WO-1042 শিয়া লট S-2291 খরচ করেছে এবং L-0927-A বানিয়েছে। L-0927-A order লাইনে নির্দিষ্ট ক্রেতাদের কাছে গেছে। শুরুর দৃশ্যের supplier-email তাই একটা উইকেন্ডের বদলে দুটো query: S-2291 ইস্যু করা ওয়ার্ক order খুঁজুন, তারপর সেগুলোর বানানো লটের চালান তুলুন।
খাদ্যপণ্যে এটি এখন ভালো চর্চা থেকে নিয়মের দিকে যাচ্ছে। মার্কিন FDA-র ফুড ট্রেসেবিলিটি রুল অনুযায়ী Food Traceability List-এর খাবার নিয়ে কাজ করা ব্যবসাকে লট-স্তরের রেকর্ড রাখতে হবে এবং অনুরোধের 24 ঘণ্টার মধ্যে দিতে হবে। মেনে চলার তারিখ ছিল 20 জানুয়ারি 2026, কিন্তু একটি appropriations আইন এখন FDA-কে 20 জুলাই 2028-এর আগে রুলটি কার্যকর না করার নির্দেশ দিয়েছে (FDA, FSMA final rule on additional traceability records)। অন্য পণ্যের নিজস্ব নিয়ম আছে, আর রিটেইল ক্রেতারা আপনি যা-ই বানান, একই লট-স্তরের উত্তর চান।
BOM, প্রোডাকশন order ও লট ট্রেসেবিলিটি, লাইভ ডেমো data-য় রেকর্ড করা (2:03)।
মেক-টু-stock নাকি মেক-টু-order
দুই মোডেই ওয়ার্ক order একই। তফাত শুধু কে তা চালু করে। মেক-টু-stock-এ ফোরকাস্ট আর রিঅর্ডার লেভেল উৎপাদন চালু করে, ক্রেতা কেনেন শেলফ থেকে। মেক-টু-order-এ customer order উৎপাদন চালু করে, তাই ওয়ার্ক order সেই order-এর সঙ্গে জোড়া থাকে এবং তৈরি মাল ক্রেতার নামে রিজার্ভ হয়।
একই ওয়ার্ক order, দুই ট্রিগার: একটিতে stock-এর ঝুঁকি, অন্যটিতে ডেলিভারির তারিখের ঝুঁকি।
খাদ্য আর কসমেটিকস সাধারণত মেক-টু-stock-এর দিকে ঝোঁকে, কারণ শেলফ লাইফ আর ফোরকাস্ট পরিকল্পনা ঠিক করে। আসবাব, প্রিন্ট আর কাস্টম পোশাক ঝোঁকে মেক-টু-order-এর দিকে, কারণ কেউ কথা না দিলে পণ্যটির অস্তিত্বই নেই। বেশির ভাগ ছোট প্রস্তুতকারক মিশিয়ে চালান: কয়েকটি দ্রুত বিক্রির পণ্য রিঅর্ডার লেভেলে বানানো, বাকি সব চাওয়া মাত্র। system-কে একই পণ্যে দুটোই চালাতে দিতে হবে।
প্রতিটি ধাপে কী ট্র্যাক করবেন
ধাপ
রেকর্ড
কেন জরুরি
গ্রহণ
supplier লট, মেয়াদ, পরিমাণ ও একক
পেছনের ট্রেস শুরু করে
মজুত
অবস্থান ও স্ট্যাটাস (কোয়ারেন্টাইন বা ছাড়পত্র পাওয়া)
ছাড় না পাওয়া মাল ইস্যু হওয়া আটকায়
WIP-তে ইস্যু
প্রতিটি ওয়ার্ক order-এ প্রতিটি উপাদানের খরচ হওয়া লট
ইনপুটকে batch-এর সঙ্গে জোড়ে
উৎপাদন
ঘণ্টা, ভালো আউটপুট, কারণসহ স্ক্র্যাপ
শ্রম খরচ ও yield জোগায়
ফিনিশিং
তৈরি লট, best-before তারিখ, মান পরীক্ষার ফল
ক্রেতাকে কী বেচা যাবে তা ঠিক করে
shipping
প্রতিটি order লাইনের লট
সামনের ট্রেস সম্ভব করে
ছোট থেকে শুরু করার উপায়
পুরো ব্যবসা মডেল করতে যাবেন না। একটি পণ্য-পরিবার বেছে নিন এবং আরেকটি যোগ করার আগে সেটি শুরু থেকে শেষ পর্যন্ত চালান।
সবচেয়ে বেশি বিক্রি হওয়া পণ্যের উপাদান লিখুন, লেবেল পর্যন্ত, এবং একটি আসল batch-এর জন্য মেপে বা গুনে নিন।
একক ঠিক করুন: প্রতিটি আইটেমের একটি stock একক, আর কেনা ও মাপার ধরন অনুযায়ী রূপান্তর।
BOM বসান, স্ক্র্যাপের শতাংশ নিন গত পাঁচটি batch থেকে, আন্দাজ থেকে নয়।
হাতে গুনে মিলিয়ে নেওয়ার পর লট ধরে, মেয়াদসহ, ওপেনিং stock তুলুন।
পরের আসল batch-টি ওয়ার্ক order হিসেবে চালান, আর ঘণ্টা ও স্ক্র্যাপ লিখুন ঘটার সময়ে, সপ্তাহ শেষে নয়।
system-এর খরচ পুরোনো আন্দাজের সঙ্গে মেলান, আর পরের পণ্য যোগ করার আগে কয়েক শতাংশের বেশি ফারাক হলে কারণ খুঁজুন।
ভুলের কথাও বলে রাখি। সবচেয়ে সাধারণ ভুল হলো একসময় ঠিক ছিল এমন BOM। supplier জার বদলায়, রেসিপিতে 10 g মোম বাড়ে, কেউ BOM বদলায় না, ফলে এরপর প্রতিটি খরচ সামান্য কিন্তু স্থির পরিমাণে ভুল হয়। প্রতিটি BOM-এর একজন মালিক আর একটি রিভিউয়ের তারিখ রাখুন। এরপর আছে অনুপস্থিত একক-রূপান্তর, যা ledger-এ 25 kg-এর বস্তাকে 25 গ্রাম বানিয়ে দেয়। তৃতীয়টি স্ক্র্যাপ উপেক্ষা করা, যা আগের উদাহরণে দেখা গেছে।
কী মাপবেন
সাপ্তাহিক রিভিউয়ের চারটি সংখ্যায় বেশির ভাগ কাজ হয়ে যায়। Yield হলো ভালো ইউনিট ভাগ পরিকল্পিত ইউনিট। কারণ অনুযায়ী স্ক্র্যাপের হার বলে ক্ষয়টা হাঁড়িতে হচ্ছে নাকি ভরার টেবিলে। ম্যাটেরিয়াল ভ্যারিয়েন্স হলো BOM-এর তুলনায় আসলে ইস্যু হওয়া পরিমাণ, যা রেসিপির সরে যাওয়া আর ওজনের ভুল ধরে। সময়মতো সমাপ্তি হলো যে ওয়ার্ক order-গুলো নির্ধারিত তারিখে শেষ হয়েছে তার অনুপাত, যা বলে ম্যাটেরিয়াল চেক কাজ করছে কি না। সঙ্গে ত্রৈমাসিক একটি ড্রিল রাখুন: যেকোনো একটি তৈরি লট বেছে সময় ধরুন, তার ইনপুট আর ক্রেতাদের তালিকা করতে কত লাগে।
সেই সোমবার সকালে ফিরে
একই মালিক এখন সোমবার সকাল ৯টা ১০-এ 100 জারের order release করেন। ব্যাগ নামিয়ে রাখার আগেই ম্যাটেরিয়াল চেক শেষ: 1.55 kg শিয়া ছাড়া সবই আছে, তাই ৯টা ১৫-এর আগেই একটি ক্রয় অনুরোধ চলে যায়। stock-এর গণনা ঠিক, কারণ আগের batch ইস্যুর সময়ই তার উপকরণ খরচ করেছিল।
supplier-এর email এলে তিনি শিয়া লট নম্বর সার্চ করেন। দুটি ওয়ার্ক order, তিনটি তৈরি লট আর এগারোটি order উঠে আসে। মিনিটের মধ্যে যোগাযোগের তালিকা হাতে, আর তিনি জানেন প্রতিটি জারের খরচ $3.56, পুরোনো শিটের দেখানো $3.47 নয়। সপ্তাহের বাকি সময় কাটে বাম বানিয়ে।
মূল কথা
ম্যানুফ্যাকচারিং system তিনটি জিনিস জোড়ে, যা স্প্রেডশিট আলাদা রাখে: রেসিপি, stock ledger আর খরচ।
BOM বানান স্তরে স্তরে, প্রতিটি লাইনে একক, রূপান্তর আর স্ক্র্যাপের শতাংশসহ।
ওয়ার্ক order release-এর সময় BOM কপি করে, ম্যাটেরিয়াল চেক চালায়, stock WIP-তে সরায় এবং শেষে ভালো আউটপুট ও স্ক্র্যাপ পোস্ট করে।
উৎপাদন খরচ হলো ম্যাটেরিয়াল, লেখা শ্রম আর বণ্টিত ওভারহেডের যোগফল, ভালো আউটপুট দিয়ে ভাগ করা। স্ক্র্যাপ উপেক্ষা করলে খরচ কম দেখায়।
প্রতিটি ইস্যু ও চালানে লট নম্বর থাকলে রিকল উইকেন্ডভর খোঁজা থেকে দুটি query-তে নেমে আসে।
শুরু করুন একটি পণ্য-পরিবার দিয়ে, আর প্রতিটি BOM-এর একজন মালিক ও রিভিউয়ের তারিখ রাখুন।
আনিছুর রহমান একজন সফটওয়্যার আর্কিটেক্ট এবং StoreConsole-এর নির্মাতা। বাড়তে থাকা ব্যবসার জন্য তিনি কমার্স ও ERP সিস্টেম ডিজাইন করেন — বিশেষ মনোযোগ event-driven আর্কিটেকচার, ডেটার নির্ভুলতা আর নিজের সার্ভারে চালানো সিস্টেমের ওপর।