برای شمارش دورهای موجودی در Odoo 19، محدوده را بر اساس مکان انبار تعیین کنید، مقدار واقعی را بشمارید و مغایرت را پیش از اعمال اصلاح بررسی کنید. تنظیم فاصلهٔ شمارش بهتنهایی موجودی را تأیید نمیکند؛ ثبت عدد شمارششده، بررسی اختلاف و اعمال اصلاح، سه اقدام جدا با شواهد متفاوتاند.
این راهنما برای مسئول انبار، مدیر عملیات و مشاور استقرار اودو نوشته شده است. مسیرهای نرمافزار به مستندات نسخهٔ ۱۹ متکیاند؛ روش کنترل جابهجایی، تقسیم مسئولیت و مثال عددی، پیشنهاد اجرایی و سناریوی آموزشیاند. پیش از اجرای واقعی، روی محیط آزمایش و با دسترسی متناسب تمرین کنید؛ اصلاح موجودی بر عملیات بعدی انبار اثر میگذارد.
۱. شمارش دورهای را به یک محدودهٔ قابل کنترل تبدیل کنید
شمارش دورهای یعنی بررسی بخشهای مشخص موجودی در نوبتهای تکرارشونده، بهجای موکولکردن همهٔ کشف مغایرتها به یک روز. در مستند Cycle Counts اودو ۱۹، مبنای برنامهریزی «مکان» است. بنابراین گروه کالا، قفسهٔ فیزیکی و مکان ثبتشده در سیستم باید قابل تطبیق باشند.
برای شروع، محدودهای انتخاب کنید که مسئول و مرز روشن دارد: مثلاً یک قفسهٔ قطعات شبکه. اقلام پررفتوآمد، کمحجم اما ارزشمند یا دارای سابقهٔ مغایرت میتوانند اولویت بررسی باشند. این اولویتبندی توصیهٔ مدیریتی است؛ تنظیم شمارش مکانی را با قابلیت خودکار طبقهبندی کالا بر اساس ارزش اشتباه نگیرید.
پیش از تعیین تناوب، بپرسید تیم در هر نوبت چه محدودهای را واقعاً میتواند کامل بشمارد و بررسی کند. برنامهای که فقط تاریخهای عقبافتاده میسازد، کنترل مؤثری نیست. بازه را ابتدا محدود انتخاب کنید، نتیجهٔ چند نوبت را مرور کنید و سپس دربارهٔ گسترش دامنه تصمیم بگیرید؛ عدد ثابتی برای همهٔ انبارها وجود ندارد.
۲. مکان و تناوب را در Odoo 19 تنظیم کنید
- از مسیر Inventory → Configuration → Settings، گزینهٔ Storage Locations را در بخش انبار فعال و ذخیره کنید؛ تغییر تنظیمات را با مسئول استقرار هماهنگ کنید.
- در Configuration → Locations، مکان موردنظر را باز کنید. نام کامل، مکان والد، نوع مکان و شرکت را با محدودهٔ واقعی تطبیق دهید.
- در بخش Cyclic Counting، فیلد Inventory Frequency را بر حسب روز تنظیم کنید. برای نمونه، مقدار ۳۰ یک انتخاب آموزشی است، نه تناوب توصیهشده برای همهٔ کالاها.
- نخستین شمارش را انجام دهید و اصلاحهای بررسیشده را اعمال کنید؛ سپس تاریخهای بعدی را در مکان و ردیفهای شمارش کنترل کنید.
طبق راهنمای Locations، مقدار صفر یعنی تناوب دورهای مکان تنظیم نشده است. این وضعیت به معنای ناممکنبودن شمارش دستی نیست. فیلدهای Last Inventory و Next Expected برای پیگیری تاریخها مفیدند، اما معیار پوشش کامل نوبت را باید جدا ثبت کنید.
تاریخ برنامهٔ شمارش را با تاریخ حسابداری یا تقویم رسمی پایان سال سازمان یکی نگیرید. تاریخ سالانهٔ شمارش در تنظیمات شرکت قابل تعیین است. در کد رسمی نسخهٔ ۱۹ برای زمانبندی مکان، اگر موعد سالانه و دورهای هر دو موجود باشند، تاریخ زودتر میتواند ملاک ردیف قرار گیرد؛ پس انتظار «دقیقاً چند روز بعد» را با مقدار واقعی Scheduled بسنجید.
۳. پیش از شمارش، هویت ردیف و مرز زمانی را تثبیت کنید
از مسیر Inventory → Operations → Physical Inventory وارد شوید و محدوده را بر اساس مکان فیلتر کنید. سپس شرکت، کالا، واحد اندازهگیری و در صورت استفاده، سری ساخت یا شمارهٔ سریال، بسته و مالک را بررسی کنید. تشابه نام کالا کافی نیست؛ دو ردیف با سری ساخت متفاوت، دو موضوع شمارش جدا هستند.
یک برگهٔ کنترل ساده نگه دارید: محدوده، زمان شروع، شمارشگر، مسئول بررسی و وضعیت رسیدها و حوالههای مرتبط. پیش از شمارش، دریافتهای ثبتنشده، کالای آمادهٔ ارسال و اقلام برگشتی را تعیین تکلیف کنید. کالایی که روی میز تحویل قرار دارد ولی هنوز از مکان خارج نشده، نباید بهدلیل ابهام مرز، دوبار شمرده یا فراموش شود.
توصیهٔ اجرایی این است که جابهجایی همان محدوده را برای بازهای کوتاه هماهنگ و محدود کنید. اگر توقف ممکن نیست، هر ورود و خروج را با زمان و مرجع سند ثبت کنید و پیش از اعمال، تطبیق مجدد انجام دهید. درخواست شمارش را قفل خودکار عملیات تلقی نکنید؛ داشتن مسئول شمارش بهتنهایی مانع ثبت انتقال توسط دیگران نمیشود.
فهرست ردیفهای سیستم را با مشاهدهٔ فیزیکی قفسه مقایسه کنید. وجود کالای بدون برچسب یا کالایی که ردیف مورد انتظارش دیده نمیشود، نیازمند بررسی هویت و سابقه است. برای خلاصشدن از اختلاف، ردیفی با نام مشابه انتخاب نکنید. اگر مالک یا واحد کالا روشن نیست، آن مورد را برای رفع ابهام جدا کنید.
۴. ثبت شمارش با اعمال اصلاح یکسان نیست
| وضعیت | برداشت درست | کنترل پیشنهادی |
|---|---|---|
| On Hand | موجودی ثبتشده در سیستم | با موجودی قابلاستفاده یا شمارش واقعی یکی فرض نشود |
| Counted | مقدار واقعی شمارششده | هویت ردیف و واحد دوباره بررسی شود |
| Difference | اختلاف شمارش و مقدار ثبتشده | علت احتمالی با سند بررسی شود |
| اعمال اصلاح | ثبت تغییر از مسیر گردش استاندارد | مرجع، مسئول و نتیجه در سابقه کنترل شود |
برای تقسیم کار، میتوان ردیفها را با Request a Count به مسئول و تاریخ مشخص واگذار کرد. گزینهٔ Show Expected Quantity نمایش مقدار مورد انتظار را کنترل میکند. استفاده از شمارش بدون مشاهدهٔ عدد سیستم، انتخاب کنترلی سازمان است؛ دربارهٔ نقشها و مجوز اعمال، رفتار نصب خود را در محیط آزمایش بررسی کنید.
مقدار واقعی را در Counted وارد کنید. خالیبودن مقدار، تأیید موجودی نیست و صفر نیز معنای مشخص «هیچ موجودی شمارش نشد» دارد. پیشنهاد میشود شمارشگر ابتدا شاهد خود را ثبت کند و بررسیکننده مغایرتهای مبهم را بازبینی کند. این تقسیم کار رویهٔ پیشنهادی است و این مقاله وجود گردش تصویب سفارشی را فرض نمیکند.
اگر زمان ثبت و اعمال فاصله دارد، ردیف را دوباره از نظر جابهجایی بررسی کنید. کد رسمی stock.quant در شاخهٔ ۱۹ برای شمارش ناسازگار با جابهجایی بعدی، مسیر هشدار تعارض دارد. هشدار را تأیید صوری نکنید؛ ابتدا مشخص کنید شمارش به کدام لحظه مربوط بوده و آیا بازشماری لازم است.
۵. مثال آموزشی: اختلاف قفسه با انتقال ثبتنشده
فرض کنید سیستم برای یک نوع آداپتور در مکان مشخص، ۲۴ عدد نشان میدهد و شمارش واقعی ۲۲ است. این اعداد ساختگی و صرفاً برای توضیحاند. اختلاف منفی دو عدد، بهتنهایی اثبات مفقودی نیست. ممکن است دو عدد برای تحویل کنار گذاشته شده باشند، انتقال ثبت نشده باشد یا محدودهٔ شمارش اشتباه انتخاب شده باشد.
ابتدا واحد و ردیف کالا را تطبیق دهید؛ سپس مدارک ورود و خروج همان بازه را بررسی کنید. اگر انتقال واقعی انجام شده اما سندش تکمیل نشده است، مسئول مربوط باید همان فرایند واقعی را اصلاح کند و بعد شمارش تکرار شود. ثبت همزمان یک کسری و سپس تکمیل خروج همان دو عدد میتواند اختلاف تازهای ایجاد کند.
اگر پس از بررسی و بازشماری، مغایرت واقعی باقی ماند، مرجع بررسی را در دلیل اصلاح ثبت کنید. نتیجهٔ بررسی ممکن است «علت نامشخص، نیازمند پیگیری» باشد؛ برای تکمیل فرم علت قطعی نسازید. مسئول و موعد اقدام اصلاحی را جدا نگه دارید تا تغییر عدد سیستم، پروندهٔ علتیابی را زودتر از موعد نبندد.

