# Native Code > برنامه نویسی در Delphi > بانک های اطلاعاتی در Delphi >  نحوه محاسبه سود

## vahid64

با سلام
من دارم یه برنامه می نویسم که در آن یه سری وسیله به صورت نقد و چک خریداری میشه و به همین شکل هم به فروش میرسه یعنی نقد و اقساط حالا صاحبش می خواد که سود خودش رو به صورت ماهانه بهش نشون بدم . اگه فرمول محاسبه سود در حالت نقد و اقساط رو بلدید به من بگید ؟ پیشاپیش از همتون ممنونم  :قلب:

----------


## champion

دوست عزیز سلام
من متوجه مشکل شما نمیشم محاسبه سود کل یا محاسبه سود ماهانه کودومش ؟ خب سود یعنی قیمت خرید منهای قیمت فروش - هزینه های جاری حالا هر چی بمونه سود هست اگه محاسبه سود ماهانه مد نظر شما هست اونوقت باید چکهایی که نقد شده اند رو در نظر بگیری ولی به طور کلی میتونی به نحوه گزارش سود و زیان توی سیستمهای حسابداری مراجعه و روالش رو دنبال کنی اگه به نتیجه نرسیدی بگو تا حتما برات توضیح بدم در ضمن لطفا بگو چه سیستمی داری مینویسی ؟ شاید بهتر بتونم راهنماییت کنم

----------


## mzjahromi

اگر یه دوره رو یک ماه در نظر بگیریم
سود ناخالص=کالای فروش رفته در طول دوره-(موجودی ابتدای دوره+کالای خریداری شده در طول دوره-موجودی پایان دوره)
حالا اگه هزینه ها رو هم ازش کم کنید میشه سود خالص

----------


## ab_ba

محاسبه سود و زیان کالا و موجودی کالا به سه روش میانگین ، LIFO و FIFO
در مراکز تجاری بازرگانی معمولا کالاهایی خریداری شده و سپس با درصدی سود فروخته میشود که مجموع این سود ها در کل تشکیل سود یا زیان آن مرکز را میدهد.
برای محاسبه سود یا زیان کالا بدیهی است که باید قیمت فروش آن کالا را منهای قیمت خرید آن کالا کنیم، که برای اینکار لازم است که قیمت خرید کالا (قیمت تمام شده) را محاسبه کنیم.

سود یا زیان  = قیمت فروش کالا – قیمت خرید آن کالا

 مشکل موقعی پیش می آید که ما تمام کالاهای خریداری شده را نفروخته باشیم و تعدادی از آن در انبار موجود باشد. بدیهی است باید ابتدا قیمت کالاهای موجود را محاسبه کنیم که در آن صورت خرید کل منهای قیمت موجودی کالا برابر با قیمت تمام شده کالاهایی که فروخته ایم میشود.

قیمت تمام شده کالای فروخته شده = خرید کل – قیمت موجودی کالا
سود یا زیان  = قیمت فروش کالا – (خرید کل – قیمت موجودی کالا)

اما برای محاسبه قیمت موجودی کالا چه کنیم، معمولا در طی دوره مالی از یک کالا چندین بار و با قیمتهای متفاوت خریداری میشود، پس کالاهایی که موجود میباشد چقدر ارزش دارند.
در علم حسابداری برای تعیین قیمت موجودی کالا روشهای زیادی وجود دارد که سه روش از این روشها کاراتر است و به عنوان روش های استاندارد به کار میرود، که در اینجا این سه روش و نحوه محاسبه و مزایا و معایب هر روش با مثال بیان میشود.
فرض کنید یک مرکز تجاری از یک کالا 5 نوبت خرید داشته و در هر نوبت، آن کالا را با قیمت مختلفی نسبت به قبل خریداری کرده است، کل کالاهای خریداری شده 58 عدد که در انتهای دوره مالی  مشخص میشود از این تعداد 19 عدد باقی مانده یعنی 39 عدد فروخته شده، حال میخواهیم قیمت این 19 عدد کالا را مشخص کنیم. 
جمع	نوبت پنجم	نوبت چهرم	نوبت سوم	نوبت دوم	نوبت اول	 
58	10	5	16	12	15	تعداد
	6000	5700	6200	6300	5500	فی
345800	60000	28500	99200	75600	82500	قیمت کل

