Language: the app is available in English and Italian. It follows the device language by default (Italian on a device set to Italian, English everywhere else), and you can change it in the settings and in the first-run wizard. In both languages it follows Italian payslips (13th/14th/15th month pay, meal vouchers, national holidays, CCNL overtime allowance). This README is in English; an Italian translation is in README.it.md.
What it does
Have you ever reached payday wondering whether every part of your payslip actually arrived, and how many overtime hours you are piling up that never show up on it? This app answers both questions: it works out what you were owed, what you actually received and how much extra work went unpaid.
The app has two main pages, reachable from the tab bar at the bottom of the screen.
Salary page: the payslip, month by month
- What they still owe you: a single figure at the top, recalculated over the months whose payday has already passed.
- Average monthly pay: right under it, what the year is worth per month, with salary, 13th/14th/15th month pay, welfare, meal vouchers, fringe benefits and bonuses spread over the months. "How it adds up" shows each item's yearly amount and monthly share.
- Tracked pay items: salary, welfare, fringe benefits, meal vouchers, bonuses, expense refunds, plus the 13th/14th/15th month pay as separate items in the right months (12 to 15 monthly payments per year). Items you don't have (welfare, meal vouchers or fringe benefits set to 0) don't appear in the months or in the yearly summary.
- Status per month: ✓ received · ! missing · — not due. Plus an "Overtime" column that links to the Overtime page.
- Configurable payday: your pay day (1 to 28) decides when the app expects the month's salary. A switch covers people paid the following month (for example, May paid on 15 June).
- Per-month override of any amount: if a salary, a 13th month pay or a bonus arrives different from the default, you set it on that single cell.
- Automatic meal vouchers: counts Italian working days, excluding weekends and national holidays (Easter Monday included, computed correctly for every year). You can override it for holidays, sick leave or different remote-work days. The weekdays that count are configurable (Monday to Friday by default).
Overtime page: the unpaid extra hours
- Calendar for daily logging: open a day and log the hours you worked (weekend hours always count as overtime). In the day detail, the
‹ Week N › arrows move to the previous or next week. With the keyboard, type the hour and press Tab: the minutes become 00.
- Day types: Work, Holiday, Public holiday, Day in lieu: holidays, public holidays and days in lieu are logged without times and count as an 8-hour day. In the calendar holidays are blue, public holidays gold and days in lieu green; they are counted in the Months, Weeks and Years views.
- Hours bank: work on a day off (a Saturday, a Sunday) can be paid as overtime or go into the hours bank ("Time in lieu"). A Day in lieu on a working day takes 8 hours back out. The balance sits under the hero box ("Hours bank: +8.0 h") as soon as you use it; banked days have a green ring in the calendar.
- Usual schedule and break: every new entry starts with your usual hours (for example 9:00 to 18:00) and your break (30 minutes by default), set in the setup wizard and in the settings. On days that differ, you change them in the entry.
- Automatic threshold: contract hours (40 h/week by default) plus any CCNL flat allowance. Everything above becomes unpaid overtime.
- Hero box with two figures: the amount in euros (if you set an hourly rate) next to the total unpaid hours.
- Yearly KPI: overtime hours for the current year.
- Can be turned off: if you don't want to track hours, switch off "Overtime" in the settings and the page disappears, tab bar included.
General
- Installable as a PWA: add it to the home screen of an iPhone or Android phone; it updates itself at the next launch with a network connection (network-first service worker).
- CSV backup: export or import to move your data between devices (semicolon-separated, readable in Italian Excel and Numbers).
- Optional cloud sync: a private GitHub gist as shared storage between Mac, iPhone and office. No new services, no extra accounts.
- English and Italian: the whole interface is available in both languages, dates and amounts included (
en-GB or it-IT format, always in euros). It follows the device language and can be changed in the settings at any time.
Getting started (30 seconds)
- Open the app, or open
index.html with a double click: it opens in the browser.
- On first launch the app opens the "Let's start with you" wizard, one step at a time: name (with the English / Italian switch at the top of this first step); salary, number of monthly payments (12 to 15) and payday; welfare and meal vouchers; fringe benefits; whether you want to track hours (working days and contract hours); overtime (allowance and rate); your usual schedule (start, end, break); and a summary to check before the profile is created. Welfare, meal vouchers and fringe benefits are yes/no questions: if you don't have them, those items don't appear in the months. If you don't want to track hours, the hour steps are skipped. If you close the wizard halfway, it resumes where you left off.
- For every past month, open its card on the Salary page and set the status of each item. For extra hours, go to the Overtime page and log the days.
- To change the settings at any time: ⚙️ icon at the top right (Settings). To wipe everything and start over: "Reset data" at the bottom of the settings.
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