BOM چیست و چرا به آن درخت محصول میگویند؟
BOM (بی او ام) کوتاهشدهی Bill of Materials و به فارسی «فهرست مواد» است: فهرستی از همهی مواد، قطعات و نیمهساختههایی که برای ساختِ مقدار مشخصی از یک محصول لازم است، با مقدار و واحدِ هرکدام. در کارگاهها به آن فرمول ساخت، ساختار محصول یا درخت محصول هم میگویند.
نامِ «درخت» از شکلِ خودِ فهرست میآید. محصولِ نهایی ریشه است، قطعههایی که اول ساخته میشوند شاخهاند و مواد و قطعاتِ خریدنی برگهای درخت. میزی که از یک صفحه و چهار پایه ساخته میشود، اینطور خوانده میشود:
- میزِ کار (محصول)
- صفحهی میز (نیمهساخته): ورق، نوار لبه، چسب
- پایهی فلزی (خریدنی)
- پیچ (خریدنی)
- بستهی مقوایی (خریدنی)
این فهرست فقط سندِ واحدِ تولید نیست؛ چند واحد روی همان حساب میکنند:
- خرید: میداند برای سفارشِ هفتهی بعد چه چیزی و چقدر باید بخرد.
- انبار: میداند برای هر سفارش چه چیزی باید تحویل بدهد و تفاوتِ مصرف با استاندارد را میبیند.
- مالی: بهای مواد را از فرمول برآورد میکند؛ محاسبهی کامل را در محاسبهی قیمت تمامشده گفتهایم.
- فروش: پیش از قولِ تحویل میفهمد مواد موجود است یا نه.
این مقاله فقط دربارهی فهرستی است که با آن تولید میکنید، نه فهرستهای طراحی یا تعمیرات.
اجزای یک فرمول: مقدار پایه، ماده، واحد
یک فرمولِ قابلِ استفاده پیچیده نیست، ولی هر جزئش باید بیابهام باشد. استادکار با «یه کم بیشتر» کار میکند، واحدِ خرید نمیتواند.
- محصول. کالایی که ساخته میشود، با همان نام و کدی که در انبار دارد. اگر یک کالا در انبار یک نام و در فرمول نامِ دیگری داشته باشد، هیچ محاسبهای به هم وصل نمیشود.
- مقدار پایه. فرمول برای چند واحد از محصول نوشته شده است. برای کالای شمردنی معمولاً ۱ عدد است و برای کالایی که دستهای تولید میشود، اندازهی همان دسته (مثلاً ۱۰۰ لیتر).
- ماده. هر چیزی که مصرف میشود و در انبار کد دارد. هر ماده باید یک ردیف باشد؛ ردیفی مثلِ «ملزومات» را نمیشود خرید یا شمرد.
- مقدار و واحد. مقدارِ لازم از هر ماده به ازای مقدار پایه، با همان واحدی که ماده در انبار دارد. اگر ورق را برگی میخرید، در فرمول هم برگی بنویسید، نه متر مربع.
- توضیح ردیف. هر نکتهای که روی انتخابِ ماده اثر دارد، مثلِ درجهی کیفیت یا ضخامت.
مقدار پایه را با یک مثال روشن کنیم: فرمولِ شربتی فرضی برای ۱۰۰ لیتر نوشته شده و ۴۰ کیلوگرم شکر میخواهد. سفارشِ ۲۵۰ لیتری چقدر شکر لازم دارد؟ قاعده همیشه همین است:
در این مثال: ۴۰ × ۲۵۰ ÷ ۱۰۰ = ۱۰۰ کیلوگرم شکر
نمونه BOM برای یک محصول فرضی
نمونهی زیر همان میزِ بالاست. نامها و عددها ساختگیاند و فقط برای نشاندادنِ شکلِ فرمول آمدهاند. اول فرمولِ محصولِ نهایی:
| ردیف | ماده | مقدار (برای ۱ عدد میز) | واحد | نوع |
|---|---|---|---|---|
| ۱ | صفحهی میز | ۱ | عدد | نیمهساخته |
| ۲ | پایهی فلزی | ۴ | عدد | خریدنی |
| ۳ | پیچ | ۱۶ | عدد | خریدنی |
| ۴ | بستهی مقوایی | ۱ | عدد | خریدنی |
و فرمولِ جدای صفحهی میز:
| ردیف | ماده | مقدار (برای ۱ عدد صفحه) | واحد | توضیح |
|---|---|---|---|---|
| ۱ | ورق MDF | ۰٫۵ | برگ | از هر برگ دو صفحه درمیآید |
| ۲ | نوار لبه | ۴ | متر | دورِ صفحه |
| ۳ | چسب | ۰٫۲ | کیلوگرم | برای نوار لبه |
دستمزد و هزینهی برق در این جدول نیامدهاند، چون فهرست مواد دربارهی چیزهایی است که از انبار خارج میشوند. مقدارها هم عمداً اعشاریاند: گردکردنِ نیم برگ به «۱ برگ» خرید را دو برابر میکند.
نیمهساخته و فرمول چندسطحی
وقتی یکی از ردیفهای فرمول خودش فرمول دارد، فهرست چندسطحی میشود. در نمونهی بالا صفحهی میز یک نیمهساخته است: در فرمولِ میز یک ردیف است و در فرمولِ خودش به ورق، نوار لبه و چسب باز میشود. لازم نیست هر مرحلهی کار را نیمهساخته کنید؛ سطحِ اضافه فقط کار را بیشتر میکند. یک مرحله وقتی سطحِ جدا میخواهد که دستکم یکی از اینها درست باشد:
- انبار میشود: قطعه پیش از مونتاژ مدتی در انبار میماند و باید موجودیاش را بدانید.
- مشترک است: همان قطعه در چند محصول مصرف دارد و نمیخواهید موادش را چند بار تکرار کنید.
- گاهی خریده میشود: بعضی وقتها خودتان میسازید و بعضی وقتها از بیرون میخرید.
اگر هیچکدام درست نیست، موادِ آن مرحله را مستقیم در فرمولِ محصول بیاورید. یک خطای ساختاری هم حلقه است: کالایی که در زنجیرهی فرمولِ خودش دوباره بیاید. چنین زنجیرهای هیچوقت تمام نمیشود.
ضایعات و مدت ساخت را کجا بنویسیم؟
فرمولی که فقط مقدارِ نظری را دارد با مصرفِ کارگاه نمیخواند؛ لبهی ورق میریزد و چسب تهِ ظرف میماند. دو روشِ رایج هست: ضایعاتِ عادی را داخلِ مقدارِ ماده حساب کنید، یا مقدارِ خالص را نگه دارید و درصدِ ضایعات را جدا بنویسید. اگر برش به ۵ درصد ورقِ بیشتر نیاز دارد، روشِ اول همان ۰٫۵ برگ را ۰٫۵۲۵ برگ مینویسد. هر دو درستاند، به سه شرط:
- فقط یکی را انتخاب کنید؛ ضایعات نباید هم داخلِ مقدار باشد و هم جدا.
- عدد را از اندازهگیریِ چند سفارشِ واقعی بگیرید، نه از حدس.
- مرزِ «عادی» را روشن کنید. دورریزِ معمولِ برش عادی است؛ یک محمولهی خرابشده نیست و نباید داخلِ فرمول پنهان شود.
این مرز روی عددِ بهای تمامشده هم اثر دارد. اینکه ضایعات در دفاترِ شرکت چطور ثبت شود، تصمیمی مالی است؛ آن را با حسابدار یا مشاور مالیاتی بسنجید.
مدت ساخت هم بهتر است کنارِ فرمول بیاید: تعدادِ روزی که از شروعِ کار تا آمادهشدنِ محصول طول میکشد. این عدد برنامهی دقیقِ کارگاه نیست، ولی به فروش میگوید قولِ تحویل را روی چند روز بگذارد.
تغییر فرمول: نسخهی تازه بهجای بازنویسی
فرمولها عوض میشوند: تأمینکننده تغییر میکند یا طراحی اصلاح میشود. اگر عددِ قدیمی را پاک کنید، وقتی کسی بپرسد سفارشِ سه ماه پیش با کدام مواد ساخته شد، جوابی ندارید.
راهِ تمیزتر این است که با هر تغییرِ مواد، نسخهی تازه بسازید:
- از فرمولِ فعلی کپی بگیرید و فقط تفاوتها را در نسخهی تازه اعمال کنید.
- روشن کنید نسخهی تازه از کدام سفارش به بعد معتبر است؛ سفارشی که در جریان است با فرمولِ خودش تمام میشود.
- نسخهی قبلی را حذف نکنید، غیرفعال کنید تا سفارشِ تازه با آن ساخته نشود ولی سابقه بماند.
- تعیین کنید چه کسی اجازهی تغییر دارد.
از فرمول به نیاز مواد و کسری
ارزشِ اصلیِ فهرست مواد اینجا دیده میشود. فرض کنید سفارشِ ۵۰ میز دارید و در انبارِ فرضی این موجودیها را میبینید. محاسبه از بالای درخت شروع میشود: نیازِ هر ردیف را حساب کنید، موجودی را کم کنید و فقط کسریِ نیمهساخته را به سطحِ پایینتر ببرید.
| ماده | نیاز | موجودی | کسری | اقدام |
|---|---|---|---|---|
| صفحهی میز | ۵۰ عدد | ۱۰ | ۴۰ | ساخته شود |
| پایهی فلزی | ۲۰۰ عدد | ۱۵۰ | ۵۰ | خرید |
| پیچ | ۸۰۰ عدد | ۱٬۰۰۰ | ۰ | کافی است |
| بستهی مقوایی | ۵۰ عدد | ۳۰ | ۲۰ | خرید |
| ورق MDF (برای ۴۰ صفحه) | ۲۰ برگ | ۱۲ | ۸ | خرید |
| نوار لبه (برای ۴۰ صفحه) | ۱۶۰ متر | ۲۰۰ | ۰ | کافی است |
| چسب (برای ۴۰ صفحه) | ۸ کیلوگرم | ۵ | ۳ | خرید |
نکتهی مهمِ این جدول همان «۴۰ صفحه» است. اگر کلِ ۵۰ صفحه را به ورق تبدیل کنید، ۵ برگ بیشتر از نیاز میخرید، چون ۱۰ صفحه از قبل آماده بوده است. موجودی هم همیشه آزاد نیست؛ اگر سفارشِ باز دیگری روی همان ماده حساب کرده، سهمش را کنار بگذارید. قاعدهی کامل این است: کسری = نیاز + رزروِ سفارشهای باز − موجودیِ انبار، و اگر حاصل منفی شد کسری صفر است. این عدد فقط وقتی قابلِ اعتماد است که موجودی درست باشد؛ این نظم را در راهنمای مدیریت انبار توضیح دادهایم.
نگهداری فرمول در اکسل تا کجا جواب میدهد؟
برای شروع، اکسل انتخابِ بدی نیست. اگر چند محصول دارید و فرمولهایتان یکسطحی است، یک فایلِ مرتب از ذهنِ استادکار خیلی بهتر است. هر ماده یک ردیف باشد و این ستونها را داشته باشید: کدِ محصول، مقدار پایه، کدِ ماده، مقدار، واحد، شمارهی نسخه و تاریخِ شروعِ اعتبار. برای BOM فایلِ آماده نداریم، ولی شکلِ مرتبِ فایلهای دیگر را در نمونهها و ابزارهای رایگان میبینید.
این نشانهها میگویند اکسل دیگر کافی نیست:
- فرمولها چندسطحی شدهاند و بازکردنِ درخت با دست ساعتها طول میکشد.
- کسری را باید با موجودیِ زنده مقایسه کنید، نه با عددی که صبح از انبار پرسیدهاید.
- چند نسخه از فایل روی چند سیستم است و کسی نمیداند کدام معتبر است.
- میخواهید مصرفِ واقعیِ هر سفارش را با فرمول مقایسه کنید.
در این نقطه فرمول باید به انبار و سفارش وصل شود. اینکه چنین کاری به نرمافزارِ حسابداری، ERP یا CRM میخورد، در تفاوت CRM، ERP و نرمافزار حسابداری آمده است و معنای این اصطلاحها را در واژهنامه CRM میبینید.
فرمول ساخت در ملل CRM
تا اینجا مستقل از هر نرمافزاری گفتیم BOM چیست. در ملل سی آر ام این کار در «بخش حسابداری ← سفارش کار و تولید» است، با «فرمولهای ساخت»، «سفارشهای تولید»، «پیشبینی تولید» و «مرور سفارشهای تولید». این گروه به اجازهی «سفارش کار و تولید» در «دسترسی همکاران» بسته است: پیشفرض برای همکاران خاموش است و مدیر همیشه آن را میبیند. خودِ بخش حسابداری هنوز «در حال تکمیل» است. نامِ دکمهها، فیلدها و ستونهای داخلِ «» همان چیزی است که در نرمافزار میبینید. مرورِ بقیهی قابلیتها در امکانات ملل CRM است.
- فهرست: صفحهی «فرمولهای ساخت» دکمهی «افزودن فرمول» دارد و کشوی هر ردیف «ویرایش»، «کپی»، «چاپ»، «اکسل اقلام»، «غیرفعال» و «حذف» را نشان میدهد. «افزودن فرمول»، «کپی» و «غیرفعال» اجازهی ثبت میخواهند و «حذف» اجازهی حذف؛ کسی که اجازهی ثبت ندارد فرم را فقط میبیند.
- فرم فرمول: فیلدهای «کد»، «عنوان»، «محصول»، «مقدار پایه»، «خط تولید»، «مدت ساخت (روز)»، «فعال» و «شرح»، و «واحد» که از کارتِ کالا خوانده میشود. جدولِ اقلام ستونهای «کالا»، «واحد»، «مقدار» و «توضیح» دارد. «دستمزد برآوردی هر واحد» و «سربار برآوردی هر واحد» به ازای هر یک واحدِ محصولاند، نه مقدار پایه؛ این دو هم بالای فرماند و فقط با اجازهی «دیدنِ قیمت خرید» دیده میشوند.
- قاعدههای فرمول: دستکم یک قلم لازم است، خودِ محصول در اقلامش نمیآید، هر کالا فقط یک بار میآید و فقط کالای نوعِ «کالا» پذیرفته میشود؛ خدمت و کالای دارایی نه.
- نسخهی تازه: «کپی از این فرمول» نسخهای با همان اقلام و نرخها میسازد، ولی نسخهی قبلی را خودش غیرفعال نمیکند. تا آن را «غیرفعال» نکنید، «پیشبینی تولید» با فرمولِ قدیمیتر حساب میکند و کشوی «فرمول» در سفارشِ تازه هم معمولاً همان را پیشفرض میگذارد. فرمولی که سفارشِ «در حال تولید» دارد پیامِ «اقلام قفل است» میگیرد و اقلام و مقدار پایهاش عوض نمیشود. فرمولِ سفارشدار حذف نمیشود، حتی اگر سفارشش تمام شده باشد؛ بهجایش «غیرفعال» میشود و سفارشهای قبلی را نگه میدارد.
- از فرمول تا سفارش: در فرمِ «افزودن سفارش تولید» فقط کالایی میآید که فرمولِ فعال دارد و مواد از «فرمول × مقدارِ سفارش ÷ مقدار پایه» حساب میشود. بعد «حواله مصرف مواد»، «رسید محصول»، «اتمام تولید» و «محاسبه بهای تمامشده» از کارتِ سفارش انجام میشوند. گامبهگامش در راهنمای سفارش تولید است.
- پیشبینی تولید: محصول و مقدار را میدهید، «نمایش» را روی «مواد اولیه»، «نیمهساخته» یا «هر دو» میگذارید و «محاسبه» را میزنید. فرمول تا ۲۰ سطح باز میشود و جدولِ «مواد لازم» ستونهای «نیاز»، «موجودی آزاد»، «رزرو سفارشهای باز»، «کسری» و «باید ساخته شود» را نشان میدهد. زنجیرهی معیوب با ردیفِ «⚠ حلقه در فرمول» معلوم میشود.
- اقدام روی کسری: کنارِ نیمهساختهی کسریدار، برای کسی که اجازهی ثبت دارد، پیوندِ «ساخت سفارش برای این قلم» میآید. دکمهی «پیشفاکتور خرید برای کسری» فقط وقتی کار میکند که ردیفها با «از سفارشهای در حال تولید» آمده باشند؛ برای ردیفهای دستی خاموش است. این دکمه عددِ ستونِ «کسری» را برنمیدارد: کسری را از باقیماندهی موادِ خودِ سفارشها منهای موجودی حساب میکند، پس ممکن است با جدول فرق داشته باشد. ساختِ پیشفاکتور هم اجازهی ثبتِ این بخش و هم اجازهی ثبتِ فاکتور میخواهد.
| قابلیت | در ملل CRM | توضیح |
|---|---|---|
| فرمول چندسطحی | ✓ داریم | مادهی دارای فرمولِ فعال، نیمهساخته است؛ «پیشبینی تولید» تا ۲۰ سطح باز میکند |
| نسخهی تازه و قفل اقلام | ✓ داریم | «کپی از این فرمول»؛ قفل با سفارشِ «در حال تولید» |
| محاسبهی کسری با رزرو | ✓ داریم | کسری = نیاز + رزرو − «موجودی آزاد» و منفی نمیشود؛ «موجودی آزاد» موجودیِ امروز است و رزرو از آن کم نشده. خودِ محاسبه چیزی ثبت نمیکند |
| مقایسهی مصرف با فرمول | ✓ داریم | «استاندارد»، «واقعی» و «انحراف ٪» در کارتِ سفارش |
پرسشهای متداول دربارهی BOM
BOM چیست؟
BOM یا فهرست مواد، فهرستِ همهی مواد، قطعات و نیمهساختههایی است که برای ساختِ مقدار مشخصی از یک محصول لازم است، با مقدار و واحدِ هرکدام. در کارگاهها به آن فرمول ساخت یا درخت محصول هم میگویند.
فرق BOM و فرمول ساخت چیست؟
در کارِ روزمره هر دو یک چیزند. BOM نامِ رایجِ انگلیسی است و فرمول ساخت نامِ رایجِ فارسی. مهم این است که شرکت برای هر محصول یک نسخهی معتبر داشته باشد و همه از همان استفاده کنند.
ضایعات را کجای فرمول ساخت بنویسیم؟
راهِ ساده این است که ضایعاتِ عادیِ هر ماده را از روی اندازهگیریِ واقعی داخلِ مقدارِ همان ماده حساب کنید. اگر جای جدایی هم برای ضایعات دارید، فقط یکی را پر کنید تا ضایعات دو بار شمرده نشود.
در ملل CRM فرمول چندسطحی میشود ساخت؟
بله. هر فرمول یک سطح است، ولی مادهای که خودش فرمولِ فعال دارد «نیمهساخته» حساب میشود و صفحهی «پیشبینی تولید» زنجیره را تا ۲۰ سطح باز میکند. سفارشِ نیمهساخته جداست و با پیوندِ «ساخت سفارش برای این قلم» باز میشود.
ملل CRM فرمول ساخت را از اکسل میخواند؟
نه. فرمول در فرمِ «افزودن فرمول ساخت» ثبت میشود و ورودِ گروهی از اکسل ندارد. خروجی دارد: «اکسل اقلام» موادِ هر فرمول را بیمبلغ میدهد و «خروجی اکسل» فهرستِ فرمولها را برای کسی که اجازهی «دیدنِ قیمت خرید» دارد.