محاسبه جرایم دیرکرد عدم پرداخت مالیات در سررسید مقرر

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts

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

    Leave a comment:


  • iranweld
    پاسخ داد
    در فایل پیوست فعلا برای یک نمونه دیرکرد پرداخت مالیات در موعد مقرر کدنویسی انجام شده است

    میتوانید تاریخهای مختلف تسویه مالیاتی برای سالهای مختلف را وارد نموده و مبلغ جریمه متعلقه را محاسبه نمایید

    کد 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:


  • cooran
    پاسخ داد
    نوشته اصلی توسط علي پارسا
    البته فايل من فقط يک طرح کلي بود که مي خواستم اول از همه مطمئن شوم که اصلا" محاسباتش از نظر شما صحيح است يا نه.
    از لحاظ سنگيني فايل، بله با اين حجم تابع vlookup که نوشته ايد فايل سنگين خواهد شد.
    چنين فايلي را براي محاسبات و اعلام مالياتها و جريمه ها به مؤدي مي خواهيد؟ يا جهت محاسبه گزارشات کلي از همه مؤديان جهت استفاده خودتان مي خواهيد؟
    اگر براي مؤديان مي خواهيد، چرا براي عملکرد هر سال يک فايل جدا درست نمي کنيد؟ هر عملکرد حداکثر ظرف دو يا سه سال تسويه مي شود ديگه؟ درست است؟
    فرضا" براي مؤدي "الف" يک پوشه درست مي کنيد و بعد داخل آن فايلهاي اکسل کوچيک کوچيک قرار مي دهيد به نامهاي 81 و 82 و .... و 94 و .... که هرکدام مربوط به عملکرد يک سال مي باشد سطرهاي تاريخش هم خيلي کمتر خواهد شد.
    رفع اشکالات احتمالي هم خيلي بهتر انجام خواهد شد.
    من خودم معمولا" در کارهايم اينگونه عمل مي کنم چون اصولا" اکسل نرم افزار مخصوص بانک اطلاعاتي نيست.
    البته با کدنويسي هم مي شود يک کارهايي کرد که البته من توصيه نمي کنم.
    میشه راجع به کد نویس که فرمودید کمک کنید و یکم توضیح بدید

    Leave a comment:


  • cooran
    پاسخ داد
    نوشته اصلی توسط علي پارسا
    البته فايل من فقط يک طرح کلي بود که مي خواستم اول از همه مطمئن شوم که اصلا" محاسباتش از نظر شما صحيح است يا نه.
    از لحاظ سنگيني فايل، بله با اين حجم تابع vlookup که نوشته ايد فايل سنگين خواهد شد.
    چنين فايلي را براي محاسبات و اعلام مالياتها و جريمه ها به مؤدي مي خواهيد؟ يا جهت محاسبه گزارشات کلي از همه مؤديان جهت استفاده خودتان مي خواهيد؟
    اگر براي مؤديان مي خواهيد، چرا براي عملکرد هر سال يک فايل جدا درست نمي کنيد؟ هر عملکرد حداکثر ظرف دو يا سه سال تسويه مي شود ديگه؟ درست است؟
    فرضا" براي مؤدي "الف" يک پوشه درست مي کنيد و بعد داخل آن فايلهاي اکسل کوچيک کوچيک قرار مي دهيد به نامهاي 81 و 82 و .... و 94 و .... که هرکدام مربوط به عملکرد يک سال مي باشد سطرهاي تاريخش هم خيلي کمتر خواهد شد.
    رفع اشکالات احتمالي هم خيلي بهتر انجام خواهد شد.
    من خودم معمولا" در کارهايم اينگونه عمل مي کنم چون اصولا" اکسل نرم افزار مخصوص بانک اطلاعاتي نيست.
    البته با کدنويسي هم مي شود يک کارهايي کرد که البته من توصيه نمي کنم.
    تسویه حساب مالیاتی ممکن است تا 10 سال یا بیشتر هم طول بکشد،شاید اصل مالیات ظرف 2 تا 3 سال تسویه شود ولی تسویه جرایم طولانی مدت هستند
    گزارش مورد نظر یک گزارش داخلی است برای اطلاع اداره و مودی از میزان جرایم که هنگام تسویه حساب و درخواست مودی به وی اعلام میگردد
    البته کسی تا کنون در اداره به فکر فرموله کردن محاسبات نیوفتاده و محسبات سالهاست دستی صورت میگیرد
    بله به نظر من هم اینطور بهتر است.ولی فکر کنم با sumifوvlookupوتوابعی از این دست بتوان به نتیجه رسید
    اینطور که به ازای هر سال 3 ستون مجزا تشکیل داد و نتایج را جداگانه برای هر سال محاسبه کرد
    با تشکر

    Leave a comment:


  • Ali Parsaei
    پاسخ داد
    البته فايل من فقط يک طرح کلي بود که مي خواستم اول از همه مطمئن شوم که اصلا" محاسباتش از نظر شما صحيح است يا نه.
    از لحاظ سنگيني فايل، بله با اين حجم تابع vlookup که نوشته ايد فايل سنگين خواهد شد.
    چنين فايلي را براي محاسبات و اعلام مالياتها و جريمه ها به مؤدي مي خواهيد؟ يا جهت محاسبه گزارشات کلي از همه مؤديان جهت استفاده خودتان مي خواهيد؟
    اگر براي مؤديان مي خواهيد، چرا براي عملکرد هر سال يک فايل جدا درست نمي کنيد؟ هر عملکرد حداکثر ظرف دو يا سه سال تسويه مي شود ديگه؟ درست است؟
    فرضا" براي مؤدي "الف" يک پوشه درست مي کنيد و بعد داخل آن فايلهاي اکسل کوچيک کوچيک قرار مي دهيد به نامهاي 81 و 82 و .... و 94 و .... که هرکدام مربوط به عملکرد يک سال مي باشد سطرهاي تاريخش هم خيلي کمتر خواهد شد.
    رفع اشکالات احتمالي هم خيلي بهتر انجام خواهد شد.
    من خودم معمولا" در کارهايم اينگونه عمل مي کنم چون اصولا" اکسل نرم افزار مخصوص بانک اطلاعاتي نيست.
    البته با کدنويسي هم مي شود يک کارهايي کرد که البته من توصيه نمي کنم.

    Leave a comment:


  • cooran
    پاسخ داد

    با تشکر از جناب پارسا و iranweld عزیز
    فرمولی که جنابiranweld ارائه کردند برای محاسبه حالت موجود صحیح است ولی چنانچه اعداد و تاریخ ها تغییر کنند محاسبه اشتباه می شود.بطور مثال اگر 1 یا دو پرداختی آخر حذف شود محاسبه باقیمانده باید تا تاریخ روز انجام شود .محاسبه شما زمانی صحیح است که تمام بدهی تا تاریخ مشخصی پرداخت شود و بدهی باقی نماند!
    در مورد فایل جناب پارسا و ایده جالبی که داشتند محاسبات درست انجام می شود فقط مسئله محاسبه جرایم هر سال یا عملکرد که باید بصورت جداگانه محاسبه شود. و آیا می توان ترتیبی داد که وقتی اعداد در جدول اصلی وارد می شوند با توجه به تاریخشان در جدول مد نظر خودکار قرار گیرد؟ البته اینکارو انجام دادمبا تابع vlookup
    من تغییراتی در فایل شما دادم.ولی اشکال در اینه که جرایم هر سال رو جداگانه محاسبه نمیکنه.یعنی مثلا مالیات سال 92 و 93 ر با هم جمع میزنه و پرداختیشون هم همینطور به حساب هم میزاره.راهکاری در این مورد دارید که هر سال رو جداگانه محاسبه کنه و تعداد ماه های دیرکرد هر سال هم در یک سلول نشون بده
    و یه مطلب دیگه به نظر شما فایل اینطوری خیلی سنگین نمیشه ؟ من از سال81 تا 95 رو توش اضافه کردم
    با تشکر فراوان
    فایل های پیوست شده

    Leave a comment:


  • cooran
    پاسخ داد
    با سلام
    اون فرمی که ارسال کردم فقط مخصوص یک مودی با 3 عملکرد می باشد
    معمولا تو هر مودی بدهی بیش از 10 عملکرد داره که هر شیت 30 ردیفه مخصوص یک مودی می باشد
    در این زمینه پیشنهادتون چیه؟
    اگه بخوام تو فرم با وارد کردن هر پرداخت مانده مالیات رو نسبت به عملکرد خودش تو ردیف مقابلش بیارم از چه توابعی باید استفاده کنم؟
    با تشکر

    Leave a comment:


  • iranweld
    پاسخ داد
    با سلام

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

    Leave a comment:


  • Ali Parsaei
    پاسخ داد
    سلام،
    اجازه بديد پله پله پيش بريم بلکه بهتر بتونيم مسئله را حل کنيم،
    من يک فايل درست کردم و براي هر روز يک رديف درست کردم، تاريخ را هم اول هر رديف نوشتم، البته تاريخ فعلا" در محاسبات دخيل نيست و فقط براي نمايش است که بتونيم پرداختها و سررسيدها را در سطر صحيح مربوط به خودشان درج کنيم.
    البته اين کار (يعني براي هر تاريخ يک سطر درست کردن) اصلا" حرفه اي نيست ولي قصد ما اين است که اول مسئله را حل کنيم و بعد راه حل را تا آنجا که مي شود ساده تر کنيم.
    روش کار اين است که ما در ستون سررسيدها مبلغ هر سرسيد را (حال هرچند تا که مي خواهند باشند) در تاريخ خودش مي نويسيم.
    در ستون پرداختي ها هم مبلغ پرداختي ها را به همين نحوه وارد مي کنيم.
    در ستون آخر جريمه هر روز با فرمول محاسبه مي شود، فقط کافي است جريمه ها را تا تاريخ امروز با هم جمع کنيم.
    البته من روي اين قسمت آخرش کار نکردم، و فقط فرمول را طبق نمونه فايل دوم شما تا تاريخ 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:


  • amir_ts
    پاسخ داد
    با سلام
    به نظر من ساختار فایل شما با چیزی که شما میخواید یک مقدار پیچیده شده و محاسبه با وجود 10 شرط اون هم تو این فرم اطلاعاتی کاری شدنی ولی مشکل و غیر حرفه ای هست.
    اگر بتونید با یک کد واحد هر مودی رو تو یک فرمت مثل فرمت آخری که طراحی کردید فراخونی کنید و اطلاعاتش رو از یک لیست جدا بیارید راحت میشه هر کدوم رو با توجه به تاریخ اونها محاسبه کنید.
    اگر دقت کنید شما برای ی مودی یک تاریخ برای یک مودی سه تاریخ دارید که تاریخ اونها هم فرمت شمسی هست شرایط شما به تاریخ به عنوان یک سل اصلی رجوع میکنه که خوب زیاد با توابع شمسی ساز هم نمیشه کاری براش کرد.ولی اگر ساختار ساده و کوچیک بشه راحت تر میشه به نتیجه مطلوب رسید.

    Leave a comment:


  • cooran
    پاسخ داد
    سلام دوست عزیز
    محاسباتی که انجام دادید (به جز سلول p9 که من یکم تغییرش دادم)برای جدول فعلی درست بود.ولی حالت کلی برای هر حالتی را در نظر نمیگیرد.بعنوان مثال فرض کنید کل 7000000 را قبل از سررسید با پرداخت ردیف اول انجام دهد بنابر این جریمه باید صفر شود که اینطور نمی شود.یا اگه دو پرداخت اول قبل از سررسید باشد محاسبه نادرست می شود.چون در این صورت باید دو پرداخت اول را از اصل کم کرده و نسبت به مانده جریمه را محاسبه کند. یا اگه پرداخت سوم 5000000 باشه دیرکرد تا تاریخ آخرین پرداخت یعنی 93/12/11 باید محاسبه بشه که فرمول شما جواب نمیده.دو فرمول آخرتان ابتکار خیلی جالبی بود ولی من هر کاری کردم نتونستم تو نمونه واقعی پیاده کنم.چون نمونه واقعی یه شیت با 30 ردیفه که چندین سال در آن وارد می شود. نمونش رو پیوست کردم اگه میشه یه نگاهی بهش بندازید
    کلا محاسبه جریمه نسبت به مانده می باشد.این کمکی میکنه؟
    شدیدا نیازمند کمک دوستان هستم.با تشکر
    فایل های پیوست شده

    Leave a comment:


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

    Leave a comment:


  • cooran
    پاسخ داد
    سلام
    اگه میشه بصورت عملی انجام دهید

    Leave a comment:


  • مرتضی حسینی
    پاسخ داد
    فکر کنم مشکل شما در پیدا کردن اختلاف تاریخهایی که دارید می باشد . در یک ستون جداگانه اختلاف تاریخ بین زمان پرداخت
    و تاریخ زمان محاسبه یا هرتاریخی که می خواهید را با استفاده از تابع j_diff براساس روز بدست اورده و در فرمول قرار دهید94/10/23

    Leave a comment:


  • cooran
    پاسخ داد
    با سلام و تشکر
    خیر پرداخت قبل از سررسید به معنی پرداخت علی الحساب می باشد یعنی معمولا مودی بدون اطلاع از مالیات قطعی همزمان با تسلیم اطهارنامه مالیاتی مبلغی به عنوان علی الحساب پرداخت می نماید که بعد از انجام فرآیند رسیدگی رقم قطعی مالیات به وی ابلاغ می شود.متاسفانه مشکل محاسبه نیز در اینجاست که تعداد پرداخت ها و تاریخ پرداخت ها به دلخواه مودی و نامشخص است.و جریمه دیرکرد ماهیانه 2.5درصد نیز به مانده مالیات تعلق میگیرد.یعنی به پرداخت بعد از سررسید که بطور کلی 4 حالت متصور است که در فایل پیوست بیان کردم.ولی بطور معمول برای هر سال حداکثر 6 پرداخت صورت میگیرد.
    پیشاپیش از پاسخ های شما تشکر میکنم

    فایل های پیوست شده

    Leave a comment:

چند لحظه..