Welcome to DigiTax.lk

DigiTax.lk — VAT Compliance Dashboard :root { –bg: #0a0f0d; –surface: #111814; –surface2: #182019; –border: #1e2b20; –accent: #00e676; –accent2: #69f0ae; –accent-dim: rgba(0,230,118,0.12); –warn: #ffb300; –warn-dim: rgba(255,179,0,0.12); –danger: #ff5252; –danger-dim: rgba(255,82,82,0.1); –text: #e8f5e9; –text2: #81a882; –text3: #4a6b4b; } * { margin:0; padding:0; box-sizing:border-box; } body { font-family: ‘Instrument Sans’, sans-serif; background: var(–bg); color: var(–text); min-height: 100vh; display: flex; overflow-x: hidden; } /* SIDEBAR */ .sidebar { width: 240px; min-height: 100vh; background: var(–surface); border-right: 1px solid var(–border); display: flex; flex-direction: column; flex-shrink: 0; position: fixed; top: 0; left: 0; bottom: 0; z-index: 100; } .logo { padding: 28px 24px 20px; border-bottom: 1px solid var(–border); } .logo-mark { font-family: ‘Syne’, sans-serif; font-weight: 800; font-size: 22px; color: var(–accent); letter-spacing: -0.5px; } .logo-mark span { color: var(–text2); font-weight: 400; } .logo-sub { font-family: ‘DM Mono’, monospace; font-size: 10px; color: var(–text3); margin-top: 4px; letter-spacing: 1px; text-transform: uppercase; } .nav { padding: 16px 12px; flex: 1; } .nav-section { font-family: ‘DM Mono’, monospace; font-size: 9px; color: var(–text3); letter-spacing: 1.5px; text-transform: uppercase; padding: 12px 12px 6px; } .nav-item { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 8px; cursor: pointer; font-size: 14px; color: var(–text2); transition: all 0.15s; margin-bottom: 2px; font-weight: 500; } .nav-item:hover { background: var(–surface2); color: var(–text); } .nav-item.active { background: var(–accent-dim); color: var(–accent); border: 1px solid rgba(0,230,118,0.2); } .nav-icon { font-size: 16px; width: 20px; text-align: center; } .badge { margin-left: auto; background: var(–danger); color: white; font-size: 10px; font-family: ‘DM Mono’, monospace; padding: 2px 6px; border-radius: 10px; font-weight: 500; } .badge.warn { background: var(–warn); color: #000; } .badge.green { background: var(–accent); color: #000; } .sidebar-footer { padding: 16px; border-top: 1px solid var(–border); } .company-badge { display: flex; align-items: center; gap: 10px; padding: 10px 12px; background: var(–surface2); border-radius: 8px; border: 1px solid var(–border); } .avatar { width: 32px; height: 32px; background: var(–accent-dim); border: 1px solid var(–accent); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-family: ‘Syne’, sans-serif; font-weight: 800; font-size: 12px; color: var(–accent); flex-shrink: 0; } .company-name { font-size: 13px; font-weight: 600; } .company-plan { font-size: 11px; color: var(–text2); font-family: ‘DM Mono’, monospace; } /* MAIN */ .main { margin-left: 240px; flex: 1; display: flex; flex-direction: column; min-height: 100vh; } /* TOPBAR */ .topbar { padding: 20px 32px; border-bottom: 1px solid var(–border); display: flex; align-items: center; justify-content: space-between; background: var(–surface); position: sticky; top: 0; z-index: 50; } .page-title { font-family: ‘Syne’, sans-serif; font-weight: 700; font-size: 20px; } .topbar-right { display: flex; align-items: center; gap: 12px; } .period-selector { background: var(–surface2); border: 1px solid var(–border); color: var(–text2); font-family: ‘DM Mono’, monospace; font-size: 12px; padding: 8px 14px; border-radius: 8px; cursor: pointer; appearance: none; outline: none; } .btn { padding: 9px 18px; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; border: none; font-family: ‘Instrument Sans’, sans-serif; transition: all 0.15s; } .btn-primary { background: var(–accent); color: #000; } .btn-primary:hover { background: var(–accent2); } .btn-outline { background: transparent; border: 1px solid var(–border); color: var(–text2); } /* CONTENT */ .content { padding: 32px; flex: 1; } /* ALERT BANNER */ .alert-banner { background: var(–warn-dim); border: 1px solid rgba(255,179,0,0.3); border-radius: 12px; padding: 14px 20px; display: flex; align-items: center; gap: 12px; margin-bottom: 28px; animation: fadeSlideDown 0.4s ease; } .alert-icon { font-size: 20px; flex-shrink: 0; } .alert-text { font-size: 14px; color: var(–warn); } .alert-text strong { color: #fff; } .alert-close { margin-left: auto; color: var(–text3); cursor: pointer; font-size: 18px; flex-shrink: 0; background: none; border: none; line-height: 1; } /* STATS GRID */ .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 28px; } .stat-card { background: var(–surface); border: 1px solid var(–border); border-radius: 14px; padding: 22px; position: relative; overflow: hidden; transition: border-color 0.2s; } .stat-card:hover { border-color: var(–text3); } .stat-card::before { content: ”; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(–accent); opacity: 0; transition: opacity 0.2s; } .stat-card:hover::before { opacity: 1; } .stat-label { font-family: ‘DM Mono’, monospace; font-size: 10px; color: var(–text3); letter-spacing: 1.2px; text-transform: uppercase; margin-bottom: 10px; } .stat-value { font-family: ‘Syne’, sans-serif; font-weight: 800; font-size: 28px; letter-spacing: -1px; line-height: 1; margin-bottom: 8px; } .stat-value.green { color: var(–accent); } .stat-value.warn { color: var(–warn); } .stat-value.danger { color: var(–danger); } .stat-change { font-size: 12px; color: var(–text3); display: flex; align-items: center; gap: 4px; } .stat-change.up { color: var(–accent); } .stat-change.down { color: var(–danger); } .stat-icon { position: absolute; top: 20px; right: 20px; font-size: 24px; opacity: 0.25; } /* MAIN GRID */ .main-grid { display: grid; grid-template-columns: 1fr 380px; gap: 20px; margin-bottom: 20px; } .card { background: var(–surface); border: 1px solid var(–border); border-radius: 14px; overflow: hidden; } .card-header { padding: 20px 24px 16px; border-bottom: 1px solid var(–border); display: flex; align-items: center; justify-content: space-between; } .card-title { font-family: ‘Syne’, sans-serif; font-weight: 700; font-size: 15px; } .card-subtitle { font-size: 12px; color: var(–text3); font-family: ‘DM Mono’, monospace; margin-top: 2px; } .card-body { padding: 24px; } /* THRESHOLD METER */ .threshold-section { padding: 24px; } .threshold-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 12px; } .threshold-label { font-family: ‘DM Mono’, monospace; font-size: 11px; color: var(–text2); text-transform: uppercase; letter-spacing: 1px; } .threshold-values { font-family: ‘Syne’, sans-serif; font-weight: 700; font-size: 22px; } .threshold-values span { font-size: 13px; color: var(–text3); font-weight: 400; font-family: ‘DM Mono’, monospace; } .threshold-bar-bg { height: 12px; background: var(–surface2); border-radius: 100px; border: 1px solid var(–border); overflow: hidden; margin-bottom: 8px; } .threshold-bar { height: 100%; border-radius: 100px; background: linear-gradient(90deg, var(–accent) 0%, var(–warn) 100%); transition: width 1s cubic-bezier(.4,0,.2,1); position: relative; } .threshold-bar::after { content: ”; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(90deg, rgba(255,255,255,0.15) 0%, transparent 100%); border-radius: inherit; } .threshold-meta { display: flex; justify-content: space-between; font-family: ‘DM Mono’, monospace; font-size: 11px; color: var(–text3); } .threshold-meta .pct { color: var(–warn); font-weight: 500; } /* QUARTERLY CHART */ .chart-area { padding: 0 24px 24px; } .chart-bars { display: flex; align-items: flex-end; gap: 10px; height: 120px; margin-top: 16px; } .bar-group { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; } .bar { width: 100%; border-radius: 6px 6px 0 0; background: var(–accent-dim); border: 1px solid rgba(0,230,118,0.2); transition: background 0.2s; cursor: pointer; position: relative; } .bar:hover { background: var(–accent); } .bar.current { background: var(–accent); border-color: var(–accent); } .bar-label { font-family: ‘DM Mono’, monospace; font-size: 10px; color: var(–text3); text-align: center; } .bar-val { font-family: ‘DM Mono’, monospace; font-size: 10px; color: var(–text2); text-align: center; } /* DEADLINE TIMELINE */ .timeline { padding: 0 24px 24px; } .deadline-item { display: flex; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(–border); position: relative; } .deadline-item:last-child { border-bottom: none; } .deadline-dot { width: 10px; height: 10px; border-radius: 50%; margin-top: 4px; flex-shrink: 0; } .deadline-dot.green { background: var(–accent); box-shadow: 0 0 6px var(–accent); } .deadline-dot.warn { background: var(–warn); box-shadow: 0 0 6px var(–warn); } .deadline-dot.danger { background: var(–danger); box-shadow: 0 0 6px var(–danger); } .deadline-dot.muted { background: var(–text3); } .deadline-info { flex: 1; } .deadline-title { font-size: 13px; font-weight: 600; margin-bottom: 2px; } .deadline-date { font-family: ‘DM Mono’, monospace; font-size: 11px; color: var(–text3); } .deadline-status { font-family: ‘DM Mono’, monospace; font-size: 11px; padding: 3px 8px; border-radius: 6px; align-self: center; white-space: nowrap; } .deadline-status.done { background: var(–accent-dim); color: var(–accent); } .deadline-status.upcoming { background: var(–warn-dim); color: var(–warn); } .deadline-status.due { background: var(–danger-dim); color: var(–danger); } /* BOTTOM GRID */ .bottom-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; } /* FILINGS TABLE */ .table { width: 100%; border-collapse: collapse; } .table th { font-family: ‘DM Mono’, monospace; font-size: 10px; color: var(–text3); text-transform: uppercase; letter-spacing: 1px; padding: 10px 16px; text-align: left; border-bottom: 1px solid var(–border); } .table td { padding: 13px 16px; font-size: 13px; border-bottom: 1px solid rgba(30,43,32,0.5); } .table tr:last-child td { border-bottom: none; } .table tr:hover td { background: rgba(255,255,255,0.015); } .pill { display: inline-block; padding: 3px 8px; border-radius: 6px; font-family: ‘DM Mono’, monospace; font-size: 11px; } .pill.filed { background: var(–accent-dim); color: var(–accent); } .pill.pending { background: var(–warn-dim); color: var(–warn); } .pill.overdue { background: var(–danger-dim); color: var(–danger); } .mono { font-family: ‘DM Mono’, monospace; font-size: 12px; color: var(–text2); } /* VAT CALCULATOR */ .calc-body { padding: 24px; } .form-group { margin-bottom: 18px; } .form-label { font-family: ‘DM Mono’, monospace; font-size: 11px; color: var(–text3); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; display: block; } .form-input { width: 100%; background: var(–surface2); border: 1px solid var(–border); color: var(–text); font-family: ‘DM Mono’, monospace; font-size: 14px; padding: 10px 14px; border-radius: 8px; outline: none; transition: border-color 0.15s; } .form-input:focus { border-color: var(–accent); } .calc-result { background: var(–accent-dim); border: 1px solid rgba(0,230,118,0.25); border-radius: 10px; padding: 16px; margin-top: 4px; } .calc-result-row { display: flex; justify-content: space-between; align-items: center; padding: 6px 0; font-size: 13px; } .calc-result-row.total { border-top: 1px solid rgba(0,230,118,0.2); margin-top: 6px; padding-top: 10px; font-family: ‘Syne’, sans-serif; font-weight: 700; font-size: 16px; color: var(–accent); } .calc-result-label { color: var(–text2); } .calc-result-val { font-family: ‘DM Mono’, monospace; } /* ANIMATIONS */ @keyframes fadeSlideDown { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } } @keyframes fadeIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } } .stats-grid .stat-card:nth-child(1) { animation: fadeIn 0.4s ease 0.05s both; } .stats-grid .stat-card:nth-child(2) { animation: fadeIn 0.4s ease 0.1s both; } .stats-grid .stat-card:nth-child(3) { animation: fadeIn 0.4s ease 0.15s both; } .stats-grid .stat-card:nth-child(4) { animation: fadeIn 0.4s ease 0.2s both; } .section-divider { display: flex; align-items: center; gap: 12px; margin: 28px 0 20px; } .section-divider-title { font-family: ‘Syne’, sans-serif; font-weight: 700; font-size: 13px; color: var(–text3); white-space: nowrap; text-transform: uppercase; letter-spacing: 1px; } .section-divider-line { flex: 1; height: 1px; background: var(–border); } /* SCROLLBAR */ ::-webkit-scrollbar { width: 6px; } ::-webkit-scrollbar-track { background: var(–bg); } ::-webkit-scrollbar-thumb { background: var(–border); border-radius: 10px; } .tag { display: inline-block; font-family: ‘DM Mono’, monospace; font-size: 10px; padding: 2px 8px; border-radius: 4px; background: var(–surface2); border: 1px solid var(–border); color: var(–text3); margin-left: 6px; }
Overview
Q1 2026 (Jan–Mar) Q4 2025 (Oct–Dec) Q3 2025 (Jul–Sep)
Action Required: Q1 2026 VAT return is due in 28 days (30 Apr 2026). LKR 2,340,000 payable to IRD.
LKR Revenue (Q1)
13.0M
↑ 18% vs Q4 2025
%
VAT Collected (Q1)
2.34M
LKR @ 18% rate
Annual Threshold
78%
↑ LKR 46.8M / 60M
Compliance Score
96%
All filings on time
Annual Threshold Monitor
LKR 60M / 12-month rolling limit
78% Used
Revenue Tracked (12 months)
LKR 46.8M / 60M
LKR 0 LKR 13.2M remaining before mandatory registration LKR 60M
Quarterly Threshold (last 3 months)
LKR 13.0M / 15M
LKR 0 LKR 2M from quarterly trigger! LKR 15M
Quarterly Revenue (LKR)
Sri Lanka digital service revenue
8.2M
Q2 ’25
11.0M
Q3 ’25
11.2M
Q4 ’25
13.0M
Q1 ’26
Filing Deadlines
IRD submission calendar
Q3 2025 VAT Return
Filed 28 Oct 2025
Filed
Q3 2025 Payment
Remitted 18 Nov 2025
Paid
Q4 2025 VAT Return
Filed 29 Jan 2026
Filed
Q1 2026 VAT Return
Due 30 Apr 2026
28 days
Q1 2026 Payment
Due 20 May 2026
48 days
Q2 2026 VAT Return
Due 31 Jul 2026
119 days
VAT Calculator
18% Sri Lanka rate
Revenue (USD)
Exchange Rate (USD → LKR)
Revenue in LKR LKR 15,250,000
VAT Rate 18%
VAT Payable LKR 2,745,000
Filing History
VAT Return History
All quarters since IRD registration
Period LKR Revenue VAT Amount Filed Date Payment Date Status Reference
Q1 2026 13,000,000 2,340,000 Pending
Q4 2025 11,200,000 2,016,000 29 Jan 2026 18 Feb 2026 Filed & Paid IRD/2026/Q4/0041
Q3 2025 11,000,000 1,980,000 28 Oct 2025 18 Nov 2025 Filed & Paid IRD/2025/Q3/0038
// Animate threshold bars on load window.addEventListener(‘load’, () => { setTimeout(() => { document.getElementById(‘threshBar’).style.width = ‘78%’; document.getElementById(‘threshBar2’).style.width = ‘87%’; }, 300); }); // VAT Calculator function calcVAT() { const usd = parseFloat(document.getElementById(‘usdInput’).value) || 0; const rate = parseFloat(document.getElementById(‘rateInput’).value) || 305; const lkr = usd * rate; const vat = lkr * 0.18; document.getElementById(‘lkrRev’).textContent = ‘LKR ‘ + lkr.toLocaleString(‘en-LK’, {maximumFractionDigits: 0}); document.getElementById(‘vatPayable’).textContent = ‘LKR ‘ + vat.toLocaleString(‘en-LK’, {maximumFractionDigits: 0}); } calcVAT(); // Nav interaction document.querySelectorAll(‘.nav-item’).forEach(item => { item.addEventListener(‘click’, () => { document.querySelectorAll(‘.nav-item’).forEach(i => i.classList.remove(‘active’)); item.classList.add(‘active’); }); });