روش میانگین:
در این روش میانگین قیمت خرید کالاها محاسبه میشود یعنی خریدکل 345800  تقسیم بر تعداد خریداری شده 58 میشود و قیمت متوسط خرید کالا محاسبه میشود که برابر است با 5962
که اگر این عدد در 19 ضرب شود موجودی کالا را 113278 محاسبه می کند.


روش FIFO :
در این روش (که مختصر عبارت First In First Out یا اولین صادره از اولین وارده است) فرض میشود که کالاها به همان ترتیبی که خریداری شده اند فروخته میشود یعنی اولین کالایی که فروخته شده از خرید نوبت اول بوده است پس این 19 کالایی که موجود است از آخرین خرید ها یعنی 10 کالای نوبت پنجم ، 5 کالای نوبت چهارم ، و 4 کالا از نوبت سوم است و بقیه کالا ها فروش رفته که بدین ترتیب قیمت خرید کالاها مشخص  میگردد.
10 کالا با قیمت 6000 و 5 کالا با قیمت 5700 و 4 کالا باقیمت 6200 که جمع آن موجودی کالا را 113300 محاسبه میکند.

روش LIFO :
در این روش (که مختصر عبارت Last In First Out یا اولین صادره از آخرین وارده است ) بر عکس روش FIFO فرض میشود که کالاها برعکس ترتیب خرید فروخته میشود یعنی اولین کالایی که فروخته شده از خرید نوبت پنجم بوده پس این 19 کالایی که موجود است از اولین خریدها یعنی 15 کالای نوبت اول و 4 کالا از نوبت دوم است و بقیه کالا ها فروش رفته که بدین ترتیب قیمت خرید کالاها مشخص  میگردد.
15 کالا با قیمت 5500 و 4 کالا باقیمت 6300 که جمع آن موجودی کالا را 107700 محاسبه میکند.
مشاهده میشود که این روشها نتایج متفاوتی در محاسبه موجودی کالا و به تبع آن سود و زیان کالا میدهند.
اینکه از کدام روش استفاده کنید بستگی به سیاست مالی و نوع کالاهای شما دارد. این برنامه در گزارشات مربوط، سود و زیان یا موجودی کالا را به سه روش محاسبه کرده و نمایش می دهد و هر کس می تواند بسته به اختیار خود و با توجه به نوع شغل خود و سیاست مالی یکی از این سه روش را انتخاب کند.

----------


## vahid64

با سلام 
دوستان از پاسخ هاتون بسیار ممنون و سپاسگزارم ولی گویا نتونستم منظورمو خوب بیان کنم روشهای محاسبه سود که هیچی روش هاتون رو کاملاً قبول دارم به خصوص آقای ab_ba که کامل توضیح دادن ولی بحث من سر چک هاست یعنی محصول که فروخته میشه امکان داره فرضاً 5 ماهه(طی 5 چک) فروخته شه و سود پول برای این قسط هم محاسبه میشه و اولش نقدی دریافت میشه حالا شما برای خرید کالا هم همچین چیزی رو فرض کنید.
مشکل من با محاسبه سود اینه که این محصولاتی که قسطی به فروش(یا خرید) رفتن که هنوز پولشون کامل پرداخت نشده اینا رو چه جوری محاسبه کنم ؟؟؟  :متفکر:

----------


## Saeid59_m

این چیزی که شما می فرمائید دیگه اسمش سود نیست . اسمش موجودی صندوقه
همونطوری که دوستان گفتند سود حاصل از خرید و فروش ، سود ناخالص و اگر هزینه ها رو هم ازش کم کنی خالص می شه . پس بنابراین اگه یه چک برای 1 سال دیگه هم داشته باشی جزو سود حساب می شه . مگه اینکه زمان سررسید برگه بخوره .

----------


## Batman

با سلام
میتونی یه فیلد مثلا به اسم status بذاری و تا زمانیکه چک یا پول وصول نشده وضعیت فیلد مثلا در حالت (ثبت شد) باشه و زمانیکه پول یا چک دریافت شد وضعیتش رو به مثلا (وصول شد) update کن
موفق باشید

----------


## fahimi

