[{"data":1,"prerenderedAt":914},["ShallowReactive",2],{"announcements":3,"blog-/blog/v1-0-11-documents-redesign":28,"blog-related-/blog/v1-0-11-documents-redesign":466},[4],{"id":5,"title":6,"active":7,"body":8,"description":14,"extension":19,"link":20,"linkText":21,"meta":22,"navigation":7,"order":23,"path":24,"seo":25,"stem":26,"__hash__":27},"announcements/announcements/v1-0-15-leave-cancellation-and-dashboards.md","v1.0.15 · Cancel or change time off after approval, a redesigned expenses overview, and a smarter dashboard",true,{"type":9,"value":10,"toc":15},"minimark",[11],[12,13,14],"p",{},"v1.0.15 closes the loop on the leave workflow. Employees can now edit or cancel a request that's still pending, and — when plans change after it's already approved — send a cancellation request straight to their manager to approve or decline, all from the dashboard or calendar instead of an off-system email. Approvers get a live badge counting everything waiting on them right in the sidebar, can see each requester's own local time before they decide, and spot a pending cancellation at a glance on the calendar. The expenses list gains a redesigned overview — a clickable status funnel and an interactive spend chart you can flip between monthly and daily — and the dashboard now surfaces the people you actually work with first, remembering your filters between visits. Rounding things out: a consent-first cookie banner and proactive reminders before a white-label domain is due to expire.",{"title":16,"searchDepth":17,"depth":17,"links":18},"",2,[],"md","https://changelog.bookyourpto.com/","See what's new",{},12,"/announcements/v1-0-15-leave-cancellation-and-dashboards",{"title":6,"description":14},"announcements/v1-0-15-leave-cancellation-and-dashboards","fOAAtUu1UA--6s7IzYUyobFwFKQN9-hRD4h83d1hlxg",{"id":29,"title":30,"author":31,"body":32,"date":452,"description":453,"extension":19,"image":454,"meta":455,"navigation":7,"path":456,"readTime":457,"seo":458,"stem":459,"tags":460,"__hash__":465},"blog/blog/v1-0-11-documents-redesign.md","v1.0.11: The Documents Redesign — Your HR Filing Cabinet, Reimagined","AnHourTec Team",{"type":9,"value":33,"toc":439},[34,39,47,58,61,67,71,82,85,88,92,95,138,141,144,147,151,154,161,196,199,203,213,238,241,245,248,262,265,269,272,275,278,282,289,292,318,321,325,332,350,361,364,368,371,420,423,427,430,436],[35,36,38],"h2",{"id":37},"the-problem-with-upload","The Problem With \"Upload\"",[12,40,41,42,46],{},"Here is the old workflow. You open ",[43,44,45],"code",{},"/documents",", hit Upload, drag in Maria's signed offer letter, pick her name from a dropdown, and click save. A week later you need to find that letter — along with her contract from last year and the visa renewal you uploaded in March.",[12,48,49,50,53,54,57],{},"You know it is in there. You uploaded it. But \"in there\" means scrolling a flat list, filtering by name, hoping you remember whether you tagged it ",[43,51,52],{},"offer"," or ",[43,55,56],{},"offer-letter",", and squinting at thumbnails.",[12,59,60],{},"That friction is the entire reason we rebuilt Documents. v1.0.11 replaces the generic upload pile with a real filing cabinet — the same mental model HR teams have used on physical drawers for fifty years, ported into the product without losing any of the digital advantages.",[12,62,63,64,66],{},"This post is a walkthrough. Open ",[43,65,45],{}," in another tab and follow along.",[35,68,70],{"id":69},"the-filing-cabinet-lands-first","The Filing Cabinet Lands First",[12,72,73,74,76,77,81],{},"When you open ",[43,75,45],{},", you no longer arrive at an upload screen. You arrive at ",[78,79,80],"strong",{},"My Documents"," — a 2-3 column responsive grid of folder tiles. The cabinet is the page. There is no routing through a generic entry, no pile to sort through later. Every folder you might drop a document into is already in front of you.",[12,83,84],{},"Each tile shows a folder icon, a name, a document count, and a color band. Click one and you're inside that folder, looking at its contents. Click outside it and you're back at the cabinet. That's the entire navigation model.",[12,86,87],{},"The point of putting the cabinet first is simple: the moment you arrive with a document in hand, you're already looking at the place it belongs. You don't pick a destination from a dropdown — you pick a drawer.",[35,89,91],{"id":90},"thirteen-built-in-categories","Thirteen Built-In Categories",[12,93,94],{},"Every cabinet ships with thirteen built-in folders, pre-created and always visible — even when empty. They are:",[96,97,98,102,105,108,111,114,117,120,123,126,129,132,135],"ol",{},[99,100,101],"li",{},"Contracts",[99,103,104],{},"Offer Letters",[99,106,107],{},"Salary Increments",[99,109,110],{},"Performance Reviews",[99,112,113],{},"Policy Documents",[99,115,116],{},"ID Documents",[99,118,119],{},"Certificates",[99,121,122],{},"Training Materials",[99,124,125],{},"Medical Certificates",[99,127,128],{},"Visa Documents",[99,130,131],{},"Tax Documents",[99,133,134],{},"Insurance",[99,136,137],{},"Other",[12,139,140],{},"These are not suggestions. They render on day one of every account, and they keep rendering even when they hold zero documents. That choice is deliberate.",[12,142,143],{},"The alternative — folders that appear only after they have something in them — is the pattern most file managers use, and it sabotages the whole metaphor. If the Visa Documents folder doesn't exist until you put a visa document in it, you're back to choosing a category from a hidden list every time you upload. By keeping all thirteen visible at all times, the answer to \"where does this go?\" is always one click away. You drop the document straight into the right drawer.",[12,145,146],{},"Most teams will use ten of the thirteen heavily and the others occasionally. That's fine — the empty ones cost nothing to leave in place.",[35,148,150],{"id":149},"custom-folders-on-your-terms","Custom Folders, On Your Terms",[12,152,153],{},"Built-ins cover the common cases. Custom folders cover everything else.",[12,155,156,157,160],{},"Each user can create their own folders, scoped to their account. They sit ",[78,158,159],{},"above"," the built-ins in the cabinet so your bespoke organization shows first. The rules:",[162,163,164,170,184,190],"ul",{},[99,165,166,169],{},[78,167,168],{},"Names are capped at 50 characters."," Long enough for \"Q4 2026 Contractor Statements of Work\" if you really want it, short enough that the tile stays readable.",[99,171,172,175,176,179,180,183],{},[78,173,174],{},"Pick an icon from a curated Lucide set."," A folder for legal might take a ",[43,177,178],{},"gavel","; a folder for travel docs might take a ",[43,181,182],{},"plane",". The icon set is curated, not the full Lucide library — we pruned to the icons that actually read at folder-tile size.",[99,185,186,189],{},[78,187,188],{},"Pick a hex color."," Each folder carries a color band so the cabinet stays visually distinct at a glance.",[99,191,192,195],{},[78,193,194],{},"Soft-delete frees the name immediately."," Delete a folder called \"Old Vendors\" and the name slot is released the same instant — you can create a new \"Old Vendors\" right after if you want. The deleted folder still exists for recovery, but it no longer holds the namespace.",[12,197,198],{},"That last rule matters more than it sounds. The annoying version of soft-delete is when the deleted record keeps reserving the name and you have to call it \"Old Vendors 2\" on the second pass. We don't do that.",[35,200,202],{"id":201},"tag-filtering-behaves-two-ways","Tag Filtering Behaves Two Ways",[12,204,205,206,53,209,212],{},"Tags exist alongside folders. A document can live in Contracts and also be tagged ",[43,207,208],{},"q4-2026",[43,210,211],{},"priority-review",". The redesign wires tag filtering into both layers of the cabinet:",[162,214,215,229],{},[99,216,217,220,221,224,225,228],{},[78,218,219],{},"At the cabinet level",", selecting a tag drops you into a ",[78,222,223],{},"flat cross-folder result list"," — every document with that tag, regardless of which folder it's in. Useful when the tag is the actual axis you care about (\"show me everything tagged ",[43,226,227],{},"expiring-soon",", I don't care which folder it lives in\").",[99,230,231,234,235,237],{},[78,232,233],{},"Inside an open folder",", the tag scopes within that folder. Select ",[43,236,208],{}," while you're inside Contracts, and you see only Q4 contracts. The folder boundary is respected.",[12,239,240],{},"Same UI, two contextual behaviors. The first lets tags act as cross-cutting saved searches; the second lets them refine within a known location. Either is one click.",[35,242,244],{"id":243},"two-upload-modes-store-vs-sign","Two Upload Modes: Store vs Sign",[12,246,247],{},"Every upload now asks the same question up front: are you stashing this document, or are you routing it for signatures?",[162,249,250,256],{},[99,251,252,255],{},[78,253,254],{},"Store"," — drop the file into a folder and you're done. Use this for records that are already signed elsewhere, reference documents, certificates, IDs, anything where the goal is \"keep a copy I can find later.\"",[99,257,258,261],{},[78,259,260],{},"Sign"," — route the document through the signature flow. Drag-drop signature, date, and text fields onto the page. Set sequential signing if the document needs Manager → Director → Executive in that order. Each signature event lands in the audit trail with timestamp and signer identity. Use this for offer letters, NDAs, policy acknowledgments, anything that doesn't count as filed until it's signed.",[12,263,264],{},"The split matters because the two paths have different completion criteria. A stored doc is done the moment it's uploaded. A signed doc is in flight until every signer has finished. Treating them as the same flow forced compromises in both directions; separating them at the upload modal lets each path do its job.",[35,266,268],{"id":267},"the-document-detail-page-quieter","The Document Detail Page, Quieter",[12,270,271],{},"Open any document and you land on the redesigned detail page. The change is in the proportions.",[12,273,274],{},"The preview pane is large — most of the screen — and the metadata sidebar is quieter: name, folder, tags, uploaded by, uploaded at, expiry if applicable, signature status if applicable. Less chrome around the edges, more document in the middle. When you click into a contract, you should be reading the contract, not navigating around it.",[12,276,277],{},"Actions (rename, move, delete, request signature, export) collapse into a single action menu rather than a row of always-on buttons. The fewer pixels the UI takes, the more pixels the document gets.",[35,279,281],{"id":280},"expiry-reminders-60-30-7-today","Expiry Reminders: 60, 30, 7, Today",[12,283,284,285,288],{},"Documents with expiry dates — visas, certificates, insurance, anything that lapses — drive reminders on a fixed cadence: ",[78,286,287],{},"60 days, 30 days, 7 days, and the day of expiry",". The new ExpiryRail experience surfaces this in the UI, but the reminder fan-out is what matters operationally.",[12,290,291],{},"Each reminder loops in:",[162,293,294,301,307,313],{},[99,295,296,297,300],{},"The ",[78,298,299],{},"document owner"," (whoever uploaded or is assigned to it)",[99,302,296,303,306],{},[78,304,305],{},"department head"," of the affected employee's department",[99,308,309,310],{},"All ",[78,311,312],{},"executives",[99,314,309,315],{},[78,316,317],{},"administrators",[12,319,320],{},"Four notifications per cadence, four cadences per document. The intent is that a passport renewal three weeks out should never be a surprise to anyone who could act on it. Loop everyone with standing to follow up; let the first person to handle it close the loop.",[35,322,324],{"id":323},"action-required-one-tray-scoped-by-role","Action Required: One Tray, Scoped By Role",[12,326,327,328,331],{},"Documents that need a human's attention used to scatter across the app — a sign request here, an expiring cert there, an overdue acknowledgment in a third place. The redesign consolidates them into a single ",[78,329,330],{},"Action Required"," tray.",[12,333,334,335,337,338,341,342,345,346,349],{},"The tray is unified across three categories — ",[78,336,260],{},", ",[78,339,340],{},"Expiring",", and ",[78,343,344],{},"Overdue"," — and ",[78,347,348],{},"scoped per role",":",[162,351,352,355,358],{},[99,353,354],{},"An employee sees their own pending signatures, their own expiring documents, and their own overdue acknowledgments.",[99,356,357],{},"A department head sees those, plus the same for their department.",[99,359,360],{},"Executives and administrators see the org-wide view.",[12,362,363],{},"One tray, one mental check at the start of the day: is anything red? If yes, click in. If no, get on with the rest of your work.",[35,365,367],{"id":366},"quietly-hardened","Quietly Hardened",[12,369,370],{},"Everything above is the user-facing redesign. Underneath, v1.0.11 is also a security release — none of which you should have to think about, but all of which is worth knowing exists.",[162,372,373,379,385,391,397,403],{},[99,374,375,378],{},[78,376,377],{},"AES-256-GCM at rest"," is preserved on every new write path. Every new upload code path — store mode, sign mode, /assign, /bulk-send — encrypts at rest with the same envelope as the existing pipeline. There are no plaintext shortcuts in the new flows.",[99,380,381,384],{},[78,382,383],{},"Multi-tenancy enforced on every new endpoint."," Every new route validates organization scope before it touches data. No cross-tenant leakage is possible from the new endpoints.",[99,386,387,390],{},[78,388,389],{},"Role-based access matrix unified"," across list, fetch, upload, bulk-send, and templates. Previously each verb had its own slightly different permission check; now there is one matrix and every verb consults it.",[99,392,393,396],{},[78,394,395],{},"Quota gates added to /assign and /bulk-send."," Plan limits are now checked before fan-out, not after, so a bulk-send that would exceed your plan is rejected up front rather than partially completing.",[99,398,399,402],{},[78,400,401],{},"Calendar privacy enforced at every layer"," — route guard, leaves API, leave-balance API, dashboard, and per-user calendar. The privacy setting is consulted in five places, not one, so a setting change can never be bypassed by hitting a different endpoint.",[99,404,405,411,412,415,416,419],{},[78,406,407,410],{},[43,408,409],{},"npm audit"," reports zero vulnerabilities."," The transitive ",[43,413,414],{},"postcss"," and ",[43,417,418],{},"@tootallnate/once"," advisories are resolved (both bumped); the dependency tree is clean.",[12,421,422],{},"None of this changes a workflow. All of it raises the floor.",[35,424,426],{"id":425},"open-your-cabinet","Open Your Cabinet",[12,428,429],{},"The redesign is live for every cloud customer. There is no migration step on your side — your existing documents are already filed into the right built-in folders, your tags carry over, and any sign requests in flight continue to work.",[12,431,432,433,435],{},"Head to ",[78,434,45],{}," and look at your cabinet. Drop a new file into the folder it belongs in. See if you can find Maria's offer letter in under five seconds.",[12,437,438],{},"If something feels off or you want a category we didn't include, send us a note. We read every ticket, and the next iteration of Documents starts with what you tell us this one missed.",{"title":16,"searchDepth":17,"depth":17,"links":440},[441,442,443,444,445,446,447,448,449,450,451],{"id":37,"depth":17,"text":38},{"id":69,"depth":17,"text":70},{"id":90,"depth":17,"text":91},{"id":149,"depth":17,"text":150},{"id":201,"depth":17,"text":202},{"id":243,"depth":17,"text":244},{"id":267,"depth":17,"text":268},{"id":280,"depth":17,"text":281},{"id":323,"depth":17,"text":324},{"id":366,"depth":17,"text":367},{"id":425,"depth":17,"text":426},"2026-04-29","Documents now opens on a filing cabinet of folder tiles — one drawer per employee, thirteen built-in categories, custom folders with Lucide icons, expiry reminders, and a unified Action Required tray.","https://images.unsplash.com/photo-1568667256549-094345857637?w=1200&h=630&fit=crop",{},"/blog/v1-0-11-documents-redesign","8 min read",{"title":30,"description":453},"blog/v1-0-11-documents-redesign",[461,462,463,464],"release notes","documents","e-signatures","hr","bWwSmph0eA64LGr4twMtW29EB0v7wC_IsMfR-W5IV8U",[467,609,760],{"id":468,"title":469,"author":31,"body":470,"date":597,"description":598,"extension":19,"image":599,"meta":600,"navigation":7,"path":601,"readTime":602,"seo":603,"stem":604,"tags":605,"__hash__":608},"blog/blog/employee-time-off-request-process.md","How to Build a Time Off Request Process That Doesn't Annoy Anyone",{"type":9,"value":471,"toc":589},[472,475,479,482,486,489,493,496,522,525,529,532,541,545,548,552,555,581],[12,473,474],{},"A clunky time off request process annoys everyone. Employees never know if their request was seen, managers lose track of who asked for what, and HR ends up chasing approvals. The fix is not more rules — it is a clearer, faster flow. Here is how to build one.",[35,476,478],{"id":477},"why-the-process-matters","Why the Process Matters",[12,480,481],{},"Time off is one of the most frequent interactions an employee has with your systems. If requesting a day off feels like filing paperwork, it colours how people feel about the whole company. A smooth process is a small thing that quietly improves morale — and a clumsy one is a small thing that quietly erodes it.",[35,483,485],{"id":484},"the-friction-of-email-and-forms","The Friction of Email and Forms",[12,487,488],{},"The classic process is \"email your manager.\" It feels lightweight but creates real problems: requests get buried, there is no record of the decision, balances are tracked separately (if at all), and no one can see whether the team is already short that week. Paper or PDF forms are worse — they add data entry on top of all the same gaps.",[35,490,492],{"id":491},"the-ideal-flow","The Ideal Flow",[12,494,495],{},"A good time off request process has four steps, and software should handle the hand-offs automatically:",[96,497,498,504,510,516],{},[99,499,500,503],{},[78,501,502],{},"Request"," — the employee picks a type and dates and submits in seconds, seeing their remaining balance before they confirm.",[99,505,506,509],{},[78,507,508],{},"Route"," — the request goes to the right approver automatically, based on your rules.",[99,511,512,515],{},[78,513,514],{},"Approve"," — the manager sees team coverage, then approves or declines in a click. Everyone is notified.",[99,517,518,521],{},[78,519,520],{},"Sync"," — the balance updates, the team calendar reflects it, and it lands in Google Calendar or Outlook.",[12,523,524],{},"No chasing, no spreadsheet update, no \"did you get my email?\"",[35,526,528],{"id":527},"make-it-self-service","Make It Self-Service",[12,530,531],{},"The biggest single improvement is letting employees submit and track their own requests. Self-service removes the HR bottleneck, and because the system validates each request against the live balance, it prevents the impossible bookings a manual process lets through. Staff also stop asking \"how many days do I have left?\" because they can simply see it.",[12,533,534,535,540],{},"An ",[536,537,539],"a",{"href":538},"/employee-time-off-tracker","employee time off tracker"," is built around exactly this flow.",[35,542,544],{"id":543},"give-managers-real-visibility","Give Managers Real Visibility",[12,546,547],{},"Approvals should never be a guess. Before saying yes, a manager should be able to see who else is already off that week. A shared team view turns approval from a gamble into an informed decision and is the single best defence against being short-staffed.",[35,549,551],{"id":550},"set-clear-simple-rules","Set Clear, Simple Rules",[12,553,554],{},"A good process still needs a few clear rules, written down where everyone can see them:",[162,556,557,563,569,575],{},[99,558,559,562],{},[78,560,561],{},"Notice periods"," — how far ahead routine requests should be made.",[99,564,565,568],{},[78,566,567],{},"Blackout dates"," — any periods when time off is restricted, and why.",[99,570,571,574],{},[78,572,573],{},"Approval chain"," — who approves, and what happens if they are away.",[99,576,577,580],{},[78,578,579],{},"Balances"," — how accruals and carry-over work.",[12,582,583,584,588],{},"Keep the rules minimal and consistent. The goal is a process so simple that booking time off is a non-event — which is exactly how it should feel. Tools like ",[536,585,587],{"href":586},"/pto-tracking-software","PTO tracking software"," let you encode these rules once so they apply automatically, every time.",{"title":16,"searchDepth":17,"depth":17,"links":590},[591,592,593,594,595,596],{"id":477,"depth":17,"text":478},{"id":484,"depth":17,"text":485},{"id":491,"depth":17,"text":492},{"id":527,"depth":17,"text":528},{"id":543,"depth":17,"text":544},{"id":550,"depth":17,"text":551},"2026-05-24","Email chains and paper forms make requesting time off painful. Here's how to design a simple, fair time off request process your whole team will actually use.","https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=1200&h=630&fit=crop",{},"/blog/employee-time-off-request-process","5 min read",{"title":469,"description":598},"blog/employee-time-off-request-process",[606,607,464],"time off","self-service","MX9yUB3aRVI0XHK7Jc3VWSICo6tpXwvbKgfjNFTJBlk",{"id":610,"title":611,"author":31,"body":612,"date":748,"description":749,"extension":19,"image":750,"meta":751,"navigation":7,"path":752,"readTime":602,"seo":753,"stem":754,"tags":755,"__hash__":759},"blog/blog/vacation-tracker-small-business.md","Choosing a Vacation Tracker for Your Small Business",{"type":9,"value":613,"toc":741},[614,617,621,624,627,631,634,638,682,692,696,699,703,706,738],[12,615,616],{},"A vacation tracker is one of the first pieces of \"real\" software most small businesses adopt as they grow past a handful of people. This guide covers when you actually need one, the features worth paying attention to, and how to roll it out without disrupting your team.",[35,618,620],{"id":619},"when-spreadsheets-stop-working","When Spreadsheets Stop Working",[12,622,623],{},"A shared spreadsheet is fine for three or four people. The tipping point usually arrives somewhere around eight to ten employees, when you start seeing overlapping bookings, balances that no longer add up, and a growing pile of \"how many days do I have left?\" messages.",[12,625,626],{},"If you recognise any of those signs, you have outgrown the spreadsheet. The good news is that a dedicated vacation tracker solves all three at once.",[35,628,630],{"id":629},"what-a-vacation-tracker-should-do","What a Vacation Tracker Should Do",[12,632,633],{},"At its core, a vacation tracker should let employees request time off, route those requests for approval, and keep everyone's balance accurate automatically. Beyond that baseline, the features that separate a good tool from a frustrating one are worth knowing before you choose.",[35,635,637],{"id":636},"must-have-features","Must-Have Features",[162,639,640,646,652,658,664,670,676],{},[99,641,642,645],{},[78,643,644],{},"Automatic balances and accruals"," — the system should calculate remaining days based on your policy, not rely on someone updating a column.",[99,647,648,651],{},[78,649,650],{},"Self-service requests"," — employees book their own time off and see their balance before submitting.",[99,653,654,657],{},[78,655,656],{},"Approval workflows"," — requests route to the right manager, who can see team coverage before deciding.",[99,659,660,663],{},[78,661,662],{},"A shared team calendar"," — so clashes are visible before they are approved.",[99,665,666,669],{},[78,667,668],{},"Calendar sync"," — approved time off flows into Google Calendar and Outlook automatically.",[99,671,672,675],{},[78,673,674],{},"Multiple leave types"," — vacation, sick, and personal time tracked separately with their own rules.",[99,677,678,681],{},[78,679,680],{},"An audit trail"," — a record of who booked what and when, for payroll and disputes.",[12,683,684,685,688,689,691],{},"A capable ",[536,686,687],{"href":586},"PTO tracking tool"," covers all of these, and an ",[536,690,539],{"href":538}," puts the self-service request flow front and centre.",[35,693,695],{"id":694},"free-options-exist","Free Options Exist",[12,697,698],{},"You do not need a big budget to get started. Several tools — BookYourPTO included — offer a genuinely useful free tier for small teams, so you can replace the spreadsheet without a procurement process. Start free, and upgrade only when your headcount or feature needs grow.",[35,700,702],{"id":701},"rolling-it-out-without-disruption","Rolling It Out Without Disruption",[12,704,705],{},"A smooth rollout comes down to a few steps:",[96,707,708,714,720,726,732],{},[99,709,710,713],{},[78,711,712],{},"Write your policy first."," Decide allowances, accrual rules, notice periods, and carry-over before you configure anything.",[99,715,716,719],{},[78,717,718],{},"Import your people and set balances"," to match where everyone currently stands.",[99,721,722,725],{},[78,723,724],{},"Pick your approval flow"," — who approves, and what happens when they are away.",[99,727,728,731],{},[78,729,730],{},"Tell the team how to book"," with a two-minute walkthrough. Self-service tools rarely need more than that.",[99,733,734,737],{},[78,735,736],{},"Run it in parallel for a couple of weeks"," if it makes you comfortable, then retire the spreadsheet for good.",[12,739,740],{},"The best time to adopt a vacation tracker is just before you desperately need one. If your spreadsheet is starting to creak, a purpose-built tracker will pay for itself in saved admin and avoided scheduling headaches — often without costing anything at all to start.",{"title":16,"searchDepth":17,"depth":17,"links":742},[743,744,745,746,747],{"id":619,"depth":17,"text":620},{"id":629,"depth":17,"text":630},{"id":636,"depth":17,"text":637},{"id":694,"depth":17,"text":695},{"id":701,"depth":17,"text":702},"2026-05-20","A buyer's guide to vacation trackers for small businesses: when to stop using spreadsheets, the features that matter, and how to roll one out without disruption.","https://images.unsplash.com/photo-1454165804606-c3d57bc86b40?w=1200&h=630&fit=crop",{},"/blog/vacation-tracker-small-business",{"title":611,"description":749},"blog/vacation-tracker-small-business",[756,757,758],"vacation tracker","small business","pto tracking","58ITSoGHqZa_sUOYkn51EbntMRNwH6sN55mtNbs1R5E",{"id":761,"title":762,"author":31,"body":763,"date":902,"description":903,"extension":19,"image":904,"meta":905,"navigation":7,"path":906,"readTime":907,"seo":908,"stem":909,"tags":910,"__hash__":913},"blog/blog/how-to-track-and-reduce-employee-absence.md","How to Track and Reduce Employee Absence",{"type":9,"value":764,"toc":893},[765,768,772,775,779,782,796,799,803,806,826,830,833,836,840,843,860,863,867,870,874,882,890],[12,766,767],{},"Every team deals with absence — vacation, sickness, appointments, emergencies. The difference between teams that cope and teams that get caught short is not luck; it is having a clear picture of who is away, why, and how often. Here is how to track absence properly and bring down the avoidable kind.",[35,769,771],{"id":770},"why-absence-tracking-matters","Why Absence Tracking Matters",[12,773,774],{},"Unrecorded absence quietly costs you in three ways: coverage gaps that hit deadlines, payroll errors when sick days are not logged, and an inability to support employees whose absence is creeping up. You cannot manage what you cannot see, and most businesses cannot see their absence clearly because it lives in inboxes and memory.",[35,776,778],{"id":777},"planned-vs-unplanned-absence","Planned vs. Unplanned Absence",[12,780,781],{},"Good absence management separates two very different things:",[162,783,784,790],{},[99,785,786,789],{},[78,787,788],{},"Planned absence"," — booked in advance: holiday, parental leave, scheduled appointments. This is about visibility and avoiding clashes.",[99,791,792,795],{},[78,793,794],{},"Unplanned absence"," — sickness, emergencies, no-shows. This is about accurate recording and spotting patterns early.",[12,797,798],{},"Treating both in one system gives you the full picture. A tool that only handles booked holiday misses half the story.",[35,800,802],{"id":801},"what-to-measure","What to Measure",[12,804,805],{},"A few simple metrics tell you most of what you need:",[162,807,808,814,820],{},[99,809,810,813],{},[78,811,812],{},"Absence rate"," — total absence days as a percentage of available working days. This is your headline number to track over time.",[99,815,816,819],{},[78,817,818],{},"Frequency"," — how many separate spells of absence someone has, not just total days. Several short, frequent absences can matter more than one long, explained one.",[99,821,822,825],{},[78,823,824],{},"Reason mix"," — how much is sickness vs. appointments vs. other, so you know where to focus.",[35,827,829],{"id":828},"spotting-patterns-early","Spotting Patterns Early",[12,831,832],{},"The point of measuring is to act early and supportively. Patterns worth noticing include repeated short absences around weekends, the same period each year, or a sudden change from someone's normal attendance. None of these are accusations — they are prompts for a supportive conversation. The earlier you can have it, the better the outcome for everyone.",[12,834,835],{},"This is almost impossible from a spreadsheet, because the data is never current and nothing surfaces a trend for you.",[35,837,839],{"id":838},"building-a-fair-absence-policy","Building a Fair Absence Policy",[12,841,842],{},"A clear, consistently applied policy is what keeps absence management fair. Document:",[162,844,845,848,851,854,857],{},[99,846,847],{},"How to report absence, and by when (e.g. before the start of a shift).",[99,849,850],{},"Who to notify and how.",[99,852,853],{},"When self-certification ends and a fit note is needed.",[99,855,856],{},"What return-to-work steps apply after longer absences.",[99,858,859],{},"How absence is recorded and who can see it.",[12,861,862],{},"Fairness comes from applying the same process to everyone — which is far easier when the process lives in one system rather than individual managers' habits.",[35,864,866],{"id":865},"reducing-avoidable-absence","Reducing Avoidable Absence",[12,868,869],{},"Once you can see absence clearly, the levers to reduce the avoidable part are well understood: tackle issues early and supportively, make booking planned time off easy so people do not \"go sick\" instead, give managers visibility so workloads stay reasonable, and keep return-to-work conversations routine rather than confrontational.",[35,871,873],{"id":872},"how-software-helps","How Software Helps",[12,875,876,877,881],{},"Dedicated ",[536,878,880],{"href":879},"/absence-management","absence management software"," records planned leave and unplanned sickness in one place, timestamps and attributes every entry, and turns those records into the absence rate and frequency trends you need — automatically. Managers get a real-time view of who is away today, and every record carries an audit trail for HR and payroll.",[12,883,884,885,889],{},"If your priority is the planned side — coordinating who is off and when — pair it with proper ",[536,886,888],{"href":887},"/leave-management","leave management"," so requests, approvals, and balances all run through the same system.",[12,891,892],{},"Absence will always happen. Managing it well is about visibility, fairness, and acting early — and that starts with getting it out of inboxes and into a system everyone can rely on.",{"title":16,"searchDepth":17,"depth":17,"links":894},[895,896,897,898,899,900,901],{"id":770,"depth":17,"text":771},{"id":777,"depth":17,"text":778},{"id":801,"depth":17,"text":802},{"id":828,"depth":17,"text":829},{"id":838,"depth":17,"text":839},{"id":865,"depth":17,"text":866},{"id":872,"depth":17,"text":873},"2026-05-13","A practical guide to absence management: what to measure, how to spot patterns early, and how to build a fair policy that reduces avoidable absence.","https://images.unsplash.com/photo-1507679799987-c73779587ccf?w=1200&h=630&fit=crop",{},"/blog/how-to-track-and-reduce-employee-absence","6 min read",{"title":762,"description":903},"blog/how-to-track-and-reduce-employee-absence",[911,464,912],"absence management","best practices","MZaVdB3xgNgc2vLBD0ZllvCRqKfkVSTjs8MBi859O2U",1780938456688]