Vaktberegner
Did you get paid right?
Only for iPhone
Free · Designed for iPhone. Not verified for macOS.
Did you get paid correctly? Take a photo of your payslip — Vaktberegner compares it with the collective agreement or the law for your industry and shows, in kroner, what may be missing. If it finds money, it drafts a ready-to-send claim to your employer.
For shift workers in Norway: security guards, health and care (municipal, hospital, private), retail and commerce, bus, construction, cleaning, hotels and restaurants, warehousing and logistics, road freight and electrical trades. Also for personal trainers and instructors.
The app is honest about what it knows and what it does not: where your rates depend on your employer being bound by the agreement, it says so plainly. If your employment contract has its own rates, it uses those.
Features:
• Read your payslip with the camera and get an answer in under a minute
• Shift calendar that calculates your pay before the payslip arrives — night, weekend, public holiday, overtime
• Extra shifts for part-time staff are treated as additional work, not overtime — as the rules actually say
• Ready-made claim letter when something is missing, "ask your employer" when coverage is unclear
• Notice of your next seniority step, and what it is worth per month. Available for security guards, bus and health and care, the industries with a seniority ladder in the app
• Documentation for part-time staff working beyond their contract (Working Environment Act § 14-4 a)
• Hourly-rate calculator for the self-employed
• Import your roster from the calendar
• Shifts, calculations and history stay on your phone and work without a connection. No account
• Reading a payslip or a roster photo needs a connection. The image is sent to a service that interprets it, and is not stored anywhere
Made by Zakaria Elkassmi and Ahmad Rashid — security guards who wanted a pay tool that is actually right.
more New in 2.8. The app says what it actually calculates, and says it to the right industry.
• OVERTIME BY INDUSTRY: The overtime choice showed the security guard rule to all thirteen industries. Now it shows the rule that applies where you work. In cleaning, construction, hospitality, haulage and fitness the supplement is 40 percent on every hour, and it comes from the Working Environment Act. Warehouse and electrical trades have their own steps.
• THE SICK PAY CAP WAS TOO LOW: The national insurance base amount in the app carried last year's figure on the wrong date. It is corrected against nav.no, and the cap now uses the amount from 1 May 2026.
• HOSPITAL STAFF ON SPEKTER got the municipal health settings and no hourly rate. Spekter now has its own setup with its own fields.
• CAVEATS WHERE THEY BELONG: The limitation warning, the case list, the payslip check and the seniority card now say clearly when something depends on your employer being bound by the agreement, and when the figures rest on rates you entered yourself.
• THE IMPORT SEES WHAT IS GONE: If you traded away a shift, it no longer stays behind when you fetch the roster again. Nothing is removed on its own.
• HOSPITALITY: The regulation covers work on land. If you work in catering on board a ship or ferry, your pay follows a separate agreement we have no rates for. The app now says so.
• WHAT ACTUALLY HAPPENS TO THE IMAGE: The app said data never leaves your phone. That was not true for payslips and rosters, which are sent to a service that reads them. The image is not stored anywhere, and the figures stay with you. That is what the app, the website and this page now say.
Thanks to everyone who reports. Several fixes here came from your comments.
2.8 2d ago
The look is back to how it was before the last update.
We tried a new design in 2.6, and many of you told us clearly that it missed. Then the right thing is to go back. The cards, the colours and the type are as you know them.
Everything new under the hood stays:
• Thirteen industries, including warehouse and logistics, road haulage and electrical trades.
• "Regular pay" for extra shifts within what you can work without overtime.
• Extra shifts for full-time staff in construction, cleaning, hospitality, haulage and fitness are paid with the statutory overtime supplement.
• The Ask tab answers tax questions, and always points to skatteetaten.no.
Thanks to those who spoke up. It is faster to turn around when someone says what they think.
2.7 3d ago
New in 2.6. The app now looks like the thing it is about: a payslip. And it knows thirteen industries.
• NEW LOOK: Numbers have their own typeface and sit in columns that line up. Thin rules instead of boxes, no glow and no gradients. The check shows what the payslip said, what the agreement says and the difference, side by side.
• LIGHT MODE: Under You, choose Dark, Light or System. Choose System and the app follows your phone. Shifts, Money, You, the setup and Ask are redrawn in both modes.
• NEW INDUSTRIES: Warehouse and logistics (the wholesale agreement, with day, BTA or shift schemes), road haulage (statutory minimum wage) and electrical trades (the regulation with its own shift and overtime rules).
• EXTRA SHIFT WITHOUT OVERTIME: New option "Regular pay" for extra shifts within what you can work without overtime. The whole shift is paid at your ordinary rate with your supplements. Came from one of you on TikTok.
• FIXED: Extra shifts for full-time staff in construction, cleaning, hospitality, haulage and fitness paid 0 kr. They are now paid with the statutory overtime supplement. Cleaning night supplement is also paid on overtime hours, as the regulation says.
• Two identical shifts never silently become overtime. If they disagree, we keep the regular one and tell you.
• Larger text works throughout the app, and screen readers now say whether pay went up or down.
• The Ask tab can answer tax questions: tax card, table deduction, tax-free threshold, holiday pay. Always guidance, always pointing to skatteetaten.no.
• Every text rewritten: shorter sentences, no exclamation marks, the same honesty about what is law, what is agreement and what is your own numbers.
Thanks to everyone who reports. Several fixes here came from your comments.
2.6 3d ago
New in 2.4 — a new look, a new start, and a fix for numbers that were too high.
• NEW LOOK: warmer colours, a new typeface and calmer surfaces. Same app, easier to read — on night shift too.
• NEW ONBOARDING: We first ask who pays your salary — municipality, hospital or private company — so kindergarten, after-school and school staff land on the right agreement straight away. Every step says what comes next, and you finish on a summary with one thing to do: photograph your payslip.
• FIXED: Extra shifts for part-time staff were calculated as overtime. Hours up to a full position are additional work at your ordinary hourly rate — as the rules actually say. The number gets lower, and right. Applies to all industries.
• Child and youth worker and assistant added to the municipal (KS) list, with the correct pay group with and without a trade certificate.
• The app tells you when a new version is out, and shows what is new after updating.
• The pay breakdown shows additional work as its own line, and the payslip check recognises it.
Thanks to everyone reporting on TikTok — the additional-work fix came from a single comment.
2.4 6d ago
New in 2.3 — fitness instructors, and clearer about what you are actually entitled to.
• NEW INDUSTRY: Personal trainers, group instructors and gym staff. Enter your own hourly rate — how most in the industry actually work — and get your shifts calculated. The app is honest about what the agreement covers and what it does not.
• Self-employed PT? The app calculates what you need to charge per hour to break even, including holiday pay, pension and national insurance.
• Clearer about what applies to YOU: where your pay depends on your employer being bound by the collective agreement, it now says so plainly — in the app and in the claim letter. If you use your own rates, the letter cites your employment contract, not an agreement you are not on.
• "Claim it back" becomes "Ask your employer" when it is unclear whether you are covered. The draft asks instead of demanding.
• Seniority increases are now calculated with YOUR industry's ladder — not the security guards'. Industries without a seniority ladder say so, instead of showing a number that does not apply.
• Undoing a deleted shift restores exactly that shift, with everything in it.
• Settlement notices appear only where they actually apply.
Thanks to everyone who reports issues — several fixes here came straight from you.
2.3 6d ago
New in 2.2 — the whole answer where you are, a new industry, and sharper payslip photos.
• NEW INDUSTRY: Hotels, restaurants and catering. Statutory minimum wage from the extension regulation, with rates per age group — and an honest card about what is NOT statutory, so you know what requires a collective agreement.
• Payslip photos are read more sharply. Images were sent at full resolution, and the AI only read parts of the slip. Now they are scaled properly before sending — the whole slip comes through.
• Photograph your payslip and get the full answer on one screen: the rates AND line by line against your shifts.
• Entitled to a bigger position? If you work part-time and regularly beyond your contract, the app documents it against the Working Environment Act § 14-4 a — and tells you when you have twelve months documented.
• Share the find. If the app found missing pay, share an image with the amount — without employer, name or the slip itself.
• My cases: every month the app found missing pay, with total and limitation deadline. And your own payday, so the deadline is calculated correctly.
• Backup. Save everything to a file — and restore it on a new phone.
• The correct agreement in the dispute document. KS claims cited the security guards' agreement; now every industry cites its own agreement with the right sections.
• Many calculation errors fixed: night shifts across the DST change, Christmas and Easter in municipal healthcare and bus transport, holiday pay for part-timers, "35.000" becoming 35 in the claim letter.
• Sheets can be dragged to close, the app can be zoomed, and much has been tightened.
Thanks to everyone who reported issues — the most important fixes here came from you.
2.2 Aug 30
New in 2.1 — the whole answer where you are, and six calculation errors gone.
• Photograph your payslip and get the full answer on the same screen: the rates AND a line-by-line comparison against your shifts. Before, you had to switch tabs and photograph the same slip again for the second half — many people thought they were done before they were.
• My cases: every month the app has found you're missing pay, with the total and how long until the claim expires. The app has been remembering these for a while, but they had no screen to appear on.
• Your payday. The limitation period runs three years from the day you were paid, and the app assumed the 15th. Now you can set your own.
• Backup. A wage claim lives for three years, and everything was only on this phone. Now you can save it all to a file — and restore it on a new one.
• Six calculation errors fixed. The most important one hit every night the clocks change: a night shift across the daylight-saving switch was counted as eight hours whether it was seven or nine. In autumn that was 339 kr short on a single shift.
• Christmas Eve and Easter for municipal healthcare workers: the app used the security guards' hours. An 08:00–16:00 shift on Christmas Eve gave one hour of holiday supplement where the KS agreement gives four — 1,182 kr short. Same for bus drivers, who have their own hours.
• Typing "35.000" now means 35,000, not 35. That number went straight into the claim letter to your employer.
• Part-time in healthcare, retail and transport: the holiday pay estimate applied your percentage twice and showed 40% too little.
• The app can be zoomed. The rate tables are small, and there was no way out of them before.
Thanks to everyone who reported something. Almost all of this came from someone saying that something looked wrong.
2.1 Aug 29
New in 2.0 — the app remembers your claim, and warns you before it dies.
• Wage claims prescribe after three years. After that the money is gone, however right the claim was — and almost nobody knows it. The deadline is now in the app, and you get told six months and one month before.
• And the part no one tells you: sending the claim does not stop the clock. Only the employer acknowledging it, or you filing a conciliation complaint. That now appears both in the app and in the dispute document.
• The app remembers your pay checks. The figure you typed used to vanish when you closed the app. Each month is now stored — what you got and what you should have had — so you can follow a case over time instead of recalculating it.
• "New shift" has a real date picker. The button used to say "Older date", and was the only route to a shift in the future. Now it says what it does.
• Roster import no longer names the wrong employer's system to everyone. Where we know which scheduling system you use, it says so; otherwise it stays neutral.
• Night and weekend supplements are now date-driven, like the pay table. A shift from March is calculated with March's rates — that is precisely the payslip you want back-paid.
Thank you to everyone who has reported something. Almost all of this came from someone saying a figure looked wrong.
2.0 Aug 11
New in 1.9 — correct figures for every sector, and Settings where you can find them.
• Settings is now its own tab, "Deg". It used to sit behind a gear icon on one tab only, so if you were in Shifts and wanted to change your job, there was no way to get there. Your jobs, your rates and your rosters are now one tap away from anywhere.
• Construction, cleaning and bus drivers have their own settings now. They used to borrow the security guards': a construction worker got a seniority ladder construction doesn't have, and a trade-certificate switch that did nothing — because on a building site, "skilled worker" IS a pay group, not a supplement. Each sector now shows what actually applies to it.
• Hourly pay is now correct in every sector. A skilled construction worker and a cleaner previously saw the same figure in several places, because both fell back on the security guards' pay table. Each sector is now calculated against its own floor.
• Everyone is asked who they work for. Four of six sectors got through the whole setup without the app ever learning it — and that name is exactly what goes on a pay claim.
• With two jobs, you can now filter the shift list to one of them, so you can hold a single payslip against exactly the shifts it covers. The rest-time check still sees both jobs — it is measured on what you actually worked, and that is precisely where the breaches no employer spots are found.
• Bus drivers outside Oslo and Akershus are now asked whether the week is 37.5 or 35.5 hours. Both exist in the table, and the difference is around 15 kroner an hour.
• The Ask tab now suggests questions that fit your agreement, and says "the statutory minimum wage" to those without a collective agreement — because there, the floor applies by law regardless.
• A tidier Economy tab, a shorter setup, and shift cards that name your supplement the way your agreement does.
1.9 Aug 5
New in 1.8 — statutory minimum wage, and support for two jobs.
• Construction and cleaning are now supported. In these sectors the minimum wage applies BY LAW, whether or not you are unionised and whether or not your employer has a collective agreement — and paying less is illegal. Pick your sector and see if your hourly rate holds up.
• Cleaning also has a statutory evening supplement: at least NOK 29/hour between 21:00 and 06:00. It comes on top of your hourly rate, and applies without any collective agreement.
• Two jobs. If you have two employers, you can add them separately. Each is calculated under its own agreement, every shift is tagged with the job it belongs to, and the Economy tab shows what each one pays.
• And the thing no payslip can show: rest time across both jobs. Work an evening shift at one and a morning shift at the other, and neither employer sees the whole picture — the app does, and tells you when the rest period falls short.
• Your rosters are now a list. Each roster remembers which job it belongs to, so one tap imports the shifts to the right place. You can have one roster link per job.
• Bus drivers now get the same employer picker security guards have — Vy, Nobina, Unibuss, Tide and Boreal.
• Shorter setup, a calmer Economy tab, and a tidier industry picker where every option fits on screen.
1.8 Aug 3
New in 1.7 — bus drivers are in.
• The Bus Industry Agreement (Bussbransjeavtalen) is now supported, for both NHO Transport and Spekter. Pick your area (Oslo, Akershus or elsewhere), seniority, competence modules and trade certificate, and the app works out the correct hourly rate and unsocial-hours supplements under § 6.
• Split shifts: an unpaid break of more than 30 minutes at the depot earns you one extra hour's pay that day. The app finds those days itself and adds the amount to your monthly total.
• Shorter setup. We no longer ask for things we don't need to get you started — employer name and base salary can wait until they are actually used.
• Your first shift in one tap. New here? Add yesterday's day, evening or night shift with a single tap — and see what it is worth before you tap.
• Cleaner pages for healthcare, hospitals and retail: your setup is collapsed to a single line, and the answer — whether you are above or below the pay floor — comes first, with the difference in kroner.
• Self-certified sick days in an imported roster now ask how many hours you were SCHEDULED to work, not how much you managed before going home. Scheduled hours are what sick pay is based on.
• The app feels like an app: no scrollbar, no text selection on long-press, no grey flash on every tap.
• Better on small screens. Went through every tab and subpage so content no longer sits hidden behind the bottom menu bar.
• Fixes an issue where the overtime basis was slightly too low — in the employer's favour.
1.7 Jul 30
New in 1.6 — check your pay in seconds.
• Take a photo of your payslip and the app reads your setup automatically. No need to enter seniority, working hours or supplement scheme — we work it out from the hourly rate on the slip.
• New pay check: the app compares your supplement rates against the collective agreement and tells you if your night or weekend supplement is too low. If it finds a discrepancy, you get a ready-made message to send to your manager or union representative.
• Recognises back payments and extra payroll runs, so you don't get a false alarm on a slip that is only an adjustment.
• "Ask about your pay" now has its own tab. The assistant answers faster and shows what it is working on.
• New career guidance: ask "is a trade certificate worth it?" or "when do I move up a seniority step?" and the app works it out using your own rates — in kroner per month and per year.
• New home screen: one question, one button. Tidier shift list, calmer colours and better readability throughout.
• Fixes an issue where the trade certificate supplement could be missed when it had no amount listed on the slip.
1.6 Jul 25
Fix in the overtime calculation: the trade certificate supplement is now included in the overtime basis, so overtime pay is correct for certified guards. Overtime for part-time staff with service-branch supplements is also fixed.
1.5 Jul 24
Fix in the overtime calculation: the trade certificate supplement is now included in the overtime basis, so overtime pay is correct for certified guards. Overtime for part-time staff with service-branch supplements is also fixed.
1.4.1 Jul 23
New in this version:
• Share your pay progress: create a clean image of your monthly pay in one tap — "I earned X, up Y from last month" — ready to share.
• Compare with last month: see whether your pay went up or down, in kroner and percent.
• Average hourly wage: see what you actually earn per hour once supplements are included.
• Monthly goal with a reminder: set an income goal and get notified when you reach it.
• 5 tips for better pay: simple moves that put more in your account.
More improvements and bug fixes under the hood.
1.4 Jul 18
New in this version:
• Check your payslip with ONE photo — we read the hourly rate and supplements and flag anything that looks below tariff. No need to register a single shift.
• Fixed monthly salary: on a fixed salary (100% position) instead of hourly? Turn it on in Settings and we calculate correctly — the base stays fixed and shifts only show the supplements on top.
• Import your roster with one photo, or connect via iCal — much faster than typing shifts in.
• Self-certified sick leave: if a plan has a sick day, we ask how long you actually worked instead of skipping it.
• Overtime simplified to a single toggle.
• The Finances tab is decluttered: the essentials first, the rest one tap away.
More improvements and bug fixes under the hood.
1.3 Jul 17
Important bug fixes:
• Overtime: you now clearly choose whether the WHOLE shift is overtime, or whether you worked extra hours on top. Previously a 3-hour shift set to 100% could be calculated as 6 hours — too much pay.
• Updates now take effect without having to uninstall and reinstall the app.
• Screenshot import now skips delays, self-certified sick leave and holidays. Previously a "delayed 15 min" marker could be added as a shift and create pay that did not exist.
• Rest time: overlapping shifts are now detected — that is the case with the least rest of all.
• The bottom tab bar stays fixed instead of scrolling away with the content.
• The save button is always visible in the form.
• Tabs start at the top, and switching between them has a calm transition.
New:
• Hours vs. your contract: see whether you have worked more than your contract implies, so you can check if those hours should be paid as overtime.
• Alert when you qualify for a higher hourly rate (seniority step) — so you can check that your employer actually updates you.
• Monthly reminder to check your payslip.
1.2.1 Jul 16
New in this version:
• Import shifts from a screenshot of your roster — AI reads the dates and times automatically (great for Nokas, Avarn and more)
• Read your payslip from a photo — AI fills in the gross amount so you can quickly check you were paid correctly
• Improved overview and design
Always double-check what the AI reads before saving.
1.2 Jul 15
Improved UI and usability:
• Save button is always last in shift registration — cleaner flow
• Settings has clear sections (your company, salary settings, data)
• Delete all data is now its own section with a confirmation dialog
• Setup wizard scrolls better and the title no longer disappears behind the status bar
• Month navigation arrows are larger and easier to tap
1.1 Jul 14
New in 2.8. The app says what it actually calculates, and says it to the right industry.
• OVERTIME BY INDUSTRY: The overtime choice showed the security guard rule to all thirteen industries. Now it shows the rule that applies where you work. In cleaning, construction, hospitality, haulage and fitness the supplement is 40 percent on every hour, and it comes from the Working Environment Act. Warehouse and electrical trades have their own steps.
• THE SICK PAY CAP WAS TOO LOW: The national insurance base amount in the app carried last year's figure on the wrong date. It is corrected against nav.no, and the cap now uses the amount from 1 May 2026.
• HOSPITAL STAFF ON SPEKTER got the municipal health settings and no hourly rate. Spekter now has its own setup with its own fields.
• CAVEATS WHERE THEY BELONG: The limitation warning, the case list, the payslip check and the seniority card now say clearly when something depends on your employer being bound by the agreement, and when the figures rest on rates you entered yourself.
• THE IMPORT SEES WHAT IS GONE: If you traded away a shift, it no longer stays behind when you fetch the roster again. Nothing is removed on its own.
• HOSPITALITY: The regulation covers work on land. If you work in catering on board a ship or ferry, your pay follows a separate agreement we have no rates for. The app now says so.
• WHAT ACTUALLY HAPPENS TO THE IMAGE: The app said data never leaves your phone. That was not true for payslips and rosters, which are sent to a service that reads them. The image is not stored anywhere, and the figures stay with you. That is what the app, the website and this page now say.
Thanks to everyone who reports. Several fixes here came from your comments.
more Version 2.8 2d ago
Data Not Collected The developer does not collect any data from this app.