Tax Calendar 2025-26

Never miss an important tax deadline. Complete calendar of due dates for Income Tax, GST, TDS, and other compliance requirements for Financial Year 2025-26.

Income Tax & TDS
GST
Advance Tax
Other Compliance
April 2025
No tax events scheduled for April 2025.
May 2025
No tax events scheduled for May 2025.
June 2025
No tax events scheduled for June 2025.
July 2025
No tax events scheduled for July 2025.
August 2025
No tax events scheduled for August 2025.
September 2025
No tax events scheduled for September 2025.
October 2025
6
OCT
TDS Payment
TDS payment for the month of September 2025
Critical
11
OCT
GST Return Filing - GSTR-1
Monthly GSTR-1 return filing for large taxpayers (turnover > 5 crores)
Critical
20
OCT
GST Return Filing - GSTR-3B
Monthly GSTR-3B return filing for September 2025
Critical
31
OCT
ITR Filing Deadline
Last date for filing belated Income Tax Return for AY 2024-25
Critical
November 2025
No tax events scheduled for November 2025.
December 2025
15
DEC
Fourth Installment of Advance Tax
100% of total advance tax liability for FY 2025-26
Critical
January 2026
15
DEC
Fourth Installment of Advance Tax
100% of total advance tax liability for FY 2025-26
Critical
February 2026
No tax events scheduled for February 2026.
March 2026
No tax events scheduled for March 2026.

Quick Reminders

Important monthly and quarterly compliance requirements

Monthly Compliance

  • GST Return Filing (GSTR-1 & GSTR-3B)
  • TDS Payment by 7th of next month
  • ESI & PF Contributions
  • Professional Tax Payment

Quarterly Compliance

  • TDS Return Filing (24Q, 26Q, 27Q)
  • Advance Tax Payment
  • GSTR-1 for small taxpayers
  • Form 15CA/15CB Filing

Annual Compliance

  • Income Tax Return Filing
  • Tax Audit Report
  • GST Annual Return
  • Form 16 Issuance

Important Notes

  • Dates may vary for weekends/holidays
  • Extended dates announced separately
  • State-specific compliance may differ
  • Consult CA for complex cases

Need Help with Compliance?

Our experienced chartered accountants ensure you never miss a deadline

Contact Our CA Team

Ashutosh Shriwastava, CA

Typically replies in minutes

Hello! 👋

I'm Ashutosh Shriwastava, your Chartered Accountant. How can I help you today?

