فروش را هر مدیری در پایان روز می‌بیند؛ بهای تمام‌شده را خیلی‌ها نمی‌بینند، چون محاسبه‌اش یک مرحله‌ی اضافه می‌خواهد. بدون آن عدد، چیزی که روی گزارش «سود» نوشته شده در واقع فقط گردش فروش است — ممکن است زیر آن، سود واقعی نصف همین رقم یا حتی منفی باشد. مشکل اینجا این نیست که بهای تمام‌شده را بلد نیستیم؛ مشکل این است که قیمت خرید یک کالا هر بار فرق می‌کند، و باید یک قاعده‌ی ثابت برای جمع‌کردن این قیمت‌های مختلف در یک عدد واحد وجود داشته باشد.

چرا «آخرین قیمت خرید» کافی نیست

راه ساده‌ای که خیلی‌ها دستی انجام می‌دهند این است: هر وقت کالایی فروخته می‌شود، بهایش را برابر آخرین قیمت خریدی که ثبت شده بگذاریم. این روش ساده است ولی غلط — چون در انبار همیشه مخلوطی از خریدهای قدیم و جدید نشسته است. اگر قیمت خرید این هفته بالا رفته باشد، گذاشتن همان قیمت روی کالایی که ماه پیش با قیمت پایین‌تر خریداری شده، سود را کمتر از واقع نشان می‌دهد؛ اگر قیمت پایین آمده باشد، برعکس. در هیچ حالت، این عدد بازتاب واقعی آن چیزی نیست که برای کالای موجود در انبار پرداخت شده.

میانگین موزون چطور کار می‌کند

روشی که هم منطقی است و هم سازمان امور مالیاتی آن را می‌پذیرد، میانگین موزون است. قاعده‌اش یک فرمول ثابت است که هر بار خرید جدید اجرا می‌شود:

میانگین جدید(موجودی قبلی × میانگین قبلی) + (مقدار خرید × قیمت خرید)÷ (موجودی قبلی + مقدار خرید)

یعنی میانگین قیمت فقط موقع خرید تغییر می‌کند، نه موقع فروش. وقتی کالایی فروخته می‌شود، همان میانگینِ لحظه‌ی فروش — بدون هیچ تغییری — به‌عنوان بهای تمام‌شده‌ی آن فروش ثبت می‌شود.

یک مثال گام‌به‌گام

فرض کنید یک قلم کالا در انبار مرکزی این مسیر را طی می‌کند (رقم‌ها فرضی‌اند، فقط برای نشان‌دادن محاسبه):

موجودی اول دوره: ۱۰۰ عدد با میانگین ۸۰٬۰۰۰ ریالموجودی: ۱۰۰میانگین: ۸۰٬۰۰۰
خرید جدید: ۵۰ عدد با قیمت ۹۲٬۰۰۰ ریالموجودی: ۱۵۰میانگین: ۸۴٬۰۰۰
فروش: ۶۰ عدد با همان میانگین ۸۴٬۰۰۰موجودی: ۹۰میانگین: ۸۴٬۰۰۰
خرید بعدی: ۴۰ عدد با قیمت ۷۸٬۰۰۰ ریالموجودی: ۱۳۰میانگین: ۸۲٬۱۵۴

میانگین بعد از خرید دوم این‌طور به دست می‌آید: (۱۰۰ × ۸۰٬۰۰۰) + (۵۰ × ۹۲٬۰۰۰) = ۱۲٬۶۰۰٬۰۰۰، تقسیم بر ۱۵۰ عدد، می‌شود ۸۴٬۰۰۰. فروشِ ۶۰ عدد بعدی، چه قبل‌اش قیمت ۸۰٬۰۰۰ بوده و چه نبوده، دقیقاً با همین ۸۴٬۰۰۰ بهای تمام‌شده‌اش ثبت می‌شود. خرید سوم که ارزان‌تر بوده، میانگین را دوباره پایین می‌آورد. نکته‌ی مهم این است که هیچ‌کدام از این مراحل به دخالت دستی نیاز ندارد — فقط باید هر رسید خرید با قیمت واقعی‌اش، در همان روز، ثبت شده باشد.

چرا ترتیب ثبت رسیدها اهمیت دارد

فرمول بالا فقط وقتی درست کار می‌کند که رسید خرید قبل از فروش بعدی ثبت شده باشد. اگر رسید خرید دو هفته دیر وارد سیستم شود، فروش‌هایی که در این فاصله اتفاق افتاده‌اند با میانگین قدیمی — و اشتباه — حساب شده‌اند. وقتی رسید بالاخره می‌رسد، میانگین از آن لحظه به بعد درست می‌شود، ولی سود همان دو هفته دیگر قابل اصلاح خودکار نیست؛ باید با سند اصلاحی برگردد. این دقیقاً همان دلیلی است که ثبت رسید انبار باید همان روز ورود کالا اتفاق بیفتد، نه در پایان هفته که «وقت بیشتری» هست.

وقتی انبار یکی نیست: موجودی خودرو

در یک شرکت پخش، کالا فقط در یک انبار نمی‌نشیند؛ هر خودروی بازاریاب هم یک انبار کوچک متحرک است. اگر موجودی هر خودرو جدا از انبار مرکزی دیده شود — که برای مغایرت‌گیری دقیق لازم است — هر خودرو باید میانگین قیمت مستقل خودش را داشته باشد. دلیلش ساده است: ممکن است خودروی الف کالایی را از بارگیری دو هفته پیش با میانگین پایین‌تر داشته باشد، و خودروی ب همان کالا را از بارگیری تازه‌تر با میانگین بالاتر. اگر این دو را با یک میانگین یکسان حساب کنید، بهای تمام‌شده‌ی فروش هر خودرو دیگر واقعی نیست.

وقتی کالا از انبار مرکزی به یک خودرو بارگیری می‌شود، میانگین مقصد (همان خودرو) باید دوباره با فرمول بالا محاسبه شود — نه اینکه میانگین مبدا بدون تغییر در مقصد کپی شود، چون معمولاً موجودی قبلی خودرو خودش میانگین دیگری دارد.

اشتباه‌هایی که میانگین را خراب می‌کنند

  • ثبت رسید خرید بدون قیمت دقیق — اگر رسید فقط مقدار را ثبت کند و قیمت را «بعداً» بگذارند، هر فروشی که در این فاصله اتفاق بیفتد با میانگین نادرست بسته می‌شود.
  • حذف و دوباره‌نویسی رسید اشتباه — درست مثل فاکتور فروش، رسید خریدِ غلط هم باید با سند برگشتی اصلاح شود، نه با ویرایش مستقیم؛ وگرنه میانگینِ تاریخی هم به‌هم می‌ریزد.
  • نادیده‌گرفتن هزینه‌های جانبی خرید — کرایه‌ی حمل یا تخلیه که به بهای واقعی کالا اضافه می‌شود، اگر در قیمت رسید لحاظ نشود، میانگین را پایین‌تر از واقعیت نشان می‌دهد.

اگر این سه مورد رعایت شده باشند، بهای تمام‌شده‌ای که روی گزارش سود و زیان می‌بینید، یک محاسبه‌ی خودکار و قابل‌دفاع است — نه تخمینی که ماه بعد باید دوباره با شمارش انبار تطبیقش داد.