من برای این کار یک تابع نوشته ام 
 function sod(total,qty,darsad:string):string;
   var
   x1,x2,x3,x4,x5:real;

   begin
    x1:=strtofloat(total);
    x2:=strtofloat(qty);
    x3:=strtofloat(darsad);
    x4:=(x1*x2)*x3/100;
    x5:=int((x1+x4)/x2);
    Result:=floattostr(x5);
   end;
total مبلغ چک
qty تعداد ماه  
darsad در سود

----------


## moohssenn

ببین دوست عزیز  طبق استانداردهای حسابداری 2 تا  روش حسابداری  وجود داره . 
1 - روش حسابداری نقدی 
2 - روش حسابداری تعهدی . 
برنامه شما  ( محاسبه سود ) خیلی بستگی به روش حسابداری که اون موسسه ازش استفاده میکنه داره . 
در روش نقدی تا زمانی که وجه نقدی دریافت نشه و یا هزینه ای پرداخت نشود اونو ثبت نمیکنن و به حسابها نمی آرن . این روش  در کشورهای مختلفی از جمله انگلیس استفاده میشه . 
اما روش حسابداری تعهدی , تمامی تراکنشهای مالی مربوطه باید ثبت بشه . مثلا اگه یه چک برای 6 ماه دیگه دارید باید اونو جزء دارائیهاتون به حساب بیاورید و در صورتهای مالی این حسابو جزء حسابهای دریافتی به حساب بیارید . توی کشور ما اکثرا ( تاکید میکنم اکثرا نه همه ) از روش تعهدی استفاده میکنند. 
در مورد روش های Fifo و Lifo و میانگین که دوستمون ab_ba گفتن باید عرض کنم که اینا روشهای محاسبه سود نیست . روشهای انبارداری هستش که مصلما روی محاسبه سود تاثیر گذار هستند اما فقط جهت اطلاعات عمومیتون بگم که اینا سه تا روش رایجه و روشهای خیلی زیاد دیگه ای وجود داره .
اما شما میتونید با دسته بندی حسابهاتون به حسابهای دریافتنی ( یعنی حسابهایی که قراره در آینده دریافت بشه ) و حسابهای نقدتون ( شامل صندوق ها و بانکها ) و حسابهای پرداختنی و هزینه ها به راحتی با هر دو روشی که ذکر کردم به محاسبه سود و زیان بپردازید . 
روش کلی اونو هم دوستان منجمله آقای mzjahromi اشاره کردند . 
من صورت سود و زیان استاندارد حسابداری صنعتی براتون اینجا میزارم : 

فروش ناخالص 
- برگشت از فروش 
- تخفیفات نقدی 
= فروش خالص 
- قیمت تمام شده کالای فروش رفته ( شامل هزینه های خرید , حقوق پرسنل , ضایعات , هزینهای حمل کالا و کلا هر چی که مستقیما با قیمت تمام شده در ارتباطه ) 
= سود ناخالص 
- هزینه های اداری 
- هزینه های فروش ( شامل تبلیغات , حمل و نقل و ....) 
+- سایر درآمدها و یا هزینه ها ( اگه درآمد باشه اضافه و اگه هزینه باشه کم میشه ) 
= سود قبل از پرداخت مالیات 
*( 1 -  درصد مالیات ) ( متفاوته ولی 20 تا 25 میشه ) 
= سود خالص 
موفق باشید

----------


## vahid64

از توضیحات بسیار کاملتون ممنون هستم واقعاً دستتون درد نکنه فکر کنم با این اطلاعات مشکل من حل بشه به هر حال اگه بازم مشکلی پیش اومد همین جا مطرح میکنم از همتون ممنون

----------


## ab_ba

دوست عزیزmoohssenn:
من عرض کردم محاسبه  موجودی کالا به سه روش میانگین ، LIFO و FIFO
نه محاسبه سود 
با تشکر

----------


## dkhatibi

به هر حال چرا خودتونو اذیت می کنید. وظیفه ی شما نوشتن برنام است. محاسبه ی سود و فرمول ان باید در اختیار شما باشد. شاید سود قطعی اون شرکت با فرمول دلخواهی دیگر محاسبه شود. چون سود هر قطعه ممکن است متفائت بشد.

----------


## Valadi

