The Monthly view gives you a complete gross-salary picture for any month without requiring you to enter individual shifts. It reads the sameDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/dmaman86/shiftly/llms.txt
Use this file to discover all available pages before exploring further.
globalBreakdown (MonthPayMap) that the Daily view builds incrementally, then resolves per-diem and meal-allowance rates from a historical timeline for the selected period. Enter your hourly base rate and the summary instantly converts accrued hours and allowance points into shekel amounts.
What the Monthly View Shows
TheMonthlySalarySummary component divides the breakdown into three card sections. Each section lists individual pay types with their quantity, per-unit rate (derived from the configured base rate and the relevant multiplier or historical rate), and running sub-total. A grand total line appears below all sections.
Section 1 — Base Hours
Aggregated hours at fixed or statutory rates:| Pay Type | Source Field | Rate |
|---|---|---|
| Regular 100% | regular.hours100 | 1× base rate |
| Shabbat bonus 100% | extra100Shabbat | 1× base rate |
| Sick hours | hours100Sick | 1× base rate |
| Vacation hours | hours100Vacation | 1× base rate |
Section 2 — Extras & Overtime
Overtime tiers and time-of-day additions:| Pay Type | Source Field | Rate |
|---|---|---|
| 125% overtime | regular.hours125 | 1.25× base rate |
| 150% overtime | regular.hours150 | 1.5× base rate |
| Shabbat 150% | special.shabbat150 | 1.5× base rate |
| Shabbat 200% | special.shabbat200 | 2× base rate |
| Evening bonus (20%) | extra.hours20 | 0.2× base rate |
| Night bonus (50%) | extra.hours50 | 0.5× base rate |
Section 3 — Meal Allowance
Allowance points and amounts resolved at the historical rate for the selected year/month:| Pay Type | Source Field | Description |
|---|---|---|
| Per-diem allowance | perDiem.points / perDiem.amount | Tier A/B/C per-diem; amount uses the rate timeline. |
| Large meal allowance | mealAllowance.large.points / .amount | Large-allowance points × current historical rate. |
| Small meal allowance | mealAllowance.small.points / .amount | Small-allowance points (shift C) × current historical rate. |
Why Year and Month Selection Matters
Per-diem and meal-allowance monetary rates are not constant — they change over time via government-published updates. Shiftly stores a timeline of these historical rate periods. When the Monthly Summary renders, it looks up the applicable rate for the exact year and month you have selected in the Configuration panel. Selecting the wrong period will return an incorrect per-unit rate for allowances, even if the underlying points totals are accurate. Always confirm the year and month in the Configuration panel before reading the ₪ amounts in the summary.The MonthPayMap Data Structure
The globalBreakdown held in Redux state is of type MonthPayMap. All fields are derived from accumulating individual WorkDayMap values throughout the month:
Segment carries a percent multiplier (1 = 100%, 1.25 = 125%, etc.) and the accumulated hours for that category.
Incremental Accumulation via MonthPayMapReducer
The MonthPayMapReducer class is responsible for keeping globalBreakdown current without reprocessing the whole month. It exposes two mutating methods:
accumulate(base, add)— adds aWorkDayMap(one day’s pay result) into the runningMonthPayMap. Called when a shift is saved or a sick/vacation day is confirmed.subtract(base, sub)— removes a previously-accumulatedWorkDayMapfrom the running total. Called when a shift is edited (the old value is subtracted before the new one is accumulated) or a day’s shifts are all deleted.
setYear or setMonth, which calls resetMonthData() internally. This clears globalBreakdown back to an empty MonthPayMap and empties dailyPayMaps — effectively starting a fresh calculation for the new period.
Navigating to the Monthly View
The Monthly view is accessible from the top navigation bar under Monthly, and also via the link in the Daily view’s subtitle: “Want to calculate monthly salary without entering shifts? Go to Monthly Summary.” The page uses the sameConfigPanel in mode="monthly", which shows a blue info banner confirming which month and year the calculation is based on, and marks the base-rate field as required.
Daily View
Enter individual shifts and see per-day pay breakdowns that feed this monthly summary.
Calculation Rules
Understand the Israeli labor law rules — overtime tiers, night bonuses, and Shabbat rates — that determine every value in this summary.