Skip to content
TsakmakTsakmak

Product

Greek Freelancer Finance (GFF)

Your myDATA invoices, income and tax estimates in one private, self-hosted view.

Live
Status
Live
Platforms
Web, Android
Hosting
Self-hosted in Greece (EU)

The problem

As a Greek freelancer, your invoices live in the AADE myDATA portal, your money lives in your bank, and VAT, income tax and EFKA contributions are worked out somewhere else again. Knowing what you earned, what you pay and what is actually free to spend means stitching those pieces together by hand. I am a freelancer myself, and I built GFF for my own work first: to manage my invoices, see what I pay and how, and check that my accountant entered everything correctly.

What it does

Greek Freelancer Finance (GFF) reads the invoices you issue and receive straight from AADE myDATA and turns them into one view of income, expenses, VAT, income tax and cash flow, with the Greek rules built in. You do not type invoices in. You see your position for any period, plan the months ahead, and hand your accountant a clean export. Tax and VAT figures are estimates to plan with, not a replacement for your accountant.

How it works

  1. Sign in on the web or in the Android app.

  2. Press sync to pull your issued and received documents from AADE myDATA into the app.

  3. Open the finance overview to see income, expenses, VAT and your estimated income tax for a period, and open any invoice for its details.

  4. Check upcoming tax deadlines, Safe-to-Spend and the cash-flow plan to decide what to set aside.

  5. Export an Excel or PDF file for your accountant.

Key features

One finance overview

The main dashboard has tabs for overview, invoices, VAT, tax, assets and classification codes, with a period selector and a drawer for each invoice. The ledger decides income or expense by document type, leaves out cancelled invoices, handles credit notes and withholding, and only counts input VAT that is classified.

myDATA overview: income, expenses, profit and the VAT picture for the year
Dashboard: the month, cash, debts, net position and a quick new transaction
Bank accounts, cards and prepaid cards in one place
The same overview in dark mode
The web app at phone width: the dashboard

VAT, income tax and EFKA estimates

See VAT per period with a what-if calculator. The tax view projects your net income for the year, applies the progressive income tax brackets, your EFKA tier and the advance tax, and suggests a monthly amount to set aside. Tax rules for 2024 to 2026 are built in, including the 2026 relief rules of Law 5246/2025. Every figure is an estimate to plan with.

Monthly VAT returns with deadlines and a late classification warning
Income tax estimate next to your own forecast
VAT on a phone

Cash-flow plan and Safe-to-Spend

Plan 3, 6 or 12 months ahead. Income, VAT, EFKA, loans and your own items become dated entries. You can switch off, shift or stop any automatic series, and skip, move or change a single entry. Safe-to-Spend estimates your available money after upcoming recurring costs and the tax set-aside, next to the next VAT and EFKA due dates.

Πλάνο: money in, money out and the balance for the coming months
What counts in the plan: switch each source on or off
Day rate calculator: VAT, withholding, EFKA and profit per month
The plan on a phone
  • Invoices straight from myDATA

    GFF is connected to the production AADE myDATA API, so it works with your real documents. A sync pulls the documents you transmitted (income) and received (expenses) into a local copy, together with their classifications. Each document is stored once by its MARK, so syncing again does not create duplicates, and every run is logged. Sync is started with a button, not on a schedule.

  • Exports for your accountant

    Export the invoices of a chosen period, with a summary of their classifications, as Excel or PDF, or as CSV. The same export is available from the phone, which makes it easy to compare your records with what your accountant has entered.

  • Android app with fingerprint unlock

    A native Android companion on the same account: dashboard and reports, transactions, accounts, myDATA status and sync, taxes and deadlines, recurring costs and loans, fixed assets and settings. The app opens behind a fingerprint or device lock prompt and connects only through the public HTTPS address. It keeps your login details encrypted on the phone itself, so signing in again is quick. It is built as an APK for my own phone and is not on Google Play.

Security and privacy

  • Where your data lives: in a PostgreSQL database on my own server, at my home in Greece (EU), on hardware I own and manage. The app runs in Docker containers, the database has no public port and the API listens only inside the server.
  • How traffic reaches it: through Cloudflare (TLS and a Cloudflare Tunnel), then a reverse proxy on the server. Cloudflare carries the traffic; the data itself is stored only on my server.
  • Sign in: the app's own login page, with email and password. Passwords are hashed with bcrypt, there is a minimum length and strength policy, and login attempts are limited per IP address. On the web the session lives in an httpOnly, SameSite=Strict cookie. New sign-ups are closed.
  • Browser protections: strict security headers on every response, including a Content Security Policy, HSTS and a block on framing.
  • Backups: a daily encrypted database backup (AES-256), kept for 30 days and checked after each run, with a restore script.
  • No tracking: no analytics, ads or third party SDKs in the web app or the Android app.
  • On the phone: the session token and the login details are kept encrypted on the device, in storage backed by the Android Keystore, for quick sign in. The screen is hidden from the recent apps view and screen capture, app data is excluded from device backups, and the app asks only for internet and biometric permissions.
  • myDATA access: the AADE credentials are set on the server, not entered in the browser or the app.

Under the hood

A Python FastAPI backend with PostgreSQL holds the myDATA copy, the ledger engine and the tax and planning logic. A Next.js and React front end shows the dashboards in Greek, with self-hosted fonts and a light and dark theme that works on mobile. The Android app is native Kotlin with Jetpack Compose, built as separate modules for each screen, with Greek and English text. Everything runs in Docker Compose on one server.

Built with AI agents, reviewed by a security professional. I used both local models and third party AI agents to write, integrate and iterate much faster than I could alone. I set the requirements, review the result and own the security. That is why I build: if a job takes 100 hours, and an app that takes 130 hours to build brings that job down to 10, I build the app, because every time after that costs only 10 hours. Building GFF is also how I learn new technologies and show, in real practice, that a small builder can ship a secure app.

Stack

  • Python
  • FastAPI
  • PostgreSQL
  • Next.js
  • React
  • Tailwind CSS
  • Docker
  • Kotlin
  • Jetpack Compose

Status and roadmap

Live

Live at freelancer.tsakmak.com, for my own use. The web app and the Android app are both at version 0.1.0. myDATA sync is manual, and the tax rules are updated by hand for each new year. GFF is not for sale and has no subscription; there are no accounts for other people today.

Planned:

  • Open source release (planned): publish the code so others can run their own copy.
  • Self-host guide (planned): step by step instructions to install GFF on your own server.
  • Passkeys, two-factor sign in and recovery codes (planned): stronger login for the web app.

Who it is for

  • Greek freelancers and sole traders on simplified books

    see invoices, income, VAT and an estimate of the tax to set aside, without entering anything by hand.

  • Freelancers who plan ahead

    see which months are tight before they arrive, with tax and EFKA payments already on the calendar.

  • Freelancers who want to check their accountant's work

    see every myDATA document of a period, check that your accountant entered everything correctly, and hand over a clean Excel or PDF.

  • People who want their financial data on their own server

    once the code and guide are published, run your own copy with no tracking and a locked phone companion.

Interested in Greek Freelancer Finance (GFF)?

A self-hosted web and Android app for Greek freelancers that reads AADE myDATA invoices and shows income, VAT, tax estimates and cash flow in one place.