در این موضوع  اصولا یک کارشناس امور مالی باید فرمول های محاسبه خالص و ناخالص و تراز و .... را خود شرکت سفارش دهنده به برنامه نویس دهد و برنامه نویس براساس داده ها برنامه را بنویسید نه اینکه برنامه نویس دنبال فرمول محاسبه سود باشد !!!!!!!!!!!
ضمنا فرمول محاسبه در هر جا و همه کار ثابت نیست و در هر کار شاخصه های مجزایی دارد و براساس آن شاخصه ها می توان فرمول محاسبه سود را بدست آورد 


موفق و موید باشی

----------


## SYNDROME

با سلام



> دوست عزیزmoohssenn:
> من عرض کردم محاسبه موجودی کالا به سه روش میانگین ، LIFO و FIFO
> نه محاسبه سود 
> با تشکر


بهتر بود این سوال را در یک تاپیک جداگانه ایجاد می کردی.
روش LIFO و FIFI و میانگین.(در روشهای فوق فقط در مورد یک کالا بحث می شود)
روش میانگین:
بیشترین کاربرد را در بازار دارد و شما میانگین قیمت کل کالاهای خریداری شده را حساب کرده .
روش FIFO:
تعداد کالاهای فروخته شده را به دست آورده و از فاکتورهای اول را نگاه می کنیم و قیمت میانگین خرید اول را حساب می کنیم.
اگر شما الان 10 تا مداد بفروشید قیمت گذاری از 10 کالای اول محاسبه و اگر 20 عدد مداد بفروشید قیمت میانگبن 20 مداد بعد از 10 مداد اول ملاک است.
روش LIFO:
دقیقا مانند روش اول بوده با این تفاوت که از انتها محاسبه می شود
موفق باشید

----------


## vahid64

> به هر حال چرا خودتونو اذیت می کنید. وظیفه ی شما نوشتن برنام است. محاسبه ی سود و فرمول ان باید در اختیار شما باشد.


به نظر من کاملاً حق با شماست اصلاً یک برنامه نویس که نباید از حسابداری سر در بیاره که ما فقط باید کار خودمونو بکنیم(کد نویسی) این مورد هم مجبور شدم وگرنه ...

----------


## SYNDROME

با سلام



> به نظر من کاملاً حق با شماست اصلاً یک برنامه نویس که نباید از حسابداری سر در بیاره که ما فقط باید کار خودمونو بکنیم(کد نویسی) این مورد هم مجبور شدم وگرنه ...


با احترام
ولی فکر نکنم اینجوری باشد.
یک برنامه نویس تا موضوعی را خوب متوجه نشود نمی تواند برنامه را با کیفیت بالا بنویسد.
حداقل باید بداند این قسمت برنامه برای چه کار استفاده می شود تا خوب بتواند رابطه ها را درک کند.
موفق باشید

----------


## ab_ba

احتمالا سوال شما مربوط به حسابداری تورمی میشه
من حالا دنبال یک سری مطالب برای شما هستم

----------


## moohssenn

> حسابداری تورمی


میشه لطف کنید و بفرمائید یعنی چی ؟

----------


## vahid64

> یک برنامه نویس تا موضوعی را خوب متوجه نشود نمی تواند برنامه را با کیفیت بالا بنویسد.
> حداقل باید بداند این قسمت برنامه برای چه کار استفاده می شود تا خوب بتواند رابطه ها را درک کند.


syndrom عزیز شما درست می فرمایید درک رابطه ها رو من هم قبول دارم ولی اینکه من بیام و نحوه محاسبه سود اون شرکت رو خودم سامان بدم و برای این کار مجبور بشم یرم دنبال حسابداری و این حرفا... زیاد جالب نیست یا حداقل با روحیات من سازگار نیست ;)




> احتمالا سوال شما مربوط به حسابداری تورمی میشه
> من حالا دنبال یک سری مطالب برای شما هستم


بی صبرانه منتظر مطلب جدیدی از سوی شما هستم مطمئن هستم مثل مطلب قبلی شما پر محتوا خواهد بود  :لبخند:

----------


## ab_ba

شما میتوانید به کتاب حسابداری میانه 2 تالیف سید باقر جلالی چیمه انتشارات ابجد فصل شش صفحه 575 حسابداری تغییر سطح قیمتها و ارزشهای جاری (حسابداری تورمی)
 و اثرات تورم بر سود و زیان مراجعه فرمایید
اگر وقت کردم اسکن میکنم و میفرستم

----------


## SYNDROME

