موجودی، رزرو و اصلاح دستی انبار محصول
تفاوت فیزیکی و رزروشده، فیلدهای اصلاح و اثر عملیات و مرجوعی
موجودی، رزرو، اصلاح دستی و گردش انبار محصول
«موجودی کالا ۲۰ عدد است» جمله دقیقی نیست مگر بدانیم منظور موجودی فیزیکی است، مقدار رزرو شده است یا مقدار آزاد برای فروش. آناما برای هر تنوع در هر انبار موجودی را جدا ثبت میکند. سفارشها میتوانند بخشی از آن را رزرو کنند؛ بعضی مسیرهای فروش بعد از قطعیشدن، موجودی را به گردش خروج تبدیل میکنند. ابزار «موجودی» در پنل محصولات برای مشاهده و اصلاح عملیاتی است، نه جایگزین چرخه کامل خرید، رسید و حسابداری.
سه عدد اصلی در پنجره موجودی
| عنوان | تعریف | نمونه |
|---|---|---|
موجودی واقعی on_hand | تعداد ثبتشده روی دست در آن انبار | ۱۰۰ |
رزروشده reserved | مقداری که برای سفارشها کنار گذاشته شده | ۲۵ |
قابلفروش available | موجودی پس از کسر رزرو | ۷۵ |
اگر ۱۰۰ عدد دارید و سفارش ۲۵ عدد ثبت شده اما هنوز نهایی نشده، عدد قابلفروش ۷۵ است. پس از خروج قطعی ۲۵ عدد، ممکن است فیزیکی ۷۵، رزرو صفر و قابلفروش همچنان ۷۵ شود. این دو وضعیت در گزارش گردش یکسان نیستند. از روی کاهش یا افزایش یک عدد بدون بررسی مرجع سفارش نتیجه نگیرید.
فیلدهای پنجره «مدیریت موجودی»
انبار: محل اصلی نگهداری کالا. هر تنوع در چند انبار میتواند رکورد جدا داشته باشد. انتخاب انبار اشتباه یعنی موجودی شعبه دیگری را تغییر دادهاید.
نوع اصلاح: سه حالت وجود دارد: «تنظیم مقدار نهایی» (set)، «افزایش» (increase) و «کاهش» (decrease). تنظیم مقدار نهایی یعنی اعلام میکنید پس از اصلاح چه عددی روی دست باشد؛ افزایش یا کاهش فقط اختلاف را اعمال میکند. قبل از ذخیره حتماً عنوان حالت را بخوانید؛ واردکردن ۵۰ در «تنظیم مقدار نهایی» با «افزایش ۵۰» کاملاً متفاوت است.
مقدار: عدد اصلاح در واحد انتخابشده برای تنوع، با توجه به تبدیل و دقت آن. مقدار باید با واقعیت شمارش، سند خرید یا اصلاح انبار تطبیق داشته باشد.
موقعیت انبار: برای انبارهای دارای مکانیابی، قفسه یا موقعیت مشخص. اگر استفاده میکنید، موجودی کل و موجودی موقعیتها باید قابل تطبیق باشد.
سری ساخت یا شماره سریال / Lot: برای رهگیری تاریخ تولید، انقضا، سری یا سریال. انتخاب لات اشتباه در کالاهای تاریخدار خطای مهمی است؛ موجودی درست با لات غلط همچنان مسئله عملیاتی دارد.
بهای تمامشده واحد: ورودی مالی مرتبط با ارزشگذاری این اصلاح، نه قیمت فروش. بدون اطلاع از روش ارزشگذاری واقعی آن را از روی قیمت ویترین پر نکنید.
شخصیت حسابداری: مشخص میکند رویداد مرتبط به کدام ساختار مالی تعلق داشته باشد، هر جا فرآیند مالی به آن نیاز دارد. انتخاب شخصیت اشتباه گزارش انبار و حسابداری را ناسازگار میکند.
علت/یادداشت: شرح روشن و قابل بازبینی. مثل «اصلاح پس از انبارگردانی ۱۴۰۵/۰۷/۲۰، برگه ۱۲»، نه فقط «اصلاح».
ورود از خرید با اصلاح دستی یکی نیست
اگر سفارش خرید رسمی دارید، بعد از تحویل، بازرسی و ثبت قطعی رسید کالا مسیر خرید میتواند موجودی را افزایش دهد. همان کالای رسیدشده را دوباره از پنجره موجودی «افزایش» ندهید. اگر کالا فقط از طریق شمارش افتتاحیه یا اصلاح موجودی وارد میشود، دلیل، بهای واحد و سند مرجع باید مطابق سیاست مالی کسبوکار روشن باشد. اصلاح موجودی برای خرید نسیه بهتنهایی فاکتور بدهی فروشنده ایجاد نمیکند.
رزرو سفارش و جلوگیری از فروش دوباره
در مدل موجودی، رزرو با قفلگذاری تراکنشی انجام میشود و برای انبارهای فعال و مجاز کانال فروش قابل انتخاب است. برخی انبارها فقط کانال مشخصی مثل web یا pos را پشتیبانی میکنند؛ ممکن است مجموع موجودی شرکت ۵۰ عدد باشد ولی فروشگاه آنلاین فقط ۱۵ عدد بتواند ارائه کند. اگر سیاست فروش در کمبود روشن باشد، رفتار سفارش با حالت عادی متفاوت است؛ آن را آگاهانه فعال کنید.
مثال اصلاح واریانس شمارش
ابتدا سامانه ۴۰ عدد نشان میدهد و ۵ عدد رزرو هستند. در شمارش فیزیکی ۳۸ عدد پیدا میکنید. با بررسی رسیدها و سفارشها علت کسری دو عدد را ثبت میکنید؛ اصلاح باید بهصورت کنترلشده و با توجه به رزرو انجام شود. بدون بررسی، انتخاب «کاهش ۲» در حساب درست ولی انبار اشتباه، مشکل دیگری میسازد. بعد از ثبت، موجودی فیزیکی، رزرو، قابلفروش و گردش جدید را بازبینی کنید.
علت اهمیت شناسه تکرارناپذیر عملیات
در درخواست اصلاح موجودی از پنل، کلید idempotency_key ارسال میشود تا تکرار درخواست یکسان بر اثر قطع اینترنت، باعث اصلاح دوباره نشود. اگر خطای شبکه گرفتید، قبل از ارسال یک درخواست جدید با مقدار متفاوت گردش قبلی را بررسی کنید. کلیک چندباره یا تغییر ناخواسته نوع اصلاح میتواند مسئله ایجاد کند. همچنین تغییر موجودی مستقیم با SQL سوابق StockMovement را دور میزند و نباید مسیر عادی اصلاح باشد.
روش بررسی اختلاف موجودی
از محصول و تنوع درست شروع کنید؛ همه انبارها را جدا مرور کنید؛ میزان رزرو را با سفارشها تطبیق دهید؛ گردشهای ورود، خروج، اصلاح و مرجوعی را بر اساس مرجع بررسی کنید؛ سپس موجودی موقعیت/لات را بررسی کنید. اگر اختلاف ارزشی است، مقدار فیزیکی را بدون دلیل تغییر ندهید. اختلاف ارزش موجودی با اختلاف تعداد دو مسئله متفاوتاند.
چه کارهایی نکنیم؟
- برای هر سفارش تکمیلشده، خروج دستی جداگانه ثبت نکنید مگر مسیر فروش شما واقعاً خروج خودکار ندارد و آن هم با رویه مشخص.
- برای واردکردن کالای خریداریشده، فقط قیمت فروش را بالا نبرید؛ قیمت و موجودی دو موجودیت مستقلاند.
- برای خلاصشدن از رزرو، موجودی کل را بالا نبرید؛ علت رزرو را اصلاح کنید.
- لات منقضی یا آسیبدیده را صرفاً به خاطر عدد موجودی بهعنوان کالای قابل فروش آزاد نکنید.
- بهجای اصلاح مستند، شناسه تنوع را حذف و دوباره نسازید.
معیار پایان موفق عملیات
هر اصلاح باید تنوع، انبار، مقدار قبل و بعد، علت، زمان و در صورت لزوم بهای واحد و شخصیت حسابداری قابل پیگیری داشته باشد. گزارش موجودی باید با گردشها و سفارشهای باز قابل تطبیق بماند. برای فروش وزندار راهنمای واحدها و برای خرید و سند رابطه انبار و حسابداری را مطالعه کنید.