با سلام خدمت اساتید گرامی
با راهنمایی دوستان بالاخره فایل اکسل محاسبه جرایم دیرکرد پرداخت مالیات رو ساختم
خواهشم از دوستان اینه که اگه مقدوره فایلی رو که بصورت دستی فرمول نویسی کردم که خیلی وقت گیر بوده کد نویسی کنند یا در موردش راهنمایی کنند و زحمت دیگه اینکه اگه ممکنه بفرمایید چطوری واسه ورودی داده هاش یوزر فرم بسازم
با تشکر فراوان
محاسبه جرایم دیرکرد عدم پرداخت مالیات در سررسید مقرر
Collapse
X
-
در فایل پیوست فعلا برای یک نمونه دیرکرد پرداخت مالیات در موعد مقرر کدنویسی انجام شده است
میتوانید تاریخهای مختلف تسویه مالیاتی برای سالهای مختلف را وارد نموده و مبلغ جریمه متعلقه را محاسبه نمایید
کد PHP:Sub TEST()
Range("C2,E2,F2").ClearContents
Range("A2") = J_TODAY(1)
If J_DIFF(Range("B2"), Range("A2")) >= 0 Then
Range("C2") = J_DIFF(Range("B2"), Range("A2"))
XX = Range("D2") * Range("C2") / 30 * Range("G2")
Range("E2") = XX
Range("F2") = Range("D2") + XX
End If
End Sub
فایل های پیوست شدهLast edited by iranweld; 2016/01/15, 21:17.Leave a comment:
-
میشه راجع به کد نویس که فرمودید کمک کنید و یکم توضیح بدیدالبته فايل من فقط يک طرح کلي بود که مي خواستم اول از همه مطمئن شوم که اصلا" محاسباتش از نظر شما صحيح است يا نه.
از لحاظ سنگيني فايل، بله با اين حجم تابع vlookup که نوشته ايد فايل سنگين خواهد شد.
چنين فايلي را براي محاسبات و اعلام مالياتها و جريمه ها به مؤدي مي خواهيد؟ يا جهت محاسبه گزارشات کلي از همه مؤديان جهت استفاده خودتان مي خواهيد؟
اگر براي مؤديان مي خواهيد، چرا براي عملکرد هر سال يک فايل جدا درست نمي کنيد؟ هر عملکرد حداکثر ظرف دو يا سه سال تسويه مي شود ديگه؟ درست است؟
فرضا" براي مؤدي "الف" يک پوشه درست مي کنيد و بعد داخل آن فايلهاي اکسل کوچيک کوچيک قرار مي دهيد به نامهاي 81 و 82 و .... و 94 و .... که هرکدام مربوط به عملکرد يک سال مي باشد سطرهاي تاريخش هم خيلي کمتر خواهد شد.
رفع اشکالات احتمالي هم خيلي بهتر انجام خواهد شد.
من خودم معمولا" در کارهايم اينگونه عمل مي کنم چون اصولا" اکسل نرم افزار مخصوص بانک اطلاعاتي نيست.
البته با کدنويسي هم مي شود يک کارهايي کرد که البته من توصيه نمي کنم.
Leave a comment:
-
تسویه حساب مالیاتی ممکن است تا 10 سال یا بیشتر هم طول بکشد،شاید اصل مالیات ظرف 2 تا 3 سال تسویه شود ولی تسویه جرایم طولانی مدت هستندالبته فايل من فقط يک طرح کلي بود که مي خواستم اول از همه مطمئن شوم که اصلا" محاسباتش از نظر شما صحيح است يا نه.
از لحاظ سنگيني فايل، بله با اين حجم تابع vlookup که نوشته ايد فايل سنگين خواهد شد.
چنين فايلي را براي محاسبات و اعلام مالياتها و جريمه ها به مؤدي مي خواهيد؟ يا جهت محاسبه گزارشات کلي از همه مؤديان جهت استفاده خودتان مي خواهيد؟
اگر براي مؤديان مي خواهيد، چرا براي عملکرد هر سال يک فايل جدا درست نمي کنيد؟ هر عملکرد حداکثر ظرف دو يا سه سال تسويه مي شود ديگه؟ درست است؟
فرضا" براي مؤدي "الف" يک پوشه درست مي کنيد و بعد داخل آن فايلهاي اکسل کوچيک کوچيک قرار مي دهيد به نامهاي 81 و 82 و .... و 94 و .... که هرکدام مربوط به عملکرد يک سال مي باشد سطرهاي تاريخش هم خيلي کمتر خواهد شد.
رفع اشکالات احتمالي هم خيلي بهتر انجام خواهد شد.
من خودم معمولا" در کارهايم اينگونه عمل مي کنم چون اصولا" اکسل نرم افزار مخصوص بانک اطلاعاتي نيست.
البته با کدنويسي هم مي شود يک کارهايي کرد که البته من توصيه نمي کنم.
گزارش مورد نظر یک گزارش داخلی است برای اطلاع اداره و مودی از میزان جرایم که هنگام تسویه حساب و درخواست مودی به وی اعلام میگردد
البته کسی تا کنون در اداره به فکر فرموله کردن محاسبات نیوفتاده و محسبات سالهاست دستی صورت میگیرد
بله به نظر من هم اینطور بهتر است.ولی فکر کنم با sumifوvlookupوتوابعی از این دست بتوان به نتیجه رسید
اینطور که به ازای هر سال 3 ستون مجزا تشکیل داد و نتایج را جداگانه برای هر سال محاسبه کرد
با تشکرLeave a comment:
-
البته فايل من فقط يک طرح کلي بود که مي خواستم اول از همه مطمئن شوم که اصلا" محاسباتش از نظر شما صحيح است يا نه.
از لحاظ سنگيني فايل، بله با اين حجم تابع vlookup که نوشته ايد فايل سنگين خواهد شد.
چنين فايلي را براي محاسبات و اعلام مالياتها و جريمه ها به مؤدي مي خواهيد؟ يا جهت محاسبه گزارشات کلي از همه مؤديان جهت استفاده خودتان مي خواهيد؟
اگر براي مؤديان مي خواهيد، چرا براي عملکرد هر سال يک فايل جدا درست نمي کنيد؟ هر عملکرد حداکثر ظرف دو يا سه سال تسويه مي شود ديگه؟ درست است؟
فرضا" براي مؤدي "الف" يک پوشه درست مي کنيد و بعد داخل آن فايلهاي اکسل کوچيک کوچيک قرار مي دهيد به نامهاي 81 و 82 و .... و 94 و .... که هرکدام مربوط به عملکرد يک سال مي باشد سطرهاي تاريخش هم خيلي کمتر خواهد شد.
رفع اشکالات احتمالي هم خيلي بهتر انجام خواهد شد.
من خودم معمولا" در کارهايم اينگونه عمل مي کنم چون اصولا" اکسل نرم افزار مخصوص بانک اطلاعاتي نيست.
البته با کدنويسي هم مي شود يک کارهايي کرد که البته من توصيه نمي کنم.
Leave a comment:
-
با تشکر از جناب پارسا و iranweld عزیز
فرمولی که جنابiranweld ارائه کردند برای محاسبه حالت موجود صحیح است ولی چنانچه اعداد و تاریخ ها تغییر کنند محاسبه اشتباه می شود.بطور مثال اگر 1 یا دو پرداختی آخر حذف شود محاسبه باقیمانده باید تا تاریخ روز انجام شود .محاسبه شما زمانی صحیح است که تمام بدهی تا تاریخ مشخصی پرداخت شود و بدهی باقی نماند!
در مورد فایل جناب پارسا و ایده جالبی که داشتند محاسبات درست انجام می شود فقط مسئله محاسبه جرایم هر سال یا عملکرد که باید بصورت جداگانه محاسبه شود. و آیا می توان ترتیبی داد که وقتی اعداد در جدول اصلی وارد می شوند با توجه به تاریخشان در جدول مد نظر خودکار قرار گیرد؟ البته اینکارو انجام دادمبا تابع vlookup
من تغییراتی در فایل شما دادم.ولی اشکال در اینه که جرایم هر سال رو جداگانه محاسبه نمیکنه.یعنی مثلا مالیات سال 92 و 93 ر با هم جمع میزنه و پرداختیشون هم همینطور به حساب هم میزاره.راهکاری در این مورد دارید که هر سال رو جداگانه محاسبه کنه و تعداد ماه های دیرکرد هر سال هم در یک سلول نشون بده
و یه مطلب دیگه به نظر شما فایل اینطوری خیلی سنگین نمیشه ؟ من از سال81 تا 95 رو توش اضافه کردم
با تشکر فراوانفایل های پیوست شدهLeave a comment:
-
با سلام
اون فرمی که ارسال کردم فقط مخصوص یک مودی با 3 عملکرد می باشد
معمولا تو هر مودی بدهی بیش از 10 عملکرد داره که هر شیت 30 ردیفه مخصوص یک مودی می باشد
در این زمینه پیشنهادتون چیه؟
اگه بخوام تو فرم با وارد کردن هر پرداخت مانده مالیات رو نسبت به عملکرد خودش تو ردیف مقابلش بیارم از چه توابعی باید استفاده کنم؟
با تشکرLeave a comment:
-
با سلام
در فایل پیوست با توجه به تاریخهای پرداختی مبلغ جریمه نسبت به روزهای دیرکرد محاسبه گردید و با اصل مالیات جمع و سپس از مبلغ پرداختی کسر گردیدفایل های پیوست شدهLeave a comment:
-
سلام،
اجازه بديد پله پله پيش بريم بلکه بهتر بتونيم مسئله را حل کنيم،
من يک فايل درست کردم و براي هر روز يک رديف درست کردم، تاريخ را هم اول هر رديف نوشتم، البته تاريخ فعلا" در محاسبات دخيل نيست و فقط براي نمايش است که بتونيم پرداختها و سررسيدها را در سطر صحيح مربوط به خودشان درج کنيم.
البته اين کار (يعني براي هر تاريخ يک سطر درست کردن) اصلا" حرفه اي نيست ولي قصد ما اين است که اول مسئله را حل کنيم و بعد راه حل را تا آنجا که مي شود ساده تر کنيم.
روش کار اين است که ما در ستون سررسيدها مبلغ هر سرسيد را (حال هرچند تا که مي خواهند باشند) در تاريخ خودش مي نويسيم.
در ستون پرداختي ها هم مبلغ پرداختي ها را به همين نحوه وارد مي کنيم.
در ستون آخر جريمه هر روز با فرمول محاسبه مي شود، فقط کافي است جريمه ها را تا تاريخ امروز با هم جمع کنيم.
البته من روي اين قسمت آخرش کار نکردم، و فقط فرمول را طبق نمونه فايل دوم شما تا تاريخ 94/10/22 نوشتم تا محاسبات فقط تا آن تاريخ انجام گردد، ولي مي شود با تابع sumif و ...روي اين قسمت هم کار کرد (البته در آن صورت بايد يک کم روي فرمت تاريخ و مسائل مربوط به تاريخ کار کرد).
اختلاف محاسبات من با فايل نمونه دوم شما هم بر سر دو سه مسئله است، اولا" که شما ماهيانه 2/5 درصد گرفته ايد و من مجبور شدم روزانه حساب کنم و در نتيجه ماههاي 30 روزه و 31 روزه اين وسط اختلاف ايجاد خواهند کرد، ثانيا" فاصله بين تاريخ پرداخت دوم و سوم را 5 ماه کامل گرفته ايد در صورتي که کمتر است! ثالثا" فاصله بين پرداخت سوم تا امروز را 9/73 ماه گرفته ايد در صورتي که 10/73 ماه است. در آخر هم سالهاي کبيسه را بايد مد نظر داشت (يادم نيست پارسال کبيسه بوده يا خير)
حالا شما يک نگاه به فايل بياندازيد ببينيد اصلا" درست کار مي کند؟
با توجه به اينکه شما محاسبات زياد پيچيده اي نمي خواهيد انجام دهيد شايد همين روش غيرحرفه اي هم کارساز باشد!فایل های پیوست شدهLast edited by Ali Parsaei; 2016/01/14, 19:03.Leave a comment:
-
با سلام
به نظر من ساختار فایل شما با چیزی که شما میخواید یک مقدار پیچیده شده و محاسبه با وجود 10 شرط اون هم تو این فرم اطلاعاتی کاری شدنی ولی مشکل و غیر حرفه ای هست.
اگر بتونید با یک کد واحد هر مودی رو تو یک فرمت مثل فرمت آخری که طراحی کردید فراخونی کنید و اطلاعاتش رو از یک لیست جدا بیارید راحت میشه هر کدوم رو با توجه به تاریخ اونها محاسبه کنید.
اگر دقت کنید شما برای ی مودی یک تاریخ برای یک مودی سه تاریخ دارید که تاریخ اونها هم فرمت شمسی هست شرایط شما به تاریخ به عنوان یک سل اصلی رجوع میکنه که خوب زیاد با توابع شمسی ساز هم نمیشه کاری براش کرد.ولی اگر ساختار ساده و کوچیک بشه راحت تر میشه به نتیجه مطلوب رسید.Leave a comment:
-
سلام دوست عزیز
محاسباتی که انجام دادید (به جز سلول p9 که من یکم تغییرش دادم)برای جدول فعلی درست بود.ولی حالت کلی برای هر حالتی را در نظر نمیگیرد.بعنوان مثال فرض کنید کل 7000000 را قبل از سررسید با پرداخت ردیف اول انجام دهد بنابر این جریمه باید صفر شود که اینطور نمی شود.یا اگه دو پرداخت اول قبل از سررسید باشد محاسبه نادرست می شود.چون در این صورت باید دو پرداخت اول را از اصل کم کرده و نسبت به مانده جریمه را محاسبه کند. یا اگه پرداخت سوم 5000000 باشه دیرکرد تا تاریخ آخرین پرداخت یعنی 93/12/11 باید محاسبه بشه که فرمول شما جواب نمیده.دو فرمول آخرتان ابتکار خیلی جالبی بود ولی من هر کاری کردم نتونستم تو نمونه واقعی پیاده کنم.چون نمونه واقعی یه شیت با 30 ردیفه که چندین سال در آن وارد می شود. نمونش رو پیوست کردم اگه میشه یه نگاهی بهش بندازید
کلا محاسبه جریمه نسبت به مانده می باشد.این کمکی میکنه؟
شدیدا نیازمند کمک دوستان هستم.با تشکرفایل های پیوست شدهLeave a comment:
-
با سلام
دوست عزیز من بر اساس شروطی که نوشتید چند مورد از اونها رو انجام دادم با یک نمونه واقعی امتحان کنید اگر درست بود، باقی رو هم مثل همین بنویسید.فایل های پیوست شدهLeave a comment:
-
فکر کنم مشکل شما در پیدا کردن اختلاف تاریخهایی که دارید می باشد . در یک ستون جداگانه اختلاف تاریخ بین زمان پرداخت
و تاریخ زمان محاسبه یا هرتاریخی که می خواهید را با استفاده از تابع j_diff براساس روز بدست اورده و در فرمول قرار دهید94/10/23Leave a comment:
-
با سلام و تشکر
خیر پرداخت قبل از سررسید به معنی پرداخت علی الحساب می باشد یعنی معمولا مودی بدون اطلاع از مالیات قطعی همزمان با تسلیم اطهارنامه مالیاتی مبلغی به عنوان علی الحساب پرداخت می نماید که بعد از انجام فرآیند رسیدگی رقم قطعی مالیات به وی ابلاغ می شود.متاسفانه مشکل محاسبه نیز در اینجاست که تعداد پرداخت ها و تاریخ پرداخت ها به دلخواه مودی و نامشخص است.و جریمه دیرکرد ماهیانه 2.5درصد نیز به مانده مالیات تعلق میگیرد.یعنی به پرداخت بعد از سررسید که بطور کلی 4 حالت متصور است که در فایل پیوست بیان کردم.ولی بطور معمول برای هر سال حداکثر 6 پرداخت صورت میگیرد.
پیشاپیش از پاسخ های شما تشکر میکنم
فایل های پیوست شدهLeave a comment:
Leave a comment: