Obligation Tracker
Deadline and Compliance Management for Accounting Firms
Purpose-built obligation tracking for Greek accounting practices. Track VAT returns, social security contributions, payroll submissions, and every statutory deadline across your entire client portfolio — with per-obligation data fields, auto-completion logic, and granular staff permissions.
At a Glance
Spreadsheets Don't Scale
Accounting firms track dozens of overlapping monthly, quarterly, and annual deadlines across 50-300+ clients. Each client has different obligation profiles: VAT period, personnel, intracom activity, branch count. Excel, Google Sheets, calendar reminders, and generic tools cannot distinguish between obligation types that require fundamentally different data capture. Missed deadlines mean AADE fines, ΕΦΚΑ penalties, blocked pension entitlements, and client trust damage.
Deadline Complexity
Monthly, quarterly, and annual obligations overlap with different due dates, extension rules, and penalty structures. No flat calendar can represent the dependency chains between filing types.
Data Specificity
A VAT return requires declaration numbers, MyData reconciliation dates, and CHECK dates. Payroll requires 8 completion steps. Leave declarations need approval flags. Generic tools treat all tasks identically.
Coordination Gap
Multiple staff members handle different obligation types for the same clients. Without per-obligation permissions and visibility controls, work is duplicated, overlooked, or completed without proper audit trails.
What It Tracks
Nine obligation types, each with its own data model, completion rules, and tracked fields. Every type reflects actual Greek statutory filing requirements.
VAT Returns
Monthly / QuarterlyIncome/expense corrections, MyData reconciliation, CHECK date, submission reference
Social Security
MonthlySubmission reference, amount due vs payment amount with underpayment highlighting
Supplementary Pension
MonthlySubmission reference, dates, amounts
Monthly Payroll
Monthly8 completion steps: calculation, notification, ΑΠΔ, payment, cost, ΦΠΥ, leave, books. Bonus months: 2 steps
Payroll Tax
MonthlyAmount, file submission, submission reference
Leave Declarations
MonthlyLeave approved (ΝΑΙ/ΟΧΙ), submission reference
Intracom / VIES
MonthlySeparate flags for deliveries and acquisitions
Digital Books
MonthlyIncome and expense reconciliation dates, cash register
Income Tax
YearlyForms E1, E2, E3, declaration number, amounts, payment dates
Daily Workflow
From dashboard overview to obligation completion — designed around how accounting firms actually operate, not how project management tools think they should.
Dashboard
Admin sees global stats, per-obligation breakdown, recent activity, upcoming and overdue. Staff see a filtered view limited to their permitted obligations.
Client View
Tabbed interface per obligation type with year sub-tabs. All fields editable inline. Bulk year creation with one click (+ Ετος).
Complete
Fill trigger fields and status updates automatically. VAT: declaration number. Payroll: all 8 steps. Leave: approval + reference. MyData: both dates.
Monitor
Obligation matrix view across all clients for a single type. Overdue detection. Control documents panel tracks source document receipt.
Key Features
Built for the specific requirements of Greek accounting practices. Every feature addresses a real operational need that generic tools cannot fulfil.
Auto-Completion Logic
Status automatically set to completed when trigger fields are populated. Rules vary by obligation type — no manual status toggling needed.
Branch Sub-Rows
Track the same obligation across multiple business branches of one client. Each instance supports multiple branch rows with independent data capture.
Granular Permissions
Per-user, per-obligation field-level permissions. Admin grants each staff member specific fields they can edit for each obligation type, plus system actions (_new, _append, _delete).
Control Documents
Per-client monthly checklist tracking receipt of source documents: cash register data, payroll slips, rent invoices, utilities.
Full Audit Trail
Every create, update, delete, and login action logged with old/new values, IP address, and user agent. JSONB storage for complete change history.
Bulk Year Management
Create all 12 monthly instances for a year with one click. Delete an entire year's rows when needed. Assignment-triggered auto-creation.
Technical Architecture
Modern stack, containerised deployment, zero external dependencies. Everything runs within your infrastructure.
Backend
Python 3.12, FastAPI, SQLAlchemy 2.x (async), Pydantic v2. RESTful HTTP API under /api/.
Frontend
React 18, TypeScript, Vite, TailwindCSS, React Query. Responsive SPA with real-time data synchronisation.
Database
PostgreSQL 16. Relational data model with JSONB for audit trail storage and flexible field configurations.
Containerisation
Docker Compose with three services: database, backend, and frontend. Single docker compose up to deploy.
Authentication
JWT with access + refresh tokens, automatic token refresh on 401 responses. Role-based access control for admin and staff users.
API
RESTful HTTP under /api/. Full OpenAPI documentation auto-generated. All endpoints validated with Pydantic schemas.
Why Not Trello?
Generic project management tools and ERP modules are not designed for the specific data models, completion rules, and permission structures that Greek statutory obligations require.
vs. Generic Tools (Trello, Asana, Jira)
- No obligation-specific fields — every task looks the same regardless of whether it is a VAT return or a leave declaration
- No auto-completion logic — status must always be toggled manually
- No branch sub-rows — cannot represent multi-branch obligations for a single client
- No control document tracking — source document receipt is a separate workflow
- No per-obligation permissions — access is all-or-nothing at the project or board level
vs. ERP Modules
- No dependency on a larger ERP system — runs independently
- Designed for the external accounting firm, not internal finance departments
- Self-hosted with a single
docker compose up— no vendor implementation required - No per-module pricing or annual licensing fees
- Purpose-built data models instead of generic configurable fields
Deployment
Self-hosted Docker Compose stack. Single command deployment. All data stays on your firm's infrastructure.
Single Command
Clone the repository, run docker compose up, and the entire stack — database, backend, and frontend — is running. No manual configuration needed.
Data Sovereignty
All client data stays on the firm's own infrastructure. No cloud dependencies, no third-party data processing. Full control over backups, retention, and access.
Requirements
Docker and Docker Compose on any Linux server or VM. Single-instance per firm — no multi-tenancy overhead. Minimal resource footprint.
Stop Chasing Deadlines
Purpose-built for the way Greek accounting firms actually work. Every obligation type, every client, every deadline — tracked with the specificity your practice demands.