Usually responds in a few minutes
Tax Consultation
GST Services
Audit Services
General Inquiry
// Tax Calendar JavaScript Functions function showMonth(filter, button) { console.log('showMonth called with:', filter, button); // Debug log const containers = document.querySelectorAll('.month-container'); const buttons = document.querySelectorAll('.filter-btn'); // Remove active class from all buttons buttons.forEach(btn => btn.classList.remove('active')); if (button) { button.classList.add('active'); } else { // Fallback: find the button by onclick attribute const targetButton = document.querySelector(`.filter-btn[onclick*="showMonth('${filter}'"]`); if (targetButton) targetButton.classList.add('active'); } // Hide all month containers containers.forEach(container => { container.classList.remove('active'); }); if (filter === 'all') { containers.forEach(container => { container.classList.add('active'); }); // Reset any category filters resetCategoryFilters(); } else if (filter === 'current') { // Get current month dynamically const currentDate = new Date(); const currentMonthIndex = currentDate.getMonth(); // 0 = January, 9 = October const months = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december']; const currentMonthName = months[currentMonthIndex]; console.log('Showing current month:', currentMonthName); // Debug log const currentMonth = document.querySelector(`[data-month="${currentMonthName}"]`); if (currentMonth) { currentMonth.classList.add('active'); console.log('Activated current month container'); // Debug log } else { // Fallback to October if current month not found (for tax year purposes) const fallbackMonth = document.querySelector('[data-month="october"]'); if (fallbackMonth) { fallbackMonth.classList.add('active'); console.log('Using October fallback'); // Debug log } } // Reset any category filters resetCategoryFilters(); } else if (filter === 'upcoming') { // Show next 3 months from current month const currentDate = new Date(); const currentMonthIndex = currentDate.getMonth(); const months = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december']; console.log('Showing upcoming months from:', currentMonthIndex); // Debug log // Get next 3 months for (let i = 1; i <= 3; i++) { const nextMonthIndex = (currentMonthIndex + i) % 12; const nextMonth = months[nextMonthIndex]; const container = document.querySelector(`[data-month="${nextMonth}"]`); if (container) { container.classList.add('active'); console.log('Activated upcoming month:', nextMonth); // Debug log } } // Reset any category filters resetCategoryFilters(); } } function showCategory(category, button) { console.log('showCategory called with:', category, button); // Debug log const containers = document.querySelectorAll('.month-container'); const buttons = document.querySelectorAll('.filter-btn'); const items = document.querySelectorAll('.date-item'); // Remove active class from all buttons buttons.forEach(btn => btn.classList.remove('active')); if (button) { button.classList.add('active'); } else { // Fallback: find the button by onclick attribute const targetButton = document.querySelector(`.filter-btn[onclick*="showCategory('${category}'"]`); if (targetButton) targetButton.classList.add('active'); } // Show all containers containers.forEach(container => { container.classList.add('active'); }); // Hide all items first items.forEach(item => { item.style.display = 'none'; }); // Show only items matching the category const categoryItems = document.querySelectorAll(`[data-category="${category}"]`); categoryItems.forEach(item => { item.style.display = 'flex'; }); console.log(`Found ${categoryItems.length} items for category:`, category); // Debug log // Hide months that have no visible items containers.forEach(container => { const visibleItems = container.querySelectorAll('.date-item[style*="flex"]'); if (visibleItems.length === 0) { container.classList.remove('active'); } }); } // Reset function to show all items function resetFilters() { const containers = document.querySelectorAll('.month-container'); const items = document.querySelectorAll('.date-item'); containers.forEach(container => { container.classList.add('active'); }); items.forEach(item => { item.style.display = 'flex'; }); } // Reset category filters (show all items but keep month filtering) function resetCategoryFilters() { const items = document.querySelectorAll('.date-item'); items.forEach(item => { item.style.display = 'flex'; }); } // Add click event to "All Months" button to reset document.addEventListener('DOMContentLoaded', function() { const allButton = document.querySelector('.filter-btn[onclick*="showMonth(\'all\'"]'); if (allButton) { allButton.addEventListener('click', resetFilters); } // Initialize with current month view initializeCurrentMonth(); // Highlight upcoming deadlines highlightUpcomingDeadlines(); }); function initializeCurrentMonth() { // Remove active from all buttons first const buttons = document.querySelectorAll('.filter-btn'); buttons.forEach(btn => btn.classList.remove('active')); // Set "Current Month" button as active const currentButton = document.querySelector('.filter-btn[onclick*="showMonth(\'current\'"]'); if (currentButton) { currentButton.classList.add('active'); } // Hide all month containers first const containers = document.querySelectorAll('.month-container'); containers.forEach(container => { container.classList.remove('active'); }); // Get current month dynamically const currentDate = new Date(); const currentMonthIndex = currentDate.getMonth(); // 0 = January, 9 = October const months = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december']; const currentMonthName = months[currentMonthIndex]; console.log('Current month:', currentMonthName); // Debug log const currentMonth = document.querySelector(`[data-month="${currentMonthName}"]`); if (currentMonth) { currentMonth.classList.add('active'); console.log('Found and activated current month:', currentMonthName); // Debug log } else { // Fallback to October if current month not found (for tax year purposes) const fallbackMonth = document.querySelector('[data-month="october"]'); if (fallbackMonth) { fallbackMonth.classList.add('active'); console.log('Using fallback month: October'); // Debug log } } // Reset any category filters resetCategoryFilters(); } function highlightUpcomingDeadlines() { const today = new Date(); const items = document.querySelectorAll('.date-item'); items.forEach(item => { // Add animation to critical items const urgency = item.querySelector('.urgency-high'); if (urgency) { item.style.animation = 'pulse 2s infinite'; } }); } // Add pulse animation for critical dates const style = document.createElement('style'); style.textContent = ` @keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(231, 76, 60, 0.4); } 70% { box-shadow: 0 0 0 10px rgba(231, 76, 60, 0); } 100% { box-shadow: 0 0 0 0 rgba(231, 76, 60, 0); } } `; document.head.appendChild(style);