با سلام



> شما میتوانید به کتاب حسابداری میانه 2 تالیف سید باقر جلالی چیمه انتشارات ابجد فصل شش صفحه 575 حسابداری تغییر سطح قیمتها و ارزشهای جاری (حسابداری تورمی)
> و اثرات تورم بر سود و زیان مراجعه فرمایید
> اگر وقت کردم اسکن میکنم و میفرستم


کاملا حرف شما را هم قبول دارم.
ولی اگر از یک حسابدار هم بتوانید کمک بگیرید مطمئن باشید جواب خیلی بهتری خواهید گرفت.
موفق باشید

----------


## ab_ba

حسابدارها هم از این کتابها استفاده میکنند

----------


## SYNDROME

با سلام



> حسابدارها هم از این کتابها استفاده میکنند


کاملا حرف شما درست است.
ولی چیزی به عنوان فوت کوزگری یا همان تجربه خودمان وجود دارد که در هیچ کتابی پیدا نمی شود.
موفق باشید.

----------


## ab_ba

ببینید اینکه شما پولتان را نقد میگیرید چک میگیرید اصلا پولتان سوخت میشه اینها به سود شما که سود ناخالص گفته میشه ربطی نداری بعدا شما بر اساس فرمول هزینه ای بابت مثلا دیرشدن چک یا سوخت پول وارد سیستم حسابداری میکنید که در کل(انتهای دوره مالی) از سود کم میکنه

----------


## DoDoklak

شاید کمی دیر باشه...من از روش میانگین متحرک برای محاسبه سود ناخالص استفاده میکنم.من تو محاسبه سود وزیان ناخالص با محدودیت زمانی دچار مشکل هستم البته فرمول رو میدونم ولی تو محاسبه مانده آخر دوره وقتی که محدوده زمانی مثلا یک ماه اخیر گرفته بشه دچار مشکل میشم.اگر محدودیت زمانی گرفته نشه مشکلی نیست.فرض کنید کالای x موجودی اون برابر 100 و ارزشش 2،000،000 هستش و این اطلاعات حاصل یک سال است اگر کاربر بخواد سود یک ماه آخر سال رو بگیره خوب تو خرید و فروش مشخصه ولی حالا که موجودی به شکل فوق هست تو یک ماهی که میخواداز اطلاعات گزارش بگیره مانده آخر دوره باید چطور محاسبه بشه.لطفا کمک کنید خیلی ضروریه.اگر راهنمایی بیشتر خواستید بگید بگم

----------


## alireza1514

سلام 
*کمک فوری لازم دارم خیلی مهمه*
باتشکر از moohssenn عزیز اما من به یه مشکل برخوردم و اونم اینه که در محاسبه سود به روش fifo همه چی درست پیش میره اما زمانی که به فاکتور برگشتی ها (برگشت از فروش ،برگشت از خرید) میرسه. اونجا قاط میزنم.
اطلاعات به این صورت در بانک ثبت می شود که فاکتور برگشتی مشخص نیست که مربوط به کدام فاکتور فروش میباشد که متناسب با فروش تفاوت قیمت ها مشخص شده و سود یا زیان تععین گردد
به فرض مثالکالایی در 29/02 فروخته میشود. و در تاریخ 2/03 از طرف مشتری تعدادی از آن عودت داده می شود در اینجا با الگوریتم fifo چیکار می توان کرد.
من مثل فاکتور فروش برای برگشتی یک سودی بدست می آید چون بیشتر از قیمت خرید برگشت داده شده من این سود را به عنوان ضرر از سود کل کم میکنم.از طرفی نیز کالای برگشتی را با همان قیمت برگشت داده شده به انبارم اضافه میکنم. آیا این روش درست است.؟؟؟اگر نه چه کنم؟؟؟ توجه به این مسئله هم مهم است که در برنامه اینکه  اقلام فاکتور برگشت از فروش مربوط به کدام فاکتور فروشاست ثبت نمی شود.
البته با فاکتور برگشت از خرید هم مشکل دارم لطفا یه راه پیش پای من بگذارید؟؟ در این 2 مورد چیکار کنم؟؟؟؟؟؟؟

----------


## alireza1514

استادان عزیز چی شد. ما یک سوال پرسیدیم ها کسی نیست جواب ما رو بده...

----------