۶. اصلاح را با مرجع و بازبینی سابقه تمام کنید
پس از رفع ابهام، فقط ردیفهای بررسیشده را برای اعمال انتخاب کنید. در مسیر اعمال چند ردیف، پنجرهٔ اصلاح امکان ثبت دلیل و تاریخ شمارش را فراهم میکند و با Update Quantities تأیید میشود. انتخاب گسترده و عجولانهٔ همهٔ ردیفها میتواند موارد بررسینشده را هم وارد نتیجه کند.
راهنمای Inventory Adjustments توضیح میدهد که اعمال، حرکت موجودی و سابقهٔ قابل پیگیری ایجاد میکند. پس از آن، مقدار، مکان و مرجع حرکت را بازبینی کنید. برای برگشت اصلاح اشتباه، مسیر Moves History → Revert Inventory Adjustment سابقهٔ قبلی را پاک نمیکند و ردیف برگشتی اضافه میکند.
پیش از برگشت، بررسی کنید پس از اصلاح چه عملیات دیگری انجام شده است؛ معکوسکردن کورکورانه جای بررسی اثر را نمیگیرد. اگر کنترل حسابداری یا دورهٔ بسته مطرح است، موضوع را به مسئول مالی ارجاع دهید. این راهنما دستور حسابداری یا روش اصلاح تاریخهای مالی ارائه نمیکند؛ برای چنین تصمیمی، تنظیمات و اختیارهای همان سازمان ملاک است.
۷. نوبت بعد را با پوشش کامل بسنجید
تاریخ آخرین شمارش یک مکان، بهتنهایی ثابت نمیکند همهٔ کالاهای آن بررسی شدهاند. برای هر نوبت، فهرست اولیهٔ ردیفها را با موارد تکمیلشده تطبیق دهید و اقلام خارج از فهرست را هم تعیین تکلیف کنید. ردیف مبهم را با توضیح و مسئول باز نگه دارید؛ آن را از گزارش حذف نکنید تا نوبت ظاهراً کامل شود.
سه پرسش در مرور پایان نوبت کافی است: کدام بخش بررسی نشده، کدام مغایرت تکرار شده و چه اقدام مشخصی از تکرار جلوگیری میکند؟ اگر خطا از برچسب مکان یا ثبت دیرهنگام رسید ناشی میشود، فقط کوتاهکردن تناوب راهحل کامل نیست. اصلاح فرایند ورود و خروج را به صاحب آن ارجاع دهید.
برای پیوند کنترل انبار با پذیرش سفارش، راهنمای تحویل سفارش از فروش به اجرا میتواند مرز مسئولیتها را روشن کند. شمارش دورهای زمانی مفید است که عدد تأییدشده به تصمیم عملیاتی قابل اتکا تبدیل شود. برای طراحی یک پایلوت متناسب با مکانها، نقشها و نصب اودوی سازمان، از مشاورهٔ آسیاپرداز استفاده کنید.
محدودهٔ اعتبار: مستندات و کد رسمی Odoo 19 در ۱۰ نوامبر ۲۰۲۶ بررسی شدند. نام منوها با زبان، سطح دسترسی و سفارشیسازی نصب متفاوت است. مثال و کنترلهای اجرایی آموزشیاند؛ هیچ شمارش، اصلاح موجودی، آزمون عملیاتی یا نتیجهٔ مشتری در این پژوهش اجرا یا ادعا نشده است.