Urgent — Next 30 Days
0All clear
No deadlines in the next 30 days
Coming Up — 1–3 Months
0All clear
No deadlines in 1–3 months
On the Horizon — 4–6 Months
0All clear
No deadlines in 4–6 months
Long Range — 7–12 Months
0All clear
No deadlines in 7–12 months
Getting started
2. Go to Companies — add companies via API auto-fetch or enter details manually
3. Click Fetch deadlines — pulls live data from Companies House
4. Add other clients in Self Assessment, VAT Returns and Payroll & PAYE
5. See Setup Guide for a full tour of every page and feature
| Client | Accounts | Corp Tax | Conf. Stmt | SA | VAT | PAYE | CIS | Custom |
|---|
⏰ Automatic deadline fetch
A Companies House API key must be set up in Settings first for auto-fetch to work. When enabled, the tool automatically fetches the latest deadlines from Companies House once a day at the scheduled time. If a filing has been submitted (deadline date moves forward), the old deadline is automatically marked as done. The tab must be open for auto-fetch to fire. If the tab was closed at the scheduled time, the fetch will run automatically as soon as you open the tab. If auto-fetch is not working for any reason, don't forget to click Fetch deadlines manually.
Company List
Email Reminder Setup
Follow all steps in order. You only do this once — it takes about 10 minutes. Replace you@gmail.com with your actual Gmail address throughout.
Step 1 — Create a Google Cloud project
- Go to console.cloud.google.com → sign in with your Google account
- At the top, click the project dropdown → click New Project → name it anything (e.g. "Deadline Tracker") → click Create
- Make sure your new project is selected in the dropdown at the top
Step 2 — Enable Gmail API
- Click the hamburger menu ☰ (top left corner)
- Click APIs & Services → Library
- In the search box type Gmail API
- Click Gmail API from the results
- Click Enable
Step 3 — Set up OAuth consent screen
- Click the hamburger menu ☰ again
- Click APIs & Services → OAuth consent screen
- You should see a Get started button — click it
- Enter App name: Deadline Tracker
- Enter User support email: your email address
- Click Next
- Select External → click Next
External means it works with your personal Gmail — do not select Internal - Enter your email as developer contact → click Next
- Agree to the terms → click Continue → click Create
Step 4 — Add Gmail scope
- In the left menu click Data Access
- Click Add or remove scopes
- Under "Manually add scopes" paste:
https://mail.google.com/ - Click Add to table → click Update → click Save
Step 5 — Add yourself as test user
- In the left menu click Audience
- Scroll down to Test users → click + Add Users
- Enter your Gmail address → click Save
⚠ This step is critical — without it you get "Access blocked" error when authorising
Step 6 — Create OAuth credentials
- In the left menu click Clients
- Click Create Client
- Select Web application
- Name it anything (e.g. "Deadline Tracker")
- Under Authorised redirect URIs click + Add URI
- Enter exactly:
https://developers.google.com/oauthplayground - Click Create
- A popup shows your credentials — copy and save both:
Client ID — ends in.apps.googleusercontent.com
Client Secret — starts withGOCSPX-
Step 7 — Get your Refresh Token (OAuth Playground)
- Open developers.google.com/oauthplayground in a new tab
- Click the ⚙️ gear icon in the top right corner
- Tick the checkbox "Use your own OAuth credentials"
- Paste your Client ID and Client Secret from Step 6
- Click Close
- On the left side, in the input box type:
https://mail.google.com/ - Click Authorize APIs
- Sign in with your Gmail account → click Allow → click Continue
- Tick "Auto-refresh the token before it expires"
- You are now on Step 2 — click "Exchange authorization code for tokens"
- Click Step 2 above to expand it → copy the Refresh token (the longer string at the top)
Do not copy the Access token — the Refresh token is the one that lasts forever
Step 8 — Enter credentials in this tool
- Click Edit at the top of this card
- In the Permanent Auto-Refresh Setup section, fill in:
Client ID — from Step 6
Client Secret — from Step 6
Refresh Token — from Step 7 - Click 🔍 Test Gmail connection — you should see a success message
- Click ✓ Save settings
- Click Send reminders now — the email will be sent automatically via Gmail
✓ Once set up, the tool refreshes the token automatically forever — you never need to repeat this process.
No Gmail setup? Leave all Gmail fields blank — clicking "Send reminders now" will open your default mail app (Outlook, Apple Mail) with a pre-filled email ready to send manually. No setup needed.
Activity log
Quick tour — what every page does
Use this as a fast reference for what each sidebar item is for. The detailed how-to steps are in the next card below.
What this tool tracks — and how to use it
Companies (Accounts, Corp Tax, Confirmation)
Add your limited company clients using one of two methods. Auto-fetch: enter the company number and click Fetch Deadlines — the tool pulls live deadlines from Companies House (annual accounts, confirmation statement, corporation tax). Set up your free Companies House API key first in Settings → Edit — a step-by-step guide for getting the key is in that same place under "How to get your free API key". Add manually: if you don't have an API key or prefer to manage dates yourself, click "+ Add manually" to enter the company name, address, and due dates directly.
Self Assessment
Add SA clients with their tax year. Deadlines are calculated automatically: paper return (31 Oct), online return + balancing payment + 1st payment on account (31 Jan), and 2nd payment on account (31 Jul). All three deadlines appear in the dashboard, work board, and email reminders.
VAT Returns — 9 schemes supported
Add VAT clients and select their scheme: Standard quarterly, Cash Accounting, Flat Rate, Annual Accounting, Monthly, Retail (Point of Sale / Apportionment / Direct Calculation), Margin Scheme. All schemes show the correct deadline (1 month + 7 days after quarter/month end for quarterly/monthly schemes; 2 months after year end for Annual Accounting). Annual Accounting also shows interim payment dates.
Payroll & PAYE — including CIS
Add payroll clients by frequency (Monthly, Weekly, Quarterly, Annual). All standard PAYE deadlines are shown (22nd of following month for electronic payment), plus P60 (31 May), P11D (6 Jul), Class 1A NIC (22 Jul). CIS contractors: tick the CIS checkbox on a payroll client to also show CIS monthly return deadlines (19th of each month) and CIS payment deadlines (22nd of each month).
Mark deadlines as done ✓
Every deadline row — across Companies, SA, VAT, Payroll, and Custom Deadlines — has a circular tick button. Click it to mark as done. Done deadlines show struck through and move to the bottom. Click again to unmark. Done status persists across sessions.
Custom Deadlines — optional
Go to Custom Deadlines in the sidebar to add any deadline that doesn't fit the standard categories: management accounts, internal reporting, pension auto-enrolment reviews, ATED returns, bank covenant dates, budget submissions, board meeting prep, insurance renewals, or anything else. These appear in All Deadlines and Work Board views alongside standard deadlines.
Work Board — optional
Go to Work Board in the sidebar to assign deadlines to team members and track progress. First add your team members (name, role, email) using the 👥 Team members section at the top. Then for any deadline row, choose who it is Assigned to, set its Status (To Do / In Progress / Blocked / Done), capture Billing details (No charge / Retainer / Invoice with basis), and record fees received vs outstanding. Filter the board by staff, status, fee type, or search to see exactly what you need. Click ✉ Remind on a staff member to send them a personalised email listing their outstanding jobs. Each team member can also have their own automatic email schedule via the ⏰ button on their card. Use Download report for a CSV (good for timesheets and management review) or Email report to send the current view directly.
Email Reminders
Go to Email Reminders to configure automatic weekly/daily reminder emails. Set up Gmail API for fully automatic sending (see the full guide on that page), or leave it blank to use your default mail app manually. You can also send reminders to individual staff members from the Work Board page. These reminders work when the browser tab is open — if a scheduled reminder is missed because the tab was closed, it will be sent automatically the next time you open the tab.
Server-Side Reminders — Google Apps Script FREE
Want reminders sent even when your computer is off and browser is closed? Use the free Google Apps Script — it runs on Google's servers and sends emails through your Gmail account automatically every day, no browser needed.
Full setup guide — Google Apps Script (5 minutes) ▾
What you need:
- A Gmail account (the one you want to send reminders from)
- Your Companies House API key (same one from Settings)
- The deadline-tracker-reminder.gs script file (ask your administrator for this)
Step-by-step setup:
- Go to script.google.com and sign in with your Gmail account
- Click New project → delete the default code
- Open the deadline-tracker-reminder.gs file → copy ALL the contents → paste into the editor
- Edit the CONFIG section at the top:
- CH_API_KEY — paste your Companies House API key
- COMPANIES — add your company numbers and names
- SA_CLIENTS — add SA clients with tax year
- VAT_CLIENTS — add VAT clients with scheme and quarter end
- PAYROLL_CLIENTS — add payroll clients with frequency
- RECIPIENTS — add email addresses to receive reminders
- FIRM_NAME — your practice name
- Click Save (Ctrl+S) → name the project "Deadline Tracker Reminders"
- From the function dropdown at the top, select sendDeadlineReminder → click ▶ Run
- First time: Google asks for permissions → click Review permissions → choose your account → click Allow
- Check your inbox — you should receive the reminder email within seconds
- From the function dropdown, select createDailyTrigger → click ▶ Run
- Done! Reminders will be sent automatically every day at 7 AM. To change the time, edit
atHour(7)in thecreateDailyTriggerfunction to your preferred hour (0–23), then run it again
Google Apps Script allows 100 emails/day on free accounts — more than enough for reminders. The script runs independently of this tool — if you add or remove clients, update the CONFIG section in the script as well.
Data folder & team sharing RECOMMENDED
By default your data is stored in your browser only — clearing browser data or switching computers loses everything. To keep your data safe, go to Settings → Data folder → Choose data folder. Pick a folder on your computer (e.g. C:\DeadlineTracker) and your data is saved there permanently as a JSON file.
For team firms with multiple staff: if your licence allows multiple users, pick a folder inside a shared cloud drive instead — OneDrive Business, Dropbox Business, Google Drive Desktop, or a network share. Each staff member picks the same shared folder on their own computer. Updates from one person appear for everyone within seconds. Your data stays inside your own cloud storage — we never see it.
After you've connected a folder, your browser asks permission to read/write files inside that folder. This is a Chrome/Edge security requirement — not something we control, and not something we can suppress. Two things to know:
- The prompt appears after you unlock the tool — usually a second or two after the dashboard loads. This is intentional so it doesn't pop up over the licence gate.
- It may reappear at the start of each new browser session (when you've fully closed and reopened Chrome/Edge). This is normal — just click Allow to continue using your folder. Access is strictly limited to the one folder you picked.
Works in Chrome and Edge. Not available in Firefox or Safari.
Install as desktop app — optional
You can install Deadline Tracker like a real desktop application — it gets its own Start menu icon, opens in its own window, and works offline. No installer, no admin rights, no Windows warnings — installation takes one click.
How to install: in Chrome or Edge, look for the install icon (⊕) at the right of the address bar — click it and confirm. Or click the Install app button if you see it appear at the bottom of the screen after using the tool for a few seconds. To uninstall later, just remove it like any other app from Windows Settings or the Start menu.
Once installed, the tool still updates automatically when you open it — same as any web app. Available on Windows, Mac, and Android. Not available on iPhone (Safari does not support PWA install for third-party sites in the same way).
Two-factor authentication (2FA) RECOMMENDED
Two-factor authentication adds a second step to your login: after entering your licence key on this device, you also enter a 6-digit code from your phone's authenticator app (Google Authenticator, Authy, Microsoft Authenticator, 1Password, Bitwarden — any standard TOTP app works). Set it up at Settings → 🔐 Two-factor authentication → Set up 2FA on this device. The wizard takes about a minute.
If 2FA is set up on this device before you forget your licence key, a new "Forgot licence key?" link appears under the Unlock button on the licence gate. Click it and enter one of your recovery codes to retrieve your licence key. Each recovery code only works once. This recovery only works on a device where 2FA was already set up — if you have never enabled 2FA on the device you are trying to recover on, the recovery codes will not help, and you will need a replacement licence key from your administrator.
When you set up 2FA, the wizard shows you (a) a setup secret in step 1 (the long base32 string that you add to your authenticator app) and (b) 8 single-use recovery codes in step 3. Save both somewhere safe before you finish the wizard — print them, paste them into a password manager, or write them down and put them in a locked drawer. If you later lose your phone and have not saved the recovery codes and have cleared this device's browser data, you will be locked out of this device and will need a new licence key from your administrator. The administrator cannot recover your existing local data on the locked-out device.
2FA setup is per-device. If you use the tool on more than one computer, repeat the setup on each one — your authenticator app can hold multiple entries with different labels (e.g. "Office laptop", "Home computer"). To turn 2FA off later, use the Turn off 2FA on this device button on the same Settings card; you will be asked for a current 6-digit code (or one recovery code) to confirm.
Back up regularly
Even with a data folder set up, it is good practice to download a backup every now and then. Go to Settings → Download backup file to save all your clients, deadlines, and settings as a JSON file you can keep safe (USB stick, email to yourself, etc.). The backup can be restored on any browser via Restore from backup.
Deadline rules used
| Annual accounts | 9 months after accounting period end (private companies). Source: Companies House filing data. |
| Confirmation statement | Due date shown directly from Companies House records (annually from incorporation date). |
| Corporation tax | 9 months and 1 day after accounting period end. Per HMRC CT600 rules for companies with profits under £1.5m. |
| SA — Online return | 31 January following the end of the tax year (e.g. 31 Jan 2026 for 2024/25). This is also the deadline for the balancing payment and the 1st payment on account for the next year. |
| SA — Paper return | 31 October following the end of the tax year. |
| SA — 2nd payment on account | 31 July following the end of the tax year (e.g. 31 Jul 2026 for 2024/25). This is tracked as a separate deadline for each SA client. |
| VAT — Standard / Cash / Flat Rate / Retail / Margin | Return and payment due 1 month + 7 days after quarter end (e.g. quarter ending 31 Mar → due 7 May). MTD applies — digital submission required. |
| VAT — Annual Accounting | One annual return due 2 months after VAT year end. Two interim payments during the year (months 6 and 9). Available for businesses with taxable turnover ≤ £1.35m. |
| VAT — Monthly | Return and payment due 1 month + 7 days after each month end. |
| PAYE — Monthly | Payment due 22nd of the following month (electronic). E.g. April payroll → 22 May. |
| PAYE — Annual | Single payment due 22 April following the tax year end. |
| PAYE — Quarterly | Small employers only (< £1,500/month). 22 Jul (Apr–Jun), 22 Oct (Jul–Sep), 22 Jan (Oct–Dec), 22 Apr (Jan–Mar). |
| CIS — Monthly return | 19th of each month following the tax month (6th–5th). Contractors must file even if no subcontractors were paid (nil return). Enable CIS on a Payroll client to track this. |
| CIS — Payment to HMRC | 22nd of each month (electronic payment). Usually paid together with PAYE/NIC. Enable CIS on a Payroll client to track this. |
| P60 | Must be issued to all employees by 31 May following tax year end. |
| P11D | Benefits in kind return due 6 July. Class 1A NIC payment due 22 July (electronic). |
| Custom deadlines | Any deadline you add manually via the Custom Deadlines page — management accounts, ATED, pension auto-enrolment, bank covenants, internal reports, and more. Fully optional. |
Settings
🔐 Two-factor authentication
Software updates
📲 Install as desktop app
The two features solve different problems and work together:
- Data folder protects your data — keeps clients, deadlines and settings safe, and (if it's a shared folder) syncs across your team.
- PWA install protects the app itself — caches it locally so it loads instantly and runs offline.
Together they give you a fully offline desktop experience: no internet? no problem — open from Start menu and your data is right there in the local folder. The installed app also survives browser cache clears, so it can't get accidentally wiped by browser cleanup tools.
How to install manually (if no button appears) ▾
Chrome / Edge on Windows or Mac: look for the install icon (⊕) at the right of the address bar — click it and confirm. Or open the browser menu (⋮) → look for Apps or Install Deadline Tracker.
Chrome on Android: tap the menu (⋮) → Install app or Add to Home screen.
iPhone / iPad (Safari): Apple's Safari doesn't support full PWA install for third-party websites the same way. Tap the Share button → Add to Home Screen for a similar shortcut, but offline support is limited.
Firefox: doesn't support PWA install. Use Chrome or Edge to install — but the tool still works fine in Firefox as a normal browser tab.
To uninstall later: remove it like any other app — Windows Settings → Apps, or right-click the Start menu icon → Uninstall. Your data stays safe in the data folder; only the app shortcut is removed.
📁 Data folder — save your data and (optionally) sync across your team
If you only ever use this tool yourself on one computer, create a folder like C:\DeadlineTracker and choose it below. Your data is saved there permanently. To sync between your office laptop and home computer, point both at the same folder inside your personal OneDrive/Dropbox.
If your licence covers multiple staff and you want everyone to share the same client list, deadlines, and updates: pick a folder inside a drive your team already shares — OneDrive Business, Dropbox Business, Google Drive Desktop, or a network share. Each staff member picks the same folder on their own computer. Updates from one person appear for everyone within seconds.
Examples of shared folder paths:
- OneDrive Business:
C:\Users\You\OneDrive - Your Firm\DeadlineTracker - Dropbox:
C:\Users\You\Dropbox\Firm\DeadlineTracker - Network share:
\\server\shared\DeadlineTracker
Important: all staff must pick the same folder. The senior partner usually sets it up first and tells the team the folder name. Your data stays inside your own cloud storage — we never see it.
- Decide which folder to use (see Solo or Team guidance above)
- Click Choose data folder below
- In the file picker, navigate to that folder and click Select Folder
- Click Allow when your browser asks for permission
- Done — your data now saves there automatically on every change
The file is called deadline-tracker-data.json — you can copy it to another computer as a backup.
When you first connect a folder — and again at the start of each new browser session — Chrome or Edge will ask "Allow this site to edit files?". This is a normal browser security requirement that we cannot bypass.
When does it appear? The prompt is deliberately deferred until after you unlock the tool with your licence key — about 1–2 seconds after the dashboard loads. This way it does not pop up over the licence gate. If you click Don't allow, the tool falls back to browser-only storage for that session, and won't pester you again until next time.
Is it safe? Yes. Access is strictly limited to the one folder you picked — no other files, no other folders, nothing else on your computer can be touched. Your data never leaves your machine.
Backup & Restore
All data is stored locally in this browser only. Regular backups are strongly recommended.
This will permanently delete all companies, clients, deadlines and settings from this browser. This cannot be undone.
You must download a backup first. The backup file will be saved to your Downloads folder — it is your responsibility to keep or delete it.
The downloaded backup file is saved to your Downloads folder. Keeping or deleting it is your responsibility.
⚖ Important Notice & Disclaimer
Purpose. Deadline Tracker is provided as a scheduling and reminder aid only. It is designed to help you keep track of filing and payment deadlines for accounts, tax returns, VAT, payroll, and other regulatory obligations. It does not constitute professional, legal, tax, or financial advice.
No guarantee of accuracy. While every effort is made to calculate deadlines correctly based on publicly available rules (Companies House filing data, HMRC published deadlines, and standard statutory timeframes), we do not warrant that all dates shown are complete, accurate, or current. Legislation, HMRC practice, or Companies House requirements may change at any time, and individual circumstances (such as short accounting periods, HMRC enquiries, or agreed extensions) may result in different deadlines from those displayed.
User responsibility. The timely preparation and submission of all tax returns, accounts, filings, and payments remains solely and entirely the responsibility of the user (and/or their client, where applicable). You should independently verify all deadlines with HMRC, Companies House, or your professional adviser before relying on them. Deadline Tracker shall not be held liable for any missed deadline, late filing penalty, interest charge, or any other loss or damage arising from the use of or reliance on information provided by this tool.
Reporting issues. If you discover any deadline that appears to be incorrect, missing, or inconsistent with official guidance, please report it to us promptly so we can investigate and issue a correction. Use the support contact shown on the licence key screen or contact the administrator of your Deadline Tracker instance.
Data privacy. All client data you enter is stored locally on your device only (browser localStorage and, optionally, a folder you choose on your computer or your own cloud). Your client data does not pass through any server we operate. The operator stores only your firm name, contact email, and a hashed licence key — needed to provide the licence service. For full details and your UK GDPR rights, see Complaints & Data Protection. You remain responsible for the security, backup, and appropriate handling of your client data in accordance with UK GDPR.
Limitation of liability. To the fullest extent permitted by law, Deadline Tracker and its developers exclude all liability for any direct, indirect, incidental, consequential, or special damages arising out of or in connection with your use of this tool, howsoever caused and whether arising in contract, tort (including negligence), strict liability, or otherwise, even if advised of the possibility of such damages.
📜 Legal & Privacy
Quick links to the full legal documents for this tool. The same links are also available at the bottom of the sidebar (always visible) and on the licence gate.
👥 Team members
▼Each team member can have their own automatic email schedule. Click the ⏰ button next to a member's name above to set their day, time, and which statuses to include. Gmail API must be set up in Email Reminders first. Without it, the ✉ Remind button sends a one-off email via your default mail app.
| Deadline / Job | Due date | Assigned to | Status | Blocker reason | Billing | Total fee | Paid / Basis | Outstanding | |
|---|---|---|---|---|---|---|---|---|---|