Skip to content

Every change we have shipped, week by week.

The same release notes existing customers get inside the product, in the same words: what changed, and what it changes for the people using it.

5 weeks, newest first. 16 older weeks are inside the product, under What’s new.

Week of 21 September 2026

76 changes

  • New

    Facto Admin now shows when people last signed in. The Companies list has a Last Login column with the most recent sign-in by anyone in that company (also on the company page), and the Users list shows each user’s own last sign-in. Both sort, so the companies nobody has opened in months float to the top when you need them. Sign-ins from before today only show if the person is still signed in; from now on every sign-in is remembered permanently.

  • Improved

    Collapsing and expanding the sidebar is smooth now. The sidebar’s contents fade out, the rail slides, and the new layout fades in, instead of everything jumping at once while the page beside it re-drew on every frame. The gold fizz behind the sidebar uses fewer dots (300 instead of 875), which was what made it stutter, and it makes every screen a little lighter as well.

  • Fixed

    Facto installed on a phone before 24 Sep no longer opens on the old sign-in screen. Those installs still start at the website address, so they now go straight on to the app and the new sign-in page, and if the old built-in sign-in ever shows it hands over to the new one by itself. Nobody needs to reinstall.

  • Improved

    Every product page on the website now has the same guided demo as the home page: scroll and the laptop stays in place while it walks through the screens, with the steps listed on the left. Tasks walks from the dashboard through a task, checklists and meeting minutes to My Day; CRM from leads and follow-ups through the pipeline and a quotation to reports; HR & Payroll from check-in and leave through the payroll run and payslip to an exit settlement. On a phone it stays a row of steps you tap.

  • Improved

    The website header now opens with Product, a menu in place of the separate Features, Tasks, CRM and HR & Payroll links. It lists the three modules, Tasks, CRM and HR & Payroll, and All features. On a phone the menu keeps the three modules at the top, and Features is now called All features.

  • Improved

    On the website, Free tools and Resources now open when you point at them with a mouse, and ease in and out instead of snapping. On a phone, or with a click, they work as before. Help is no longer a separate item in the header, because it opened the same page as Resources → Guides. Sign in is now a bordered button beside Start free. On a phone, the menu shows Free tools and Resources as rows that expand, closed unless you are on one of their pages, with the tools grouped the way the desktop menu groups them, instead of two long lists.

  • New

    Ten more comparison pages on the website: Facto Lite next to greytHR, Keka, Zoho People and Zoho Payroll, RazorpayX Payroll, Kredily, Zoho One, Zoho CRM, Pipedrive, Trello and Asana. Every claim about the other product comes from its own help centre or pricing page, checked on 24 Sep 2026 and listed under Sources, and each page says where the other product is the better buy. The /compare page now groups them by kind (HR and payroll, CRMs, task apps, all-in-one) and shows one card per product instead of a table that no longer fit.

  • Improved

    The website blog now has four topics: Payroll & salary, Compliance & tax, HR letters & policies, and Running the team. Each has its own page with a short introduction, the free tools that go with it and every guide in it. The blog lists the four at the top, and each guide shows its topic in the breadcrumb and suggests more reading from the same topic first.

  • Fixed

    Payroll no longer short-pays February. When unpaid leave is worked out on a fixed 30-day month, a full February counted only its 28 days and paid 28 of 30, two days short for someone who missed nothing. A full February now pays 30 of 30, each unpaid day still comes off at a thirtieth, and someone who joins or leaves mid-February is paid their share of the month, not days ÷ 30. Months of 30 and 31 days pay exactly what they did before. Months already paid are not changed.

  • New

    Thirteen more guides on the website blog: salary slip components, PF late payment penalties, how much increment to give, the old and new tax regimes, experience vs relieving letters, salary certificates for a loan, LOP calculation, the sandwich leave rule, salary advances, expense reimbursement, attendance for field staff, rotating shift schedules and meeting action items. Each has a worked example from Facto Lite’s own payroll engine.

  • Improved

    Resources in the website header is now a menu, like Free tools. It lists the blog, the comparisons and the guides, each a page of its own with a line on what’s there, plus What’s new and a link to the Resources page. On a phone the menu sheet lists the same four. Resources stays highlighted on the blog, the comparisons and What’s new, and Help stays highlighted on the guides. The comparisons, the help centre and What’s new now show "Resources" in their breadcrumb, and the Resources page opens with the blog, the comparisons and the guides.

  • New

    The website now has a blog at /blog, with its first five guides: how to calculate a full and final settlement, gratuity formula and eligibility, CTC to in-hand salary, when PF and ESI apply to a small business, and overtime pay. Each one answers its question at the top, links to the matching free calculator and works through an example in rupees from the same payroll engine Facto Lite runs, so the figures move when a rate changes. The five calculators now link back to their guide under the form, and the Resources page shows the three latest posts.

  • New

    The website has a new free template: an increment letter at /templates/increment-letter-format. It’s worded exactly as the salary revision letter Facto Lite issues: the CTC before and after, the change in rupees and as a percentage, and the date the revision applies from. That date can be earlier than the letter’s, and the page explains that the months in between are owed as arrears. Under Fine-tune you can add the employee code, the signatory and the monthly breakup at the new salary, and the letter downloads as Word or PDF. It’s in the HR letters group of the Free tools menu and linked from the Payroll page.

  • New

    The website has two more free HR letter templates: a warning letter at /templates/warning-letter-format and a salary certificate at /templates/salary-certificate-format. The warning letter takes the employee’s name, what happened and the date it happened. Under Fine-tune you can make it a final warning, add the employee code, a reference number and a date to reply by. Only a final warning says that a further instance may end the employment. The letter ends with a line for the employee to sign that they received it, which is not a signature of agreement. The salary certificate is worded exactly as Facto Lite issues one: the designation, date of joining, annual CTC as at the letter’s date and the monthly breakup, with a note that it is not Form 16. You can address it to a bank or an embassy instead of “To whomsoever it may concern”. The templates page and the Free tools menu now group the templates: Hiring (offer, appointment), Leaving (relieving, experience), HR letters (warning, salary certificate) and Sales (quotation). The warning letter is also linked from the HR & Payroll page, and the salary certificate from the Payroll page.

  • New

    The website has three more free HR letter templates: an appointment letter at /templates/appointment-letter-format, an experience letter at /templates/experience-letter-format and a relieving letter at /templates/relieving-letter-format. Each one is worded exactly as Facto Lite issues that letter. The appointment letter takes the designation, date of joining and annual CTC up front; under Fine-tune you can add the employee code, department, location, employment type, probation, notice period and a monthly breakup. The experience letter takes the date of joining, the last working day and the last designation, and you can add earlier roles with the date each began; the letter then lists every role held with its dates. It says nothing about pay or why the person left. The relieving letter takes the resignation date and the last working day, and you can set the reason for leaving to resignation, end of contract, retirement or ended by the employer. Dated before the last working day, it says the employee will be relieved on that day rather than that they have been. The relieving letter, the experience letter and the full and final settlement calculator link to one another, and all three letters are listed under Free tools → Templates, on the templates page and on the Payroll page.

  • New

    Every document on the website can now be downloaded as a Word file as well as a PDF: the salary slip, the quotation, the full and final statement, the offer, appointment, experience and relieving letters, and the holiday lists. Choose Download Word beside Download PDF. The file opens in Word, Google Docs or LibreOffice with the same layout, so you can change a line before you print or send it. Like the PDF, it is made in your browser and nothing you type is uploaded.

  • Improved

    The website’s quotation generator now has separate Phone and Email fields for your business, in place of one shared field. On a phone each one opens the right keyboard. The quotation prints them on one line under your address.

  • New

    The website has a free holiday list for 2027 at /tools/holiday-list-2027, with a page for each of Karnataka, Maharashtra, Tamil Nadu, Delhi, Telangana, Gujarat, Uttar Pradesh, West Bengal, Kerala and Haryana. Each page lists the three national holidays and the central government’s compulsory holidays for 2027 with their dates and days, copied from the government’s order, which is linked under the list. It also says what that state’s holiday law makes a private employer give, and names the Act. No state has published its own 2027 list yet; each page says so, and when the state’s list came out last year. Download the list as a PDF, or choose Add to calendar to save a calendar file with every holiday in it. It is listed under Free tools → Calendars, on the free tools page, and on the Leave, Attendance and HR & Payroll pages.

  • New

    The website has a free offer letter template at /templates/offer-letter-format. Fill in the company, the candidate’s name, the designation, the proposed joining date and the annual CTC, and it shows the offer letter as Facto Lite issues it: the same wording, the terms in a table, the conditions, and a line for the candidate to sign. Under Fine-tune you can add the address, who signs, the department, location, employment type, probation, notice period, a date to accept by and a monthly breakup. Download it as a PDF. It is listed under Free tools → Templates, on the templates page, and on the Payroll page.

  • Improved

    The website’s home page no longer stops after the headline to talk about the bigger Facto. The paragraph that sat there has been replaced by one line under the hero: “From the makers of Facto”, 50+ factories run on Facto every day, and a Visit myfactoapp.com button. The question of which product fits now has its own section after pricing, with Lite and Facto side by side: what each includes, who it is for and how you start. Lite’s side has a Start free button and Facto’s goes to myfactoapp.com.

  • New

    Four new letters under Salary → Reports → Letters: an offer letter, an appointment letter, a relieving letter and an experience letter. The offer and appointment letters take the designation, department, location, joining date, employment type, probation end date and cost to company (with its monthly breakup) from the employee’s record. You type the notice period, and for an offer, the date to accept by. Both end with a line for the person to sign. To send an offer before somebody joins, add them as an employee with their joining date and salary structure first; the offer then states the same figures their first payslip will. The relieving letter reads the exit: it accepts the resignation by its date and relieves the person from the close of business on their last working day, in the future tense if they are still serving notice. It is not issued for an exit recorded as death or absconding. The experience letter states the dates of employment and every role held with its dates, and nothing about pay or the reason for leaving; for somebody still employed it points to the employment verification letter instead. Like the other letters, each one is filed in the document library and logged. Searching “offer letter”, “appointment letter”, “relieving letter” or “experience letter” in the command palette now finds them.

  • New

    A sales order can now be printed or downloaded as a proforma invoice, from the new Proforma invoice menu on the order. It has the same items, totals, bill-to address and PO number as the order. It is dated the day it is printed, with the order date beside it, and has no status badge. Its terms say it is not a tax invoice and that no GST input credit can be claimed on it. Each proforma printed or downloaded is recorded on the order’s activity timeline and in the activity log.

  • New

    Meeting minutes can now leave the app. The new Export menu on a meeting downloads the minutes as a PDF, opens an email addressed to the meeting’s guests with the minutes in the body, or copies them as text. The export includes the date, organiser, note-taker, attendees with attendance, agenda, minutes and action items with owners and due dates. A draft is marked as a draft. Each export is recorded on the meeting’s Activity tab and in the activity log.

  • Improved

    The website’s salary slip, quotation and full and final statement always print “Made with Facto Lite · lite.myfactoapp.com” at the foot; the option to leave it off has been removed.

  • New

    The website’s full and final settlement calculator now makes a statement you can hand to the employee. Under the result, add the company’s name and address and the employee’s name, code and designation, then choose Download PDF. The statement shows the service dates, the reason for leaving and the notice served; what is payable and what is recovered, side by side; the net in figures and in words; the date the wages are due and the date the rest is due; and an acknowledgement with signature lines for the employee and the company. It uses the figures the calculator has already worked out, so the two always agree.

  • Improved

    Scrolling the website on a computer now glides the way myfactoapp.com does. It uses the same scrolling library and settings as myfactoapp.com, so a mouse wheel or trackpad eases to a stop over about a second instead of stopping short. Trackpad scrolling used to get no smoothing at all; it gets the same glide now. Phones and small windows keep their own native scrolling, and anyone who has asked their device for reduced motion gets plain scrolling.

  • New

    The website has five more free tools, and a Resources hub to find them. Four new calculators: PF and ESI (both shares, with the employer’s part split into pension, PF account, EDLI and admin charges), old vs new tax regime (HRA, 80C, 80D, home-loan interest and NPS applied at their limits, plus how much the old regime would need in deductions to match the new one), full and final settlement (last month’s salary, leave encashment, gratuity and notice pay or recovery, with the date each part is due), and a salary slip generator that works out PF, ESI and professional tax and downloads the payslip as a PDF. The first free template is a quotation generator: items, discounts and GST (CGST and SGST in the same state, IGST across states, with your state read from your GSTIN), the total in words, and a PDF to send. All of it uses the same functions as Facto Lite’s payroll and CRM, needs no sign-up, and keeps what you type on the page. Free tools in the header is now a menu listing every calculator and template, so any of them is two clicks from any page; on a phone, the menu lists them too. Resources is a separate header link for the guides and release notes, and it will hold articles, case studies and comparisons as they are written. The calculators page is grouped into salary and tax, monthly contributions, and leaving. The Resources page’s module section showed a card for every sub-page instead of the three modules; it shows three again.

  • Fixed

    The website now has a proper favicon for search engines. Asking the site for /favicon.ico used to return a web page instead of an icon, and the only icon declared was an SVG, which is why Google Search Console showed a blank globe for lite.myfactoapp.com. The site now has a real favicon.ico and 48 px and 192 px PNG icons (the multiple of 48 px Google asks for), all drawn from the same F mark.

  • New

    The website has three free calculators under Free tools: an in-hand salary calculator (CTC to monthly take-home under both tax regimes), a gratuity calculator and an overtime calculator. They use the same PF, ESI, professional tax, income tax, gratuity and overtime functions as Facto Lite’s payroll, for FY 2026-27, and need no sign-up. Each page opens with a one-line answer, shows how the figure is worked out step by step, and has worked examples and common questions, so search engines and AI assistants can find and quote it. The site’s llms.txt now carries the formulas and worked examples too. Free tools is in the header, and the Payroll, HR & Payroll and Overtime pages link to the calculators that match them. The state list has every state and union territory and can be searched by name or code; professional tax is worked out for Karnataka, Maharashtra and Tamil Nadu, and for any other state the list and the result both say it is not included. The website’s dropdowns and date fields are now its own, in its own colours in both light and dark mode: dropdowns can be searched, and the date picker shows dates as “1 April 2019” and jumps by year, so a joining date ten years back is three taps. The calculators have been redesigned to be easier to use: the answer now sits on a dark navy panel with the figure in gold, the in-hand salary shows the new and old regime side by side with a “Better for you” badge and a bar showing where the CTC goes, and each calculator asks for only one or two things up front, with the rest under “Fine-tune (optional)”. Every field and every line of the result has an ⓘ that explains it in plain English — what it is, where to find it on an offer letter or payslip, and an example — and each calculator page ends with a glossary of every term it uses.

  • Improved

    The website has eight new pages, each about one thing people search for: checklists, meeting minutes, lead management, quotations, biometric attendance, leave, shifts and overtime. Each one says which module it belongs to, prints that module’s price, and lists what it does not do. They are linked from a new Solutions column in the footer, from their module’s page, and from the help guides that cover them. Page titles now lead with the words people search for (for example "HR & Payroll Software India — Attendance, Leave, PF"), the site declares itself as written in Indian English, the product pages describe Facto Lite to search engines as business software, and the sitemap gives each help guide the date it was last changed. Three lines on the existing product pages that promised more than the product does have been corrected: CRM reports cannot yet be emailed on a schedule, leave approvals are not routed by department and do not escalate on a timer, and a meeting’s action items get their due date when they become tasks.

  • Improved

    The website’s light mode has had the same treatment as its dark mode, adapted for a white page. The cool slate greys are now warm neutrals: an ink grey for body text, a warm hairline and a paper tint for the alternate sections. Cards rest on a soft layered shadow instead of being boxed by a grey line, and the alternate sections are a wash that fades out instead of a grey block with a hard edge. The gold buttons have a gentle sheen, the phone and laptop showing the product have a deeper shadow, and the hero has a faint dot field. The glows, vignette and grain stay dark-only, because on white they read as stains rather than light.

  • Improved

    The website’s dark mode has been relit so it reads as a website rather than a dashboard. Its colours were the same stock slate greys the app and most admin panels use; night mode now has its own deeper ink navy, warm paper-white text and navy (not grey) hairlines. Cards lost their grey outlines and catch light on their top edge instead, with a soft shadow under them. The alternate sections are bands of light rather than grey slabs. The hero has a blue glow under the gold one and a faint dot field. The phone and laptop showing the product now have a bright rim and a warm glow, so the product is the brightest thing on the page. The gold buttons have a metallic sheen, the header is frosted, and the whole page has a very fine grain. Light mode is unchanged.

  • Improved

    Every page of the website now opens on the same lit surface the home page does. The gold wash and the three hairline rings behind the headline were written into the home page and only the home page, so the site had one page that looked designed and a dozen that opened on flat white — pricing, features, the six product pages, help, contact, what’s new, the three legal documents and each of the thirteen guides. That backdrop is now one piece of furniture the whole site shares, and the page-not-found page has it too. Two things were fixed on the way. The rings are circles twelve hundred pixels across, and they were being cut off square by the edge of the section they sit in — four faint hairlines all ending on one horizontal line, which reads as a seam ruled across the page; nobody had seen it because on the home page that cut falls below the fold behind the phone, and on a short page like “What’s new” it lands in the middle of the screen. The whole backdrop now fades out before it reaches that edge, so there is nothing left to cut. And on the pricing page the band and billing selectors that pin themselves under the header while you read the price cards have been moved clear of it entirely: the backdrop is built so that it cannot break them, but that bar has been broken once before by exactly this kind of change and it is not worth leaving one line of CSS away from it happening again.

  • Fixed

    Two fixes to scrolling on the website. The eased wheel scrolling added earlier this week was working out where to move the page next by asking the browser where the page currently is — and the browser answers in whole pixels. Every frame’s answer was rounded before it was used, so the rounding piled up: the travel degraded into visible whole-pixel steps, and the last stretch of every wheel notch asked for a third of a pixel, got nothing, and gave up about two pixels short. The page therefore never finished arriving, which meant it also never considered itself finished — so it kept a drawing loop running for the rest of the session, and, worse, it still believed it owned the scroll position. Anything else that moved the page after that — the back-to-top button, a jump to an anchor, the keyboard, dragging the scrollbar — was dragged straight back to where the wheel had left off. Measured: one notch of the wheel settled on 98 pixels instead of 100 and stayed there, and a jump to 9,000 pixels down the page landed on 102. The motion now carries its own position at full precision and hands the page over the moment anything else moves it; a notch lands exactly where it should, and the loop stops.

  • Fixed

    Sections of the website now fade in properly when you scroll back UP a page. A section starts fading a set distance before it reaches the screen, and that distance was the same above and below — which sounds even and is not, because of which edge of a section arrives first. Coming down the page, what crosses the line first is a section’s top: a sliver of blank padding at the very bottom of the screen, with the heading and the cards still most of a screen away, so the fade has all the time it needs. Going up, what crosses first is a section’s bottom — the last card, the last line of the paragraph — and that is finished content, on screen almost immediately. Measured on a brisk scroll, that left about a sixteenth of a second of warning for a fade that runs most of a second: the section you were moving INTO sat at half strength while the one you were leaving behind stayed solid, which is exactly backwards. Sections above now begin fading a good half-screen earlier, and the fade itself is a little quicker. Coming down the page is unchanged, and anyone who has asked their device for reduced motion still sees none of this in either direction.

  • Improved

    The question cards on the website are screwed to the wall, and the answers are marked up. Each pane now has four brass studs, one at each corner, the standoff caps a real sheet of glass is held up by — the rim and the sheen were doing that job alone, and a pane with nothing holding it is a white rectangle with a shine on it. Inside each answer the sentence that actually answers the question is now struck through with a highlighter rather than left in the same grey as the rest: “nothing is deleted at any point”, “no card is stored anywhere”, “it is your data”, “nobody is marked absent”. Three marker inks — the site’s gold, a green and a blue — cycle one per pane so that no two panes touching in the grid carry the same colour, the same rule the sticky-note board follows for its three papers. It is a real highlight in the markup, not a colour: a screen reader announces it as emphasis. Every one of the forty-one answers across the home page, the pricing page and the six product pages has been marked, and not one word of any of them changed.

  • Improved

    On the pricing page, “Team size” and “Billing” no longer look like the first option of the row they label. They were set at the same size, the same weight and the same colour as an unselected pill sitting ten pixels to their right, inside the same white panel — so the bar read as five choices and then four, rather than as two labelled groups. Both are now small spaced capitals, the way a label is written everywhere else on the site and the way nothing that can be clicked is. The pills, the sliding gold marker and the prices are untouched.

  • Improved

    The sign-in and sign-up pages have been rebuilt for a phone. On a desktop those two pages are a form on the left and a navy panel on the right carrying the FACTO Lite mark and the three or four lines saying what you get; on a phone the panel was simply not drawn, which left a form floating in the middle of a blank white page with every scrap of brand and every reason to sign up removed, and about 250 pixels of nothing above it. That material is now folded back in: a navy band across the top holds the mark, the light-and-dark switch and the panel’s headline, and the form sits on a sheet with rounded top corners that overlaps the band, so the screen has a front and a back instead of one flat field. The panel’s list of what you get is at the foot of the page, small, below the button and below the other way out — reassurance for somebody still deciding, and a scroll past for somebody who came to sign in. The same treatment carries to “Reset your password” and to the page a reset link opens, which share the layout. Underneath: the page is now measured against the screen you can actually see rather than the one behind the address bar, so the form no longer sits low or clips; padding clears the notch at the top and the home bar at the bottom; the main button is 52px tall on a phone and presses rather than hovers; the show-password eye is a 44px target instead of 40; the small print under a field went from 12px to 13px, and on the sign-in page the return key on the password field now says “Go”. The four headings themselves were the only headlines on the whole website set in plain type: “Sign in.”, “Create your company account.”, “Reset your password.” and “Choose a new password.” now carry the gold band under their key words that every other headline on the site has — on a desktop as well as a phone — and a gold hairline runs along the top edge of the sheet, which in dark mode is what tells you where the page begins, since the band above it and the sheet below it are only two shades apart. On the sign-in page the three links under the button were three identical lines, so “Facto employee login” read as loudly as the one line that matters — “Create an account” is now the line, and support and the employee login sit under a rule, smaller, on one row. Nothing moves on a desktop.

  • Improved

    Three fixes to how search engines see the website. The file that tells a crawler where it may go was blocking the website’s own stylesheet and code, and every screenshot in the help guides — Google fetches all of those to make sense of a page, so it was being asked to judge the site on less than it was being shown; those three folders are now open, and everything behind a sign-in stays shut. The application itself — every screen you use once you are signed in — now says plainly that it is not to be indexed: any address the website does not own answers with the app’s loading shell, and dozens of copies of that one blank shell were eligible to appear in search results against the real pages. And the pages now describe themselves properly: each one says where it sits — Home, then HR & Payroll, then Payroll software — and each of the thirteen guides says that it is a guide, what it is about, how long it takes to read and the date its text last changed. Nothing on any page moved.

  • Improved

    Scrolling the website with a mouse wheel now glides instead of stepping. It was never dropping frames — measured end to end on the home page, every frame came in at 16.7ms, including the slowest one, and the same held on a phone-sized screen with the processor slowed to a quarter speed. What made it feel rough is that a wheel moves the page in jumps of about a hundred pixels with nothing drawn in between, however perfectly each jump is drawn. The page now travels between those jumps rather than teleporting. ⚠ Scrolling by finger on a phone or tablet is deliberately untouched: the momentum, the bounce at the ends and the address bar sliding away are the device’s own and are smoother than anything we could put in front of them. Anyone who has asked their device for reduced motion keeps the browser’s scrolling exactly as it comes.

  • Improved

    The website’s header on a phone has been rearranged: the menu button at the left, the FACTO Lite mark in the middle, and "Sign in" with the light-pull at the right. "Start free" is no longer up there — the strip locked to the foot of the screen already carries it at every scroll position, and a fifth thing in the row pushed the mark off centre. On a desktop nothing moves: the mark stays left, the page links stay in the middle and "Sign in" and "Start free" stay on the right.

  • Improved

    The demo on the website is bigger, and the list of steps beside it is now a proper stepper. The laptop’s size was being decided by how much room was left under the header, so everything stacked above it was costing screen: the “interactive demo” badge has moved into the left-hand column, the section now uses the full width of the window instead of stopping at the page’s normal column, and the demo is about a third larger on a 1280×720 screen and a fifth larger on a 1440×900 one — which is half again as much of the product visible at the same reading distance. The eight steps on the left now sit on a line with a gold fill that reaches as far as the step you are on, each with a numbered bead that fills as you get there, and the steps you have already been through stay readable instead of being greyed out the same as the ones ahead — those two things mean different things and used to look identical.

  • Improved

    The newspaper on the website is called The Factory Floor, the same masthead the main Facto site uses. It read “The Facto Record”. Nothing else about the section changed — the five facts, the photograph and its credit line are exactly as they were.

  • Fixed

    Fixed a two-pixel sideways scroll on every page of the website at window widths around 1280 pixels. The “Pull this!” tag next to the light cord is centred under the cord, and once the window stops being wider than the page’s own column there is no margin left for it to be centred into, so its right edge hung just past the edge of the page. Found while measuring something else; it had been there since the site’s redesign.

  • Improved

    The website now shows how far down a page you are. A thin gold line runs along the bottom edge of the header and fills as you scroll, so on the long pages — the home page, pricing, the three product pages — there is something telling you whether you are a third of the way through or nearly at the end. It is on every page the header is on. The sign-in and sign-up pages have no header and so have no line, which is right: a form is not a document you are reading through.

  • Improved

    “Built for any business” is now a board of sticky notes. The nine trades — retail chain, clinic, agency, dealership, workshop, school, restaurant group, logistics firm, professional practice — used to be nine identical cards in the same colour, which said “nine of the same thing” when the point of the section is nine different businesses. Each is now a note on one of three papers — yellow, pale blue, manila — laid out so no two notes that touch are the same colour, each tilted a little, each with a paper grain and a shadow under it, and a note straightens up and lifts when you point at it. The three jobs on every note, and the module tag on each one, are unchanged. The paper stays paper in dark mode, the way the “Your data” cutting does — a sticky note that turned navy at night would be a panel pretending to be a sticky note.

  • Improved

    The questions on the website are now written on glass. The FAQ cards — on the home page, the pricing page and the three product pages — are panes: a translucent fill over a soft gold-and-navy wash, a lit top edge, a diagonal sheen, and a blur of what is behind them on anything bigger than a phone. The question stays in the normal face and the answer is hand-lettered in the site’s own handwriting, set larger and more loosely than the hand-lettering elsewhere so a long answer is still comfortable to read. Every answer is word for word what it was, and all of them are still open on the page rather than folded behind a click.

  • Improved

    The website’s menu on a phone was a flat list of seven identical rows, and in dark mode it was drawn in the same colour as the page behind it — only the hairlines said where the panel was. It now sits on a lighter surface with a shadow, over a darker screen, so it reads as a panel in both themes. The rows are grouped: the three modules first, each with the line that says what it does — Tasks, delegation and checklists; CRM, leads, deals and follow-ups; HR & Payroll, attendance to payslip — then Features, Pricing and Help under a heading of their own. The page you are on is a gold row rather than a thin gold bar that the edge of the screen was cutting in half. The menu ends with "Start free" and the sixty-day line, with "sign in" beside it, so the main thing the site asks for is inside the menu rather than something to close the menu to reach; the strip of buttons at the foot of the screen steps out of the way while the menu is open, instead of showing the same gold button twice.

  • Improved

    The website’s footer now carries the social accounts. LinkedIn, Instagram, Facebook, WhatsApp and email sit at the foot of the Company column, beside Contact — the same five accounts as myfactoapp.com, in the same arrangement, each with its own logo in its own colours rather than a redrawn one in ours. The WhatsApp tile opens a chat with +91 83840 75104 and the email tile writes to [email protected], which is the address the contact page already publishes. It is in the footer, so it is on every page of the site.

  • Fixed

    The team-size and billing choices on the website’s pricing page now follow you down it. They sat at the top, so by the time you reached the all-three card — the most expensive number on the page — the only way to see it for fifty people, or monthly, was to scroll back up, change it and scroll down again to find out what had happened. The two choices now stay under the header for as long as the prices are on screen, settling onto a panel of their own once they pin, and the price that changed draws a gold rule under itself so you can see which figure moved even when only one card is in view. The gold marker slides between the choices rather than jumping.

  • Improved

    The pricing page reads as a recommendation rather than four identical offers. It carried four full-width gold buttons in a column, all of them saying "Start free" and none of them answering "which one?" — the three module cards now carry a quieter gold button and the all-three card keeps the solid one, which is the one we would suggest. The prices, the bands and the discount are unchanged. The section about the sixty days now uses the same ruler the home page draws, which walks through day 0, the three reminders, the read-only week and the promise that nothing is deleted, in place of the three boxes that said the same thing in different words.

  • Improved

    The website now fades as you scroll it, everywhere rather than in the few places that had been asked for it by hand. Every section fades in as you come to it and fades back out as it goes, in the order its blocks are written, on every page — home, the three product pages, features, pricing, resources, the Facto page, the help centre, the 404 and the footer. It is set up on the section itself rather than page by page, so a section added later gets it without anybody remembering to ask. Three kinds of thing are deliberately left out of the fading-out half, because dimming them would be rude rather than nice: the legal pages, the thirteen guides and the release notes fade in once and then stay put, and so does anything with a form in it — a contact form that dimmed because you scrolled down to reach a field is not a nice form.

  • Improved

    Scrolling the website reads as smoother. Nothing about the browser’s own scrolling changed — what changed is that the fades no longer start and finish at the edge of the window, which is what made them noticeable. A section now begins fading in a fifth of a screen before it arrives and only lets go a fifth of a screen after it has gone, so it is already most of the way in by the time you can see it and neither edge of the window is a line anything pops across. Arriving is slower and gentler than it was; leaving is quicker, because a section that takes a full second to let go is still dimming the screen long after you have scrolled past it. Anyone who has asked their device for reduced motion still gets the site with no movement at all.

  • Improved

    The "what the 60 days include" ruler on the website now draws itself. It used to arrive finished — a bar, four stops and eight lines of text, all at once. It now runs left to right as you reach it: the bar sweeps out of each stop with a brighter tip at the front, the three reminder ticks flick in as the sweep passes them, the read-only week shades gold behind it, and the last stop — nothing is deleted — lands with two rings. Each stop’s wording follows a beat behind its own dot, so the section is read in the order the 60 days happen rather than as one block. On a phone it draws downward instead of across. It draws again every five seconds for as long as it is on screen, so it is still there to watch for somebody who stopped to read the eight lines — between runs it snaps back to empty rather than running backwards, which would read as the 60 days being taken back. It stays drawn once you scroll away, and anyone who has asked their device for reduced motion gets it finished on arrival and still, as before.

  • Improved

    A phone number is now required to create a company account. The field was on the sign-up form already, marked optional, and most people skipped it — which left us with a new company, a trial clock running and no way to reach anybody about it except email. It is now asked for like the rest of the form: the "Create account" button stays dim until it is filled, and the server refuses a sign-up without it rather than trusting the browser. ⚠ Nothing changes for an existing company, and no account without a number has been touched — this applies only to sign-ups from here on.

  • Improved

    The published price bands on lite.myfactoapp.com now go further. The middle band covers up to 50 people instead of up to 25, and the top one up to 100 instead of up to 50 — the figures themselves did not move, so each of those two bands now covers twice the headcount for the same money. ⚠ Anyone quoted under the old bands was quoted a price that still stands; nobody pays more. “Contact us” now begins above a hundred people rather than above fifty.

  • New

    Taking all three modules together is now priced as one thing, at 20% off the three prices added together — in every band, monthly or yearly. For up to 10 people that is ₹5,597 a month or ₹55,997 a year against ₹6,997 and ₹69,997 bought separately, and the card on the pricing page prints the separate total struck through beside it so the arithmetic is visible rather than asserted. Two modules is still two prices: the discount is for all three. Paying yearly saves its usual share on top.

  • Improved

    Two sections of the website were redrawn. "Built for any business" used to be six tiles with a sentence each; it is now nine — a restaurant group, a logistics firm and a professional practice join the retail chain, clinic, agency, dealership, workshop and school — and each one shows the three jobs that business actually does in Facto Lite, ticking themselves off as you reach the card, with a tag on every line saying which of the three modules does it. The point of the section is that there are no industry editions, only one product used differently, and the cards now show that rather than the paragraph above them saying it.

  • Improved

    "Your data" is now set as a newspaper cutting — masthead, headline, two columns of type, a photograph with a caption — instead of another rounded card of rows like the four sections above it. The five facts are word for word the ones that were there (row-level security, the audit log, the four roles, expiring file links, export at any time); what changed is that they are now in the one shape on the page that stops a reader who is scrolling. The paper stays cream in dark mode, because a newspaper does. ⚠ The photograph is a licensed stock picture and the credit under it says so in as many words — "posed by a model, not a Facto Lite customer" — so nobody reads it as a customer story. Do not remove that line.

  • Fixed

    The contact form on lite.myfactoapp.com was refusing first-time visitors with "Rate limit exceeded … 35/5". The form allows five messages an hour from one address, but the server was reading the address of the Cloudflare edge the visitor came through rather than the visitor’s own — so every visitor that hour shared one allowance, and the thirty-sixth was told to stop. It now reads the visitor’s real address. The same mistake sat under every other per-address limit — sign-in, forgotten-password, the public support form, CRM web forms — and under the address recorded against each action in the activity log, so those are corrected by the same change. ⚠ Nothing was lost: a visitor who hit the message got no further, so there is no half-saved enquiry to chase.

  • Improved

    The website is quicker to appear on a phone. Its two typefaces now come from lite.myfactoapp.com itself instead of from Google, which was the one thing a phone had to wait on before it could show a word; the tab icon and the wordmark are a fiftieth of their old size; and the code behind the live demo now arrives after the page has drawn rather than in front of it — the demo is on the page from the first moment either way, since the page is pre-drawn, and only its buttons wake a beat later. Measured on a simulated mid-range phone, the home page went from a Lighthouse performance score of 77 to 93. The footer is navy in both themes and half its old height, the way the parent site’s is.

  • Improved

    The inner pages of the website caught up with the home page. Each product page — Tasks, CRM, HR & Payroll, and the attendance, payroll and expenses pages under it — now opens with the live demo phone on that module’s own screen, and carries a laptop lower down that steps through four or five of its screens with a record open where that tells the story. The features page shows each group of features as a live crop of its screen instead of a list in a box. On the pricing page the sixty days, the yearly saving as a share and the yearly saving in rupees sit under the headline and count up as you arrive. "Book a walkthrough" and "Talk to us" now open the contact form in a panel on the page you are reading rather than sending you to the contact page — the contact page is still there, and a link opened in a new tab still lands on it. The footer gained a Company column and puts the legal links on one line.

  • New

    There is a page about the bigger Facto — lite.myfactoapp.com/facto, "Facto for manufacturers". It says in one sentence how the two relate (Lite is the same delegation, CRM, attendance and payroll without the manufacturing modules), sets Lite’s three modules beside Facto’s twelve in the parent’s own words, names the three signs a business has outgrown Lite, and links out to myfactoapp.com. It is linked from the footer, from the "from the makers of Facto" line on the home page, from the "what if we outgrow it?" answer and from the 404 page — not from the header, which sells Lite. A walkthrough booked from that page is marked as being about Facto, so it lands in the parent’s tab of the shared leads sheet and the notification says which product it is about.

  • Fixed

    Typing lite.myfactoapp.com into a browser that has used Facto before now opens the website, not the sign-in card. The app installs a small offline helper in the browser, and that helper was answering the bare address with the app itself — so every existing customer who typed the domain got the login screen, while somebody who had never signed in got the website, which is why it went unnoticed. ⚠ The fix reaches a browser the next time it opens the product; a browser that only ever types the address and never signs in picks it up within a day.

  • Improved

    The home page at lite.myfactoapp.com no longer says everything in the same shaped box. The four problems it opens with each carry a small drawing that resolves as you read — a WhatsApp scatter lining up into a list, three question marks becoming counts, a spreadsheet collapsing into one total, a flat line becoming a trail — the 60-day trial is drawn as a ruler from day 0 to day 67 with the three reminders and the read-only week marked on it, each module’s card opens with a live crop of its own screen that opens the full demo when tapped, the "any business" examples are tiles, and the security facts are set as the audit ledger they describe.

  • New

    Facto Lite has a website. Until now lite.myfactoapp.com was a sign-in box and nothing else — a customer who wanted to show a colleague what they were using, or send a supplier a link, had nowhere to point them. There is now a home page, a page listing everything the product does, a contact form, and the privacy, terms and refund policies in plain language. Links to it finally show a proper preview in WhatsApp, Slack and email instead of a cropped app icon.

  • New

    Prices are published. The website now carries the real figures for all three modules across the three team-size bands, monthly and yearly, and it says what happens when a free trial ends: a week where everything is still readable and exportable, then the modules switch off, and nothing is deleted at any point. Two things worth knowing before a customer asks you — the page states in rupees exactly what paying yearly saves against paying monthly, and there is still no online checkout, so subscriptions are invoiced and settled directly as they always have been.

  • Improved

    A company that signs itself up now gets all three modules free for 60 days, and the sign-up screen says so. It used to say nothing about a trial, because until recently self-serve sign-up opened Tasks alone with no end date on it. ⚠ This does not change anything for an existing company, and no trial date has been written onto any account that did not already have one.

  • Improved

    The demo on the website is now the whole product, not five screens of it. Every page the app shows — all eight under Tasks, seventeen under CRM, twenty-two under HR & Payroll, and User Management and Settings — opens in the demo, with the same sidebar, the same module switcher, the same bottom bar and Menu drawer a phone gets, and the same sub-tabs. Tap Leave and there are requests to approve; tap Salary and there is a payroll run with its lines and a payslip; tap Settings and the nine areas are there. Every tab strip is the product’s own, and a task, a lead, a deal, a quote, a claim or a loan opens on its own page with the same tabs and sections it has in the app. The demo now sits straight after the "problem" section on the home page, so the answer follows the question — and on a desktop it walks itself: keep scrolling and the laptop pins in place and steps through eight screens, opening a task, a lead, a leave request and a payslip along the way. Still demo data, still labelled as such.

  • New

    The website shows the product, not pictures of it. The home page at lite.myfactoapp.com now carries a working copy of Facto Lite drawn inside a phone, and further down inside a laptop — you can open a task, tick its checklist, search the leads, check in, and open a payslip, all on the page, with demo data. On a phone, tapping the device opens it full screen; on a desktop there is a "See it live" button that does the same. The screenshots the site used to show have been taken off the marketing pages — the guides in the help centre keep theirs, since those are a guide’s illustrations. ⚠ Everything in the demo is fiction and the demo says so in its title bar: the names are the sample data’s, the salaries are made up, and nothing a visitor does in it is saved anywhere.

  • Improved

    The website has a light switch — literally. A cord hangs from the top of every page at lite.myfactoapp.com; pull it and the site goes dark or light, and it stays that way on your next visit and inside the product too, since both remember the same choice. Around it the pages now move as you read — sections fade in as they arrive, the numbers on the home page count up, and on a phone the sign-up button stays within reach at the bottom of the screen instead of scrolling away with the header.

  • Improved

    The website contact form writes to Facto directly. Anybody who fills it in is recorded and the team is notified with their reply address attached, so a reply reaches the person rather than a shared inbox — and each one is appended to the same Google Sheet the myfactoapp.com form has always filled, so the leads from both websites are triaged in one place. ⚠ Support requests from an existing customer should still go through Support inside the app — it arrives with your account attached and saves a round of questions.

  • New

    Every written guide is now public, and you can send anybody a link to one. The thirteen CRM and HR guides — 47,000 words and 96 screenshots — used to be readable only by somebody signed in to your company, so passing a page to a new joiner before their account existed, or to a colleague who does not have the module, meant a screenshot of a screenshot. They are now at lite.myfactoapp.com/help, in full, with no account and no form. The copies inside the product have not moved or changed, and a link from one guide to another now opens the public page rather than asking a reader who is not signed in to log in.

  • New

    There is a page per module on the website — Tasks, CRM, and HR & Payroll — each with what is in it, screenshots of the real screens, the price for all three team sizes, and a plain list of what that module does not do. Worth knowing before somebody asks you: the HR page states outright that nothing is filed for you and that payroll produces a bank file rather than moving money, and the CRM page that there is no dialler and no email inbox. ⚠ Tasks has no screenshots on it, because Tasks has never had a written guide and so has never been photographed — the page says so rather than showing an HR screen labelled as Tasks.

  • New

    Attendance, payroll and expenses each have a page of their own on the website — lite.myfactoapp.com/product/attendance, /product/payroll and /product/expenses. The HR & Payroll page had to cover attendance, leave, claims, salary, assets, policies and appraisals in one scroll, and somebody searching for attendance software was never going to find it. Each new page is one part of the module in that part’s own words: the problem it ends, what is in it, four real screens, the price, the guides about it, and what it does not do. ⚠ Every one of them says, above the fold and again beside the price, that it is part of HR & Payroll and is not sold on its own — there is no attendance-only plan, and the figure shown is the whole module’s.

  • Improved

    The release notes you are reading are now published on the website too, at lite.myfactoapp.com/whats-new, word for word. The page carries the most recent couple of months and says how many older weeks it is not showing; all of them stay here, inside the product. Nothing has been rewritten for a public audience — if it is worth telling you, it is worth telling somebody deciding whether to start.

Week of 14 September 2026

16 changes

  • Fixed

    When a module’s trial ends, there is now a week in which everything you have is still there to read, export and print — only new entries are paused. This is what was always meant to happen and it did not: a lapsed trial switched the module off outright, reads included, the day it ran out. Nothing is deleted at any point, before or after, and a module that has been switched off says so in plain words rather than failing silently behind every button.

  • Fixed

    Marking attendance keeps working through that week. Check In, Check Out and the punches a biometric reader sends are the one thing that is never paused — a week with no attendance record is a week of Loss of Pay in the next salary run, for people who came to work. Everything else in HR does pause: no leave approvals, no payroll runs, no new employees, until the module is back on.

  • Fixed

    The trial banner has stopped crying wolf. A company in its first week was told its payment was overdue — the banner read the end-of-grace date, which is set at the same moment the trial starts, so it was “overdue” from day one. It now stays quiet for the whole of the trial, says how many days are left only in the last week, and shows one line for all your modules instead of the same sentence repeated for each. The date your trial ends is on the Settings page whenever you want it.

  • Fixed

    The sidebar and the pages behind it now agree about which modules you have. A module whose trial had run out kept its menu entry while every click inside it was refused — so the way you found out was by trying. It now disappears at exactly the moment it stops working, and comes back the moment it is switched on again with everything you had in it.

  • Improved

    The sign-in and create-account screens have been rebuilt, and they now load in a fraction of the time. Opening the sign-in page used to download the whole application first — every module, before you had typed anything — which on a phone or a slow connection was most of the wait. It is now its own small page: the form is on screen almost immediately, and the application itself only loads once you are in. Both screens follow the light or dark setting you choose, and the choice carries through into the app.

  • Fixed

    Being signed out no longer loses your place. If your session expired while you were reading a lead, an employee or a support ticket, signing back in dropped you on the dashboard and you had to find the record again. It now returns you to exactly the page you were on. ⚠ This never worked outside Tasks and Settings — CRM, HR and Support pages always landed on the dashboard, with nothing on screen to say why.

  • New

    eSSL and ZKTeco readers can now send punches using their own built-in cloud setting (ADMS), for models that accept only a server address, not a URL. In Settings → Biometric Devices, the tower button beside a reader switches it on: enter the site’s public internet address, then type the server address and port shown there into the reader. The reader is recognised by its serial number and accepted only from the addresses you list, because a serial number is printed on the unit and proves nothing by itself. If the site’s internet address changes, the reader stops being accepted, and the same button shows the new address it was refused from so you can add it. Punches follow the same rules as an upload or a push URL, and a reader re-sending its memory after an outage records each punch once.

  • New

    Attendance can come from a biometric reader at the gate instead of the Check In button. Upload the reader’s export — any unit that can save its log as a spreadsheet — and every tap becomes the same attendance day the button would have written: the first tap is the check-in, the last is the check-out, and lateness, hours, half days, overtime, leave and salary all work exactly as before. The middle taps (a lunch break, say) are kept and shown but never reduce anybody’s hours. Re-uploading the same file is safe: a tap the reader already sent is recognised and skipped. ⚠ This is switched on per company by Facto support, and switching it on changes nothing by itself — people keep the Check In button until the company’s capture mode moves to devices, from a date at least a day ahead, shown on Settings → Attendance → Check-in & Check-out.

  • New

    Biometric Devices, a new page under Attendance & Leave, is where HR runs it: which readers you have and when each last reported, who each reader’s user ids mean (enrolments, dated — the same number on two readers is two different people unless you say otherwise), and every tap each reader recorded with what became of it. A tap under an id nobody is enrolled as is kept, never thrown away, and listed with the first date it was seen; enrol the person from that date and those taps count at once. A reader keyed on employee codes can enrol everybody in one go, and an administrator can give everybody still without an employee code the next one first.

  • New

    Repair days a reader missed. On the Biometric Devices page, enter a check-in, a check-out or both, for one or many people across a range of dates, with a reason. It does not use up anybody’s monthly regularization allowance or look-back window — it repairs the company’s own hardware — but a day in a payroll month that is already closed or paid is refused and named, and every repaired punch carries your name. ⚠ A day with no punch is never turned into an absence automatically: one broken reader would otherwise dock a whole shift of people with no way to dispute it. It stays empty until somebody repairs it.

  • New

    A biometric reader can now send its punches as they happen, instead of waiting for somebody to upload its export. In Settings → Biometric Devices, the key button beside a reader issues its push URL: put it in the reader (or in whatever box collects its log) and every tap arrives on its own, and the day is updated moments later — first tap the check-in, last the check-out, exactly as with an upload. The URL is shown once and only a fingerprint of it is kept; if it is lost or leaked, issue a new one and the old one stops working straight away. Sending the same punch twice records it once. ⚠ If biometric attendance is switched off for the company while a reader is still sending, its punches are kept — marked “received while switched off” in the punch register — but change nobody’s attendance.

  • New

    Biometric Devices has a Coverage tab. Every working day, each reader is checked against what it should have sent, and a day a reader was expected on and sent nothing is listed as a gap — you are notified, and nobody is marked absent for it. Upload the missing export, repair the days, or clear the gap with a note. It also shows punches a reader numbered but never sent. ⚠ A payroll month can no longer be sent for approval while it has an uncleared gap, or device days for somebody who had already left (deactivated with no exit on file, or after their last working day). Both are listed under Coverage → Payroll holds and on the payroll pre-flight. Companies that do not record attendance at a reader are not affected.

  • Improved

    Biometric attendance now takes care of itself day to day. Punches a reader sent that were never worked into the day — the server restarting at the wrong moment, say — are picked up within the hour. HR gets a morning count, per reader, of people who tapped only once, and a warning when a reader that sends live goes quiet for a day. Punches received while biometric attendance was switched off can now be applied with one button once it is back on, each day signed with your name. The day’s record shows every tap, marking which one was the check-in, which the check-out and which were not counted.

  • Improved

    On a company that records attendance at a reader: My Day only refuses a working day with no attendance once your own reader has sent punches from after that day; a short leave closes itself from the tap back in through the gate; and a missed check-out is reported only once the reader has sent punches from after your shift, asking HR to add the missing tap. Someone who came in on a day of approved leave is flagged to whoever approved it, so the day can be given back to their balance.

  • Improved

    A leaver’s gate punches stop counting for them. Deactivating somebody, or recording their exit, closes their enrolment on every reader — on the day of the deactivation, or on their last working day — and a punch after that is kept but not paid. Withdrawing the exit reopens it, unless that reader’s id has since been given to somebody else.

  • Fixed

    Deactivating someone now really does hand their checklists over. Tasks moved correctly, checklists only half-moved: the new person was recorded as the owner but the checklist never appeared in their list and they could not open it, while it stayed in the leaving person’s My Day — so work that looked reassigned was in fact parked with somebody who no longer logs in. Checklists where the person was one of several assignees were worse: the Deactivate screen counted them as zero, so it never offered to move them at all. The count now includes them, and both records of who owns a checklist are updated together, with a handover noted on the checklist’s own timeline. ⚠ A person leaving who was a co-assignee is simply swapped for their replacement — whoever was the main owner of that checklist stays the main owner.

Week of 7 September 2026

30 changes

  • New

    Your product catalogue can arrive as a spreadsheet. Products now has an Import & Export button like every other list, and the sheet carries the whole item — SKU, brand, HSN code, barcode, the unit you count in, the unit you sell in, how many of one is in the other, minimum order quantity, order multiple, price and tax. It was the one CRM list you could only fill in by hand, which for a catalogue that already exists in whatever you ran before is the wrong way round. Category is checked against your list as you go, so a typo is a flagged row on the review screen rather than a product filed under nothing.

  • New

    A price list can be loaded from a spreadsheet. Price Books has an Import & Export button now. A book with 500 products across three quantity bands is 1,500 prices, and until today the only way to enter one was a drawer at a time. Name the book, the product SKU, the from-quantity and the price, one row per band. Re-importing a corrected file updates the prices you changed instead of adding a second set, so fixing four numbers means editing four cells and running it again. ⚠ Loading a price list needs its own permission and only an administrator has it to begin with — pricing is not something a spreadsheet should be able to change on anybody’s behalf without that being somebody’s decision.

  • New

    Customer addresses import and export with the customer. The Accounts sheet carries where the invoice goes and where the goods go — street, city, state, postal code, country and a GSTIN for each — so a migration brings them in with everything else instead of leaving somebody to type them into a drawer one customer at a time. Exports carry them too, so export → edit → re-import no longer loses them. Re-importing the same file updates those two addresses rather than duplicating them. ⚠ A third address, or a second warehouse, is still added on the account page: two is what one row of a spreadsheet can carry without guessing which is which.

  • Fixed

    You can filter the Accounts list by account type, and un-classify an account you classified by mistake. The filter existed in the API and no control ever sent it, so the one screen that lists customers could not answer “show me the distributors”. And once a type was set the dropdown offered only other types — there was no way back to unclassified. Both are fixed, and the price book picker on the same page had the same one-way door.

  • New

    You can report on what you actually sold. Reports → Builder has two new record types — Order Lines and Quote Lines — and they are the ones that carry a product. Until now a report could see an order’s total and nothing inside it, so “revenue by SKU by month”, “units by brand”, “which categories are we shipping” and “who bought this particular item” could not be asked at all — not with a filter, not with an export, not at all. Pick Order Lines, group by SKU and Order month, sum Line total, and that is the report. Each line reaches through to the product’s SKU, name, brand, unit and category, to the order’s number, status and date, and to the customer’s name and type, so nothing has to be typed twice.

  • Improved

    Group by month, not by date. A date is unique to the minute, so grouping by one gives every line a group of its own — which is a list, not a report. Quote and order lines carry a month and a year of their own for exactly this, reading as 2026-09 so they sort properly and a whole year fits on one screen.

  • Fixed

    Quotes and Sales Orders can be reported on at all now. The Builder’s record-type list has offered both since it shipped and neither has ever worked — choosing one gave a form with no columns to tick and a save that was refused. Both are real report types now, with their status, value, dates, customer PO and customer on them. ⚠ Two rows in a sales-by-product report are worth knowing about before you read one: a line that names no catalogue product (freight, an installation visit, a one-off typed onto the quote) groups under a blank SKU rather than vanishing, and a quote or order in the recycle bin stops counting the moment it is binned.

  • Fixed

    The New Report form on the older Saved Reports screen could not save. Every record type in its dropdown was spelled the way the screen wanted rather than the way the API does, so the form was refused on submit whatever you filled in. It now reads its list from the same place the Report Builder does, which is the only version of that list that cannot go stale.

  • New

    You can sell the same product at more than one price. Until today a product had exactly one price and every customer got it — a distributor buying by the pallet was quoted the same figure as somebody buying one. Price Books (Settings → CRM → Products) fix that: create a book, put a price on each product, and say who it is for — an account type, a territory, everybody, or a specific customer named on their own record. Add a second price for the same product with a higher “from quantity” and a bigger order costs less per unit automatically. Books can also carry validity dates, for a season you do not want to remember to delete.

  • New

    Quote and order lines price themselves, and say where the price came from. Pick a product on a quote for a customer on the Wholesale book and the line fills in the Wholesale price with “Wholesale · 50+” underneath it, so nobody has to know which list applies. Change the quantity past a bulk band and it re-prices. Type over the figure and it stops: a hand-typed price is a decision and is never overwritten, and the line says so. ⚠ If you have no price books — which is everybody until you make one — absolutely nothing changes: every line still quotes the product’s own price.

  • Improved

    Changing a price never moves a quote you have already sent. A quote records the price it was given and the book that gave it, and nothing re-reads that afterwards. Edit a book, retire it, switch it off — quotes and orders already raised keep their figures and go on naming where they came from. Retiring a book that customers are still assigned to is refused, and tells you how many to move first.

  • Improved

    The Price Books screen is a price list you can actually read. It used to ask for a product’s internal ID in a text box and then show you the first eight characters of it back — you could not enter a price without looking a code up, or check one without doing it in reverse. Products are picked by name now, each book shows how many products it prices and how many customers are on it, and prices are entered in a proper side panel with the product’s catalogue price shown beside the one you are typing. Customers can also be moved onto a book in bulk from an import, and the Accounts import and export both carry the Price Book column.

  • New

    An order’s lines are real records now, not a blob inside the order. Until today a sales order kept its items in a single opaque field, and the consequences were the kind you only notice when you go looking: you could not report sales by product, brand, category or month at all; you could not find the orders containing a particular item; and there was nowhere for per-line delivery to ever live. Every order in the system has been given its lines properly — nothing you see on screen changes, because the same items were being read out of the source quote at the time. What changes is that they are yours to work with from here.

  • New

    An order can finally say where the goods go, when they are expected, and under whose PO number. Pick a Ship To and a Bill To from the customer’s own addresses, set an expected delivery date, and record the customer’s own purchase-order number and date — the reference their accounts department will quote back at you on every question about the order, which until now had nowhere to be written down. The order document and PDF print all of it: a real bill-to block with the address and GSTIN under it, a separate Ship To panel when the goods go somewhere other than the invoice, and the customer’s PO in the header strip. New orders start with the customer’s default billing and shipping addresses already filled in. ⚠ Only that customer’s own addresses are accepted — if the right warehouse is not on the list, add it on their account first.

  • Improved

    Quotes print a proper bill-to address too. The block has been there since quotes shipped, with a customer name floating over empty space, because an account had nowhere to store an address until last week.

  • Fixed

    Editing an order no longer destroys the record of what the customer agreed to. An order is created from an accepted quote and keeps a copy of that quote as it stood — but every edit was overwriting that copy, so “why does this order differ from what we signed” was a question the system could not answer. The as-quoted copy is now frozen at creation and the order is edited on its own. The order’s timeline also stops saying a bare “updated”: a delivery date moving, a ship-to switching warehouse or a line changing is logged by name with its old and new value.

  • Improved

    Sales Orders can be filtered by expected delivery date, and the list has Expected Delivery and Customer PO available from the column picker — off by default, so nobody’s table changes shape without being asked.

  • New

    A product now says what one of it actually is. Until now a product record was a price with a name on it — no unit of measure, so “12” on a quote line could mean twelve bottles or twelve cases and the document could not say which; no case pack, so a customer ordering by the carton did the arithmetic in their head and typed the answer; and nothing that could hold a minimum order quantity or an order multiple. Products now carry a unit of measure, an optional bigger unit they are sold in with the number of units inside it, a minimum order quantity, an order multiple, a brand and a barcode. All of it is optional except the unit, which every existing product has been set to “Unit” — which is exactly what every quote line printed so far has silently meant, so nothing you have already sent has changed.

  • Fixed

    Renaming a product category no longer loses the products in it. This is a real number-changing bug, not a tidy-up. A product used to store its category as the WORD, not as a link to the category — so the moment you renamed “Hardware” to “Equipment”, every product still said “Hardware”, the forecast’s by-category attribution stopped matching them to anything, and their entire value dropped into “Unspecified”. Nothing failed and nothing warned you; the quota attainment figures were simply wrong. Categories are now a real link: rename one and every product comes with it, and the by-category numbers stay attributed to the same group. ⚠ Two consequences. A category can no longer be deleted while products are still in it — you are told how many and asked to move them first. And once you have set up categories, the product form will not accept a category that is not on your list, with the list shown in the message; a business that has never set up any categories is unaffected and can still type whatever it likes.

  • Improved

    The product page is now click-to-edit like every other record page. Editing a product used to mean opening a dialog holding a copy of the whole record, which was already the odd one out — accounts, leads, deals, contacts, partners and orders have all been click-to-edit for a while — and with eight new fields it would have become a two-screen scroll of unlabelled boxes. Click any field on the product to change just that field. The product list gains a Brand column and filters for category and brand, with Unit, Sold In, Min Qty and Barcode available from the column picker; they are off by default, because a catalogue that sells everything by the piece should not pay column width for a column of one repeated word. Products can be reported on by brand, unit and every other new field too.

  • New

    An account can hold an address at last — several, in fact. Until now a customer record carried a name, an industry and a phone number and nothing that said where they are, so a quote had no bill-to block to print and an order to a distributor with three warehouses could not say which one the goods were going to. Accounts now have an Addresses section: add as many as the customer has, mark one the default billing and one the default shipping, and give a warehouse its own GSTIN when it sits in another state. Removing an account’s only address is refused rather than silently leaving it with nowhere to ship.

  • Fixed

    Territory routing works. It never has. Assignment rules have offered a “by territory” method since the day territories shipped, and it matches on state, pincode or country — three things no lead, contact or account had anywhere to store, so the match found nothing and every record quietly fell through to the rule’s default pool instead. Leads and contacts now carry a real address, and an account routes on its default shipping address, so a new record can finally land on the rep who covers its pincode. ⚠ If you built custom fields to work around this, they are still read, and still win nothing — the real columns are checked first and your existing rules keep behaving as they did.

  • New

    Accounts now record who a customer is to you and on what terms: an Account Type, a tax ID, a credit limit, credit days and payment terms. The type is your own list — Distributor, Dealer, Retailer, Direct, Institutional to start with, and you can rename or replace any of them under Settings → CRM → Account Types. It is a label and nothing more: no rule reads it and no price changes because of it, which is what makes it safe to hand to whoever knows the business best. ⚠ The credit limit is recorded, not enforced — nothing blocks an order for exceeding it, because there is no outstanding balance in the app to check it against yet.

  • Improved

    All of the above import and export like everything else. The Accounts sheet gains Account Type, Tax ID, Credit Limit, Credit Days and Payment Terms; the Leads and Contacts sheets gain a full address. A file naming an account type you have not configured is rejected on the review screen, with the list of the ones you do have — not accepted at preview and failed at the end of a five-thousand-row commit. Headers auto-map from the usual synonyms, so a column called Pincode, ZIP or Postcode all find Postal Code. The new fields are reportable too, which makes “leads by state this quarter” buildable for the first time.

  • New

    Partners now have a Follow-ups tab, the same one leads, deals and quotes carry. A partner relationship is worked the way a deal is — a quarterly review, a chase for a signed agreement, a call about a registration that has gone quiet — and until now the only place to put any of that was a note in the activity log, which reminds nobody and appears on no list. A partner follow-up is a real follow-up: it lands in My Follow-ups, shows on the CRM calendar, sends its reminder, can be reassigned, rescheduled with a reason and marked done. ⚠ It defaults to the partner MANAGER rather than to whoever is logging it, because a partner conversation belongs to the person who owns the relationship. A terminated partnership takes no new ones; its history stays.

  • New

    Every follow-up now says where its record came from. My Follow-ups has a new Source column, the view drawer has a Source field, and the calendar’s day detail carries the same line: Partner-sourced, Partner-influenced or Direct, with the partner named and linked. A follow-up strips a record down to a subject, a due date and an owner — “call the Acme lead” reads identically whether Acme walked in or a channel partner sent them, and those are two different calls with a third party holding a claim on one of them. Finding that out meant opening the lead. ⚠ Direct is drawn too, quietly, rather than left blank: in a column whose whole job is to answer “partner or not”, an empty cell is the one reading that leaves the question open. A follow-up on the partner itself says “With partner”, and a record whose partner has since been retired still names them.

  • Improved

    Partners joined the Related To filter on My Follow-ups and the calendar, so a channel manager can pull up their partner touches on their own.

  • Improved

    A partner’s page starts where the page starts. Delete now sits in the header beside Back, and the near-empty strip it used to occupy — a full-width bar carrying one link — is gone, so the performance cards move up under the title instead of floating a band of grey below it.

  • Improved

    Tables no longer scroll sideways. A table sizes each column to its widest unbreakable run of text, and `white-space: nowrap` — which every one-line-with-an-ellipsis cell sets — makes that run the ENTIRE string. Two or three long-text cells each quietly demanding "my whole subject line, on one line" is how a table that fits on paper grows a horizontal scrollbar, with no single cell looking like the culprit. Long-text cells now wrap to two lines and keep their ellipsis, so columns can be narrow without rows becoming tall. ⚠ Deliberately aimed at those cells and nothing else: badges, buttons and dates are short, cost almost nothing, and are left alone — the version of this fix that lets every column shrink to one character is the version that snaps "Overdue" into "Overdu / e".

  • New

    Needs Attention says whether each flagged record is partner business or direct, and can be filtered by it. A queue is a list of calls somebody has to make, and a partner-sourced lead is a different call — the partner has a claim on it and usually a protection window still running — but the queue showed nothing to tell them apart. My Follow-ups gets the same Source filter. ⚠ The badge says only "Partner"; whether that is sourced or influenced is in its tooltip, because answering the second question in the row costs twice the column width.

Week of 24 August 2026

75 changes

  • New

    The Registrations tab on a partner now searches and filters, with the same bar the Lead Registrations list uses: search by customer, contact or number, then narrow by status, type, conflict and a date range — minus the partner picker, because the partner is the page. It also pages now. ⚠ The tab was reading an endpoint that returns a partner’s first 25 registrations and nothing else, which is survivable for a list you only sort and a trap for one you search: past 25 registrations, searching would have answered “no matches” for a customer sitting right there. It now runs the same query the module list runs with the partner pinned, so search, filters, sorting and paging are one implementation rather than two that agree until they do not.

  • Improved

    Objectives & Goals now says out loud when nobody has been given access to anybody else’s objectives. Permission to read a colleague’s scorecard is granted to NOBODY when a company starts — deliberately, because managing somebody and being entitled to read their objectives are two different things — but nothing anywhere said so. A company that had not granted it was one where everybody dutifully wrote objectives into a screen no manager could open and no appraisal could ever be rated, and it looked exactly like a module that was working. ⚠ An administrator could not spot this by using the product: administrators bypass every permission check, so they see every scorecard and everything looks fine from the one seat that can fix it. There is now a notice naming the three permissions and what each unlocks, and it disappears by itself the moment anybody is granted one.

  • Fixed

    Fixed: a KPA always showed 0% progress, however well the results underneath it were going. Progress was recorded per objective and never rolled up, and a KPA is a heading over the work rather than a thing anybody does — so nobody ever typed a number into one. A KPA now shows its results’ progress weighted by their shares: two results at 60% and 40% carrying 70 and 30 make the area 54%. ⚠ A dropped result is left out, and only a dropped one — counting an abandoned objective at whatever it reached would drag the area down for doing the right thing, while a missed one carries a real final number and stays in. An objective with nothing underneath it keeps the progress you entered.

  • Fixed

    Fixed: “Average progress” on Objectives & Goals was too low, for the same reason and by a lot. It averaged every row including the KPA headings sitting at 0, so one real scorecard read 36.4% when nothing on it was below 44%. The average now uses the same numbers the rows themselves show.

  • Improved

    An approved lead registration no longer says “Converted”. It says Registered — on the pill, on the progress bar, on the partner’s stat strip, on the registrations list and in the partner report. In this product converting already means something else and something later: a deal converts into an order. A registration reaching the end of its track means only that the claim was accepted and the lead now exists; nothing has been sold. Two different events wearing the same word on adjacent screens is a reading everybody had to be talked out of. ⚠ Only the wording changed — the status is the same status, so saved filters, exports and the partner portal are untouched.

  • Fixed

    Fixed: the Approved circle on a lead registration’s progress bar was grey and unticked on every registration that had, in fact, been approved. The bar treated “this registration is finished” as reaching the third step rather than passing it, and because a lead registration is approved and registered inside one transaction, every single one of them ended up displaying an approval that visibly never happened. A rejected or withdrawn registration still shows Approved struck through, because that one genuinely did not happen.

  • Improved

    The lead registration progress bar now names who did each thing and when. It showed a bare date under Submitted, nothing at all under Under Review, and a date with no name at the end — while the same bar on a lead, a deal and a quote has carried name and time under every step since those pages shipped. It now reads the registration’s own trail: who submitted it (the partner’s person by name when they used the partner link), who picked it up for review, who approved it, and who converted it, each with the time. ⚠ Under Review stays blank when nobody claimed the registration before deciding it — an approval straight off Submitted never passed through that step, and a name there would be invented.

  • New

    Registrations now show what became of the lead. Both the Registrations tab on a partner and the Lead Registrations list have a new Outcome column: Lead · Working, Lead · Qualified, Lead · Lost, Deal · Open, Deal · Won, Deal · Lost. The registration’s own status stops at Registered and every row past review carried the same pill, so “is any of this going anywhere?” meant opening each one. ⚠ A lead whose status is Converted is reported through ITS deal — a converted lead means the lead became a deal, which is still in flight, so it reads Deal · Open rather than anything that looks like a win. The registration detail page shows the same badge beside the record it created.

  • Fixed

    Fixed: Protection Left was a column of dashes. It only filled in for registrations sitting on Approved, and a lead registration is approved and registered in one step — so the column was blank on every lead registration in the product while the protection windows it is about were running. It now counts down on a registered claim too, and says Lapsed once the window has run out.

  • Fixed

    Fixed: a partner’s stat strip read “4 registrations · 0 approved” next to a card counting three of them in the pipeline. Same cause — the count looked only at the Approved status, which a lead registration never rests on. It now counts everything that got the green light.

  • Improved

    The scorecard on Objectives & Goals is a table. It was a stack of nested boxes with the type, weight and status chips trailing whatever the title above them happened to end at, so “which of these carries the most weight” meant reading every row. One column per fact now, aligned down the page — the same columns the All objectives table uses, so the two views read as one product. Goals keep their own table underneath, because they sit outside the weighted tree and carry no share of the 100; the two are held to the same column grid so they still line up. ⚠ Nothing on it sorts, deliberately: a KRA row means nothing except under the KPA above it, and sorting by weight would interleave children with other parents’ children. All objectives is the sortable view of the same rows.

  • Improved

    Progress is now ON the scorecard. It is recorded against every objective and the All objectives table has shown it since the module shipped, but the scorecard — the screen where somebody actually reviews how a period is going — did not show it at all.

  • Fixed

    Fixed: every progress bar in Performance was drawing empty. The bar was painted with a colour name that does not exist in the theme — the gold is one token and the code asked for another — and an unknown name produces no colour at all rather than an error, so the track rendered and the fill did not. The percentage beside it was correct the whole time. The same phantom colour was also making the current phase on an appraisal cycle look identical to the phases either side of it, hiding the Edit link on an improvement plan in dark mode, and ⚠ leaving a chosen 1–5 answer on a survey with no visible mark in dark mode — the number you picked looked exactly like the four you did not. All six places now use the real gold.

  • Fixed

    Fixed: the Scorecard on Objectives & Goals was empty for most of the people it is for, and there was no way to tell why. It shows YOUR scorecard — correctly, and deliberately, because a screen that defaulted to somebody else’s would be wrong in the one direction that matters — but the only control that pointed it at another person lived on the All objectives tab. So anyone in HR or admin who has no objectives of their own, which is most of them, landed on “Nothing on this scorecard yet” underneath stat cards counting forty-nine, and the escape was to filter the OTHER tab by a person and switch back. There is now a name picker beside the period. ⚠ It only appears when you can read more than one person’s scorecard — if yours is the only one you may see, there is nothing to pick and no picker is drawn.

  • Improved

    An empty scorecard now says whose it is — “Nothing on Priya Sharma’s scorecard yet” rather than “Nothing on this scorecard yet”. On a screen that quietly defaults to the person reading it, an unqualified “this” beside stat cards counting everybody’s objectives reads as the page being broken rather than as an honest answer.

  • Improved

    Objectives & Goals and Surveys & Feedback now look like the rest of HRM. Both had a view switcher of their own making — Objectives used two small buttons floating on the page background, Surveys used the quiet underlined strip that is meant for choosing a view INSIDE a screen — where Employee Assets, Attendance, Leave, Expenses, Loans, Petty Cash and Salary all carry the same full-width tab rail. Both now carry it too. Nothing moved and nothing was renamed; the two screens simply stop announcing that they were built after everything else.

  • Fixed

    The period on Objectives & Goals has moved into the filter bar, beside Anybody / Any type / Any status, and reads “Apr 1, 2026 to Mar 31, 2027”. It used to sit in a labelled row of its own above the filters, which on the All-objectives view meant two separate places to narrow the same list and two rules about which “Clear” reached which. ⚠ Clear still does not reset the period, deliberately: every view here is bounded by one, and clearing it would ask for every objective ever written. Changing the period now also returns you to page 1, which it did not before — narrowing from page 4 used to land you on an empty page 4 that read as “no matches”.

  • Fixed

    Fixed: the stat cards on User Management, Checklists, Delegation, Projects and the CRM report builder sat almost flush against the page’s gold rule instead of the comfortable gap every other list leaves, so the row read as stuck to the header. Those five were the pages still compensating by hand for a phantom margin the shared collapse-on-mobile wrapper used to add and no longer does. User Management’s row also went four-across one screen size later than everywhere else, so on a small laptop it stacked two-up while Leads beside it was already four.

  • Improved

    The Performance guide now has pictures. All seven parts of HRM → Guides → Performance were written without a single screenshot, which is the half of a guide that tells you whether you are on the right screen. Six are now embedded — rating scales, a scorecard with its shares, the appraisal cycles list, survey templates, survey rounds and the improvement plans register — each in both light and dark so they match whichever theme you read in.

  • Fixed

    Fixed: an open appraisal cycle said "Nobody yet — the cycle has not been opened" under People in this cycle, while the panel immediately beside it correctly read Open with six people. Anybody who could calibrate saw it, on every cycle that had not yet reached the calibration phase. The list now shows every participant and who is set to rate each of them from the moment the cycle opens, and a cycle genuinely holding nobody says so without blaming it on not being opened.

  • Fixed

    On a phone, objective titles on a scorecard were being cut mid-word — "Customer service" showed as "Custo… servi" — because the badges beside them could not shrink and the title was the only thing left that could. The title now keeps a sensible minimum width and the badges wrap onto their own line underneath, so every objective reads in full. Nothing changed on a desktop.

  • Improved

    The filters on the four Performance pages were each a slightly different width from one another and from every other module’s, which read as a ragged row. They now use the same equal-width grid as Disciplinary Records, Employee Assets and the rest.

  • Fixed

    Fixed: editing only the description of an objective, or only the reason on an improvement plan, recorded nothing in the audit trail — the entry was skipped when no other field had moved. Both are now recorded, naming which field changed. ⚠ The words themselves are deliberately not copied into the global activity log: an improvement plan’s reason is confidential and that log is read under User Management’s own permission, so the entry says the reason was rewritten and the reason itself stays on the plan.

  • Improved

    On a phone, Check in / Check out / “I’m back” has moved to the LEFT of the top bar, beside the light and dark toggle. It was leading the right-hand cluster — correct on the reasoning that the rightmost controls are the ones a thumb reaches, and it is the only time-critical one of the four — but four controls do not fit that side of a 375px bar, so the gold button was pressed up against the FACTO wordmark and read as part of the logo. The left side holds one small icon and had the room. Nothing changed on a desktop.

  • New

    Facto can now ask people what they think. HRM → Surveys & Feedback runs 360° feedback about one person — from their manager, their peers and the people who report to them — and company-wide rounds about the place itself. ⚠ The anonymity is not a policy, it is what is stored: on an anonymous round your name is not written against your answers at all, so there is no report, export or database query that could reconstruct who said what. Your invitation records only that you replied, so you stop being chased, and nothing joins the two. It also cannot be switched off once a round has opened — turning it off afterwards would mean attaching names to answers given on the understanding that there would be none.

  • New

    Two things about survey results that are the opposite of what people expect, and both are deliberate. First: results stay hidden until enough people have answered — five by default — and the screen says how many more are needed. In a team of four, three answers can be worked out by elimination, so a small round would be anonymous in name and identifiable in practice. The same floor applies per group, so a breakdown by "peers" or "reports" only appears where that group cleared it. Second: ⚠ the person a 360 is about reads scores by theme and never the written comments — those go to their manager and to HR. It reads like withholding and it is the reason the exercise produces anything worth reading: if people believe the subject will read their sentences, most write nothing useful.

  • New

    Improvement plans have a home, and they are emphatically not disciplinary records. HRM → Improvement Plans holds what is not being met, what would put it right, by when, and the review dates the two people involved will sit down on. ⚠ An improvement plan is about CAPABILITY — somebody is trying and not yet succeeding — and a disciplinary case is about CONDUCT. They have different standards of proof and different consequences, and Facto keeps them in two separate places on purpose: nothing here ever becomes one, and a plan that ends "not met" opens no case, sends no letter and suggests no next step. What follows is a judgement for a person to make. "Withdrawn" exists as an outcome so a plan overtaken by a resignation or a role change does not close as a finding nobody actually made.

  • New

    An appraisal rating can now decide who gets an increment. The increment cycle picker gained a fourth filter beside department, role and compensation band: ⚠ include only people whose most recently PUBLISHED appraisal came out at one of the bands you choose. A rating still in calibration is deliberately not eligible — it can still move, and paying against one would be acting on a decision the person has not been told. Everybody’s rating now shows on every preview row whether or not you filter by it, because "who is getting this raise and what were they rated" is the question somebody signing one off is actually asking. ⚠ A rating chooses WHO is in the cycle and never what the increment is worth — that stays the percentage or flat amount you enter.

  • New

    Every person’s record now shows their whole story here, on one dated column: joining, probation, confirmation, job moves, pay revisions, published appraisals, improvement plans, conduct records and their exit. None of it is new data — all nine were already recorded where you record them, and this simply draws them together, newest first, so "when did she last get a raise and what was she rated either side of it" is answerable without opening four screens. ⚠ Each kind of entry follows the permissions of the module that owns it, so a performance permission opens neither a pay revision nor a conduct record. And what you are not allowed to see is named rather than quietly dropped, because a timeline that silently omitted three pay revisions would read as a complete history.

  • Improved

    Plan review dates join the HRM calendar, and survey rounds deliberately do not. A review that is due shows on the grid — and it draws that a review is due and nothing else: no assessment, no outcome, no name beyond the plan’s own title to the two people who can see it. Both of you are reminded three days before, and ⚠ again if a review is missed, because a review nobody held is the one way a plan goes wrong in silence. Survey rounds get no layer at all: a survey is answered in five minutes from a notification, and putting every round on a grid twenty layers already share would be noise. Facto chases unanswered invitations three days before a round closes instead.

  • Improved

    The MODULES bar is gone from every dashboard on a desktop, and Customize and expand/collapse have moved up into the hero, top right beside the date. The bar was a second copy of the sidebar sitting directly under it — on HRM that is eighteen tiles across three rows, pushing the things you actually came for below the fold on a laptop. ⚠ On a phone it stays exactly where it was, and there it earns its place: the sidebar is a drawer behind the Menu button, so the tiles are the only list of modules on screen. Nothing was removed, only un-duplicated — every module is one click away in the sidebar, which is where you were already going.

  • Fixed

    While it was being moved, the phone’s module bar was also found to be twelve modules short. HRM’s was showing six — Attendance, Leave, Salary, Training, SOP & Policies and Reports — while Calendar, Short Leave, Overtime, Expenses, Reimbursements, Loans & Salary Advances, Petty Cash, Exits & Settlements, Employee Assets, Disciplinary Records, Objectives & Goals and Appraisal Cycles each had a sidebar entry and no tile. ⚠ The cause is worth naming because it was invisible: the bar was a hand-typed copy of the sidebar, so shipping a module could never fail for having missed the copy — the grid just quietly stopped being the list of modules it claimed to be. All three dashboards now READ the sidebar instead, which is what CRM has done since its own four went missing, so a module added from here on appears there by existing. What you see is still only what your permissions allow.

  • Improved

    Page headers across the newer HRM modules now behave on a phone. Short Leave, Overtime, Employee Assets, Disciplinary Records and the whole of Performance were putting full-text buttons — “Issue by quantity”, “Check against the register”, “Submit self-assessment” — next to the help and Configure controls, and on a narrow screen the row wrapped onto two and three stacked lines, which reads as a broken page rather than a full one. They now collapse to their icon on mobile and show the label again from tablet width up, exactly as Attendance has always done. ⚠ Nothing changed on a desktop, and nothing moved: the same buttons do the same things, and each keeps its full label as a tooltip and for screen readers while it is showing only an icon.

  • Improved

    Check in, check out and "I’m back" now live in the top bar, on every page. Attendance is the one thing in HRM you do rather than go to — you check in at the moment you arrive, from whatever you happened to be looking at — and it used to be reachable only from the Attendance page or the Tasks dashboard, so anybody working in CRM had to navigate out of their work to record that they were at it. The bar also says what is currently true, not just what you can press: "In 09:12", or how long you worked once the day is done, or that you are out on a short leave. ⚠ Checking out now asks you to confirm. It is the one punch you cannot undo yourself — it ends the working day and fixes the hours — where checking in early is a wrong time you can still fix by checking out later.

  • Improved

    "I’m back" is now on the Short Leave page itself, above the list, for as long as you are out — and it captures your location and, where your company asks for one, a selfie, exactly as checking in does. Both were missing and both mattered. The tap was buried inside a row’s panel, which asks somebody who has just walked back through the door to go and find their own row first; and although your position was already being checked against the geofence, none of it was being kept, so the one action that REDUCES what a short leave costs you left no record of where it happened. ⚠ Facto also nudges you now: once when your approved window starts, and again when it ends if you have not tapped. That pairing matters — the full time you asked for standing when nobody taps is only fair if somebody was actually reminded while they could still do something about it.

  • Fixed

    Two attendance corrections worth knowing about. First: a short leave that falls OUTSIDE the hours you actually worked is no longer deducted from them. If you checked out at four and had an approved pass for five, that hour was being taken off a day that never contained it — you were charged for time you were not being paid for. A pass now costs only the part that overlaps your check-in and check-out, which can only ever make it smaller. Second: the "Still out" tag on Short Leave used to appear the moment a pass was approved, even for one starting at two o’clock or next Tuesday. It now means what it says — out of the building right now — and the list shows your check-in and check-out beside each pass, so you can see why a pass cost less than its length.

  • New

    Facto can now hold what is expected of somebody. Until this week there was nowhere at all to write down a target, a goal or a key result area — the word "appraisal" appeared twice in the whole product, once as a job title. HRM → Objectives & Goals is that record. A scorecard is a few key performance areas — the broad parts of the job — each carrying a share of 100, with the measurable results that make them up underneath; goals sit beside it for the time-bound things somebody is working towards. ⚠ You do not need all three: plenty of companies run goals alone and the module works perfectly well that way. Every employee can write and track their own goals by default, which is deliberate — a performance module where an ordinary person cannot write down what they are trying to do is a form their manager fills in about them. Reading a team’s scorecards and setting them are two further permissions an administrator grants by name.

  • New

    The one thing to read twice about scorecards: the shares are checked when you ACTIVATE, not as you type. A scorecard sits under 100 for most of the time you are building it, so nothing complains until you press Activate — and when it does, it tells you what the weightages currently total and by how much they are out, rather than asking you to add up eleven rows by hand. Cascading an objective to your team is the other thing worth knowing: each person gets an INDEPENDENT copy, and editing yours afterwards does not change theirs. ⚠ That is a decision rather than a limitation — a live link would mean changing your target silently restated an objective somebody had already been scored on. The cost is honest: there is no rolled-up total across the copies, so "how is the team tracking" is answered by looking at them.

  • New

    Appraisal cycles run in four phases and nobody is told their rating until the end. HRM → Appraisal Cycles opens a review over a period, writes everybody in it an appraisal against whatever objectives were active in that period, and moves through self-assessment, manager rating, calibration and publication. ⚠ A rating reaches the employee when the whole cycle is FINALISED, never when their manager submits it — because a rating that then moved in calibration would have reached them twice, with the first one wrong. Your self-assessment is saved as you type, on your own device, so a long form survives a closed tab. And what you write is what your manager reads first, which is the reason to write it.

  • New

    Calibration advises. It never forces a curve, and that is a deliberate refusal. The calibration screen shows the live distribution beside the ratings and the committee adjusts freely — there is no target spread, nothing to fit, and the cycle closes whatever shape it is. A mandated bell curve was considered and rejected: it is increasingly litigated, and a system that cannot close a cycle until the numbers match gets worked around by mis-rating people, which is worse than the distribution it was trying to prevent. ⚠ Every adjustment is recorded with who made it, what it moved from and to, and why — and the employee reads that reason. Their manager’s original rating stays on the record beside the calibrated one, because "my manager rated me Exceeds and it came out Meets" is a conversation that happens and the data should support it rather than leaving both of them arguing from memory.

  • New

    Rating scales are yours, and renaming a band is safe. Settings → HRM → Performance → Rating Scales sets the bands appraisals are scored against — how many, what they are called, and their order. ⚠ Facto reads a band’s POSITION and never its name, so renaming "Exceeds" to "Above expectations" half-way through the year does not affect a single rating already given, and running a 1–5 scale for staff alongside an A–E for management still produces one comparable distribution. The one thing you cannot do is change a scale a finalised cycle used: every rating in that cycle is displayed by reading the scale, so editing it would restate an appraisal somebody has already signed. Create a new scale and point the next cycle at it.

  • New

    Two things that already had dates now appear on the HRM calendar, and one of them deliberately says almost nothing. Asset returns show when something lent out is due back, and show-cause response deadlines show that an answer is due on a day — and nothing else. ⚠ No name, no case reference, no reason: a conduct matter on a grid people share with their team is exactly what the disciplinary module’s visibility rules exist to prevent, so the layer carries a date and a link, and whoever may open the record reads it there. Appraisal phase deadlines join them, showing the cycle and never anybody’s result. Job moves also gained a reason — promotion, lateral move, rotation, restructure, or at the employee’s request — recorded on the designation history you already had rather than in a second place that would eventually disagree with it.

  • New

    Late arrivals now cost something, if you want them to. Facto has recorded every late arrival since shifts shipped — the day, the person, and how many minutes past their own shift start — and none of it has ever had a consequence. "Three lates make a half day" is among the most common written policies in Indian companies and there was no way to express it at all: the quantity was captured and the rule on it was not. Settings → HRM → Late Marks & Regularization is that rule. Set how many late arrivals a payroll month are forgiven — three is the usual figure — and what a further one costs: recorded and nothing more, half a day of unpaid absence, or a debit from a leave balance you name. A per-shift policy overrides the company-wide one, so a night team can have a longer allowance than the office. ⚠ Note that the allowance sits ON TOP of the grace minutes you already set: grace decides whether an arrival counts as late at all, and this decides how many late arrivals are forgiven before one of them costs something. Nothing changes for anybody until you add a policy — with none, every late arrival is still recorded and still costs nothing, exactly as before.

  • New

    The one thing to read twice about late-mark penalties: a penalty NEVER rewrites the attendance record. The day still says a full day was worked and that the arrival was late, and the penalty is a separate entry on HRM → Attendance → Penalties with the exact dates behind it. That is deliberate rather than a shortcut — the register an inspector asks for is attendance, not policy applied to attendance, and once the row holds the second the first is gone. It also could not work the other way: the allowance is monthly, so on the 4th nobody knows yet whether the 4th is forgiven. So the month is worked out rather than the day, recalculated each night and whenever you press the button. If a correction approved on the 20th changes whether the 4th was late, Facto produces a NEW figure rather than editing the old one — the old one is kept, marked as replaced, and whatever it had already done is undone first: loss of pay staged for payroll is taken back off, leave debited is credited back. Turn on "Replaced" in the filters to see them. ⚠ One case is reported rather than fixed: if that month has already been RUN, the loss of pay has been paid and cannot be taken back — the register says so and those days need an adjustment in a later month.

  • New

    Half a day of loss of pay for lateness is not a deduction from wages, and the distinction protects the employee rather than the company. A deduction comes out of wages that were EARNED, and the law caps all deductions in a month at half of them — so a fine, a loan instalment and a damage recovery all compete for that ceiling. Loss of pay is wages never earned, because the person was not at work, so it is not subject to the cap and never eats into it. Putting a late-mark penalty through Deductions would have consumed half a ceiling it has no business touching, and a legitimate fine in the same month would then have been refused or quietly reduced. So it deliberately does not go through Deductions at all: it is staged as loss of pay for the payroll month, and shows on Salary → Run payroll → Payment days beside the register's own figure before you run anything. ⚠ A loss-of-pay override REPLACES the month's attendance position rather than adding to it, so if somebody was also absent for other reasons that month, reconcile the two on that screen before the run.

  • New

    Two notifications, and the first one is the one worth having. When somebody has used the whole month's allowance for late arrivals they are told so — while the next one can still be avoided — and if a penalty is then applied they get a second saying how many were forgiven, how many counted and what it costs. Both arrive before payroll runs rather than after the payslip, which is the difference between a warning and a receipt. Neither says anything a lock screen should not show. Anybody with permission can waive a penalty with a written reason, and the reason is required: ⚠ a waived penalty STAYS on the register, marked, with the reason beside it. That is deliberate — a register that hid the times you let something go would only ever show punishment, and somebody may need to see that a month was considered and set aside. Waiving is its own permission, separate from reading the register, because it is a decision about one person rather than a change to the rules. And every employee can read penalties recorded about themselves by default: somebody who cannot read a record about themselves cannot dispute it.

  • New

    Stepping out for an hour is now a record rather than a fudge. Until this week a dentist appointment at half past one had nowhere to go: you either did not record it at all, or you checked out and checked back in — which cuts the day at the moment you left, throws away the afternoon’s hours and, since overtime is split from the same pair of punches, takes the day’s overtime with it. HRM → Short Leave is that record. Raise it on your phone with the time you are leaving and the time you will be back, it goes to your approver, and your day stays ONE record with one check-in and one check-out — only the pass comes off the total. ⚠ Read the name carefully, because it sits directly under Leave Management and does not behave like it: a short leave does NOT come off your leave balance by default. Almost every company treats two or three a month as ordinary working life, so that is what Facto does — the tiles at the top of the page say how many of yours are still free, and only what you take past the allowance can cost anything at all.

  • New

    The one thing to read twice about short leave: there is no “I’m leaving” button, and that is deliberate. If there were, forgetting to press it would be free — so the honest person who remembered would be deducted and the forgetful one would not, and the whole thing would quietly under-count. So the time you ASK FOR is the time counted, and only your return is stampable. That flips it round: tapping “I’m back” can only ever count LESS, never more. Ask for 90 minutes, be back in 70, tap, and you are charged 70. Forget to tap and the 90 you asked for stands — which is what was approved rather than a penalty, and you are told that evening so it never turns up unexplained on a payslip. ⚠ And coming back LATE never costs more than you asked for: a late return is a conversation with your manager, not a bigger deduction, because an app that charged more for over-running would effectively be paying people to over-run.

  • New

    Four kinds of short leave, and two of them exist to stop you being charged twice. Personal is your own errand and the only kind that can use up your monthly allowance or come off your hours. Official duty is company business and is never deducted — a client visit is work. Late arrival and early exit are permission agreed in advance to start late or finish early, and here is the part that matters: your check-in or check-out time ALREADY records the shortfall, so the pass deducts nothing on top of it. A late-arrival pass also takes that day out of your late-arrival count entirely rather than using up one of the ones your company forgives — being penalised for lateness you asked permission for would punish somebody for doing it properly. ⚠ Where time IS deducted it comes off any overtime as well, because overtime is worked out from your worked hours: an hour at the dentist is not an hour of double time. Four hours is the longest a short leave can be; anything longer is half a day and belongs in Leave Management, where it comes off a balance and shows on the who’s-out calendar so people can plan around you.

  • Improved

    For administrators setting short leave up: it is off until you turn it on, under Settings → HRM → Late Marks & Regularization, on the same screen as the late-mark policy. Set how many a month cost nothing (two is the default and the commonest figure), and what happens past that: take the time off their hours, convert it to a leave debit against a balance you name, or nothing at all. ⚠ The free allowance counts passes APPROVED rather than raised — the opposite of the regularization cap on the same screen, and for the opposite reason: a cap exists to stop the queue being flooded so it counts what was sent, where an allowance is an entitlement and a rejected request must not eat one. If you convert to leave, the debit is proportional to the person’s own working day rather than a flat fraction, so somebody who stepped out for twenty minutes is not charged what somebody who took two hours is. ⚠ And nobody holds the approve permission by default: name your approvers under Settings → HRM → Short Leave Approvals — usually the reporting manager, because this decision is wanted in minutes rather than days — or turn approval off entirely, which makes a pass valid the moment it is raised. Leaving approval on with nobody named is a queue nobody can clear.

  • Improved

    Regularization is no longer unlimited. Until now an employee could ask to correct every working day of the month, and back-date a request into a payroll period that had closed — an unlimited self-service override of the attendance record with no cap and no deadline. You can now set how far back a correction may reach and how many one person may raise a month, on the same screen as the late-mark policy. Both are off by default, so nothing changes until you set them. The monthly cap counts requests SENT rather than requests approved, deliberately: counting approvals would let somebody submit thirty and have the cap decided by whoever got round to reviewing them. ⚠ One refusal is not configurable and never was optional — a correction into a payroll month you have already finalised is always refused, because reopening it would restate pay that has gone out.

  • Improved

    A permission correction worth knowing about if you have customised roles. The Attendance module had never declared what its permissions default to for a new company, which was harmless while every one of them was about capturing attendance — and stopped being harmless the moment three sub-modules of RULES arrived, because the fallback would have handed every Manager in every new company the power to set what a late arrival costs the whole company and to waive their own team's penalties. That is now declared explicitly: the two new baseline permissions — reading penalties about yourself, and raising a short leave — go to every role, and setting the policy, waiving a penalty and reading everybody's register go to nobody until you grant them under Settings → Roles. Existing companies were back-filled from the permissions they already had: whoever could configure attendance can now set the policy and waive, whoever could see everybody's attendance can read the whole register, and every role can read penalties about itself. Nothing anybody already held was taken away.

  • New

    Facto can now record a warning. Until this week the only disciplinary outcome it could hold was a FINE — the rarest and the most legally constrained of them — so a show-cause that ended in a verbal warning, a written warning, a final warning or a suspension had nowhere to live at all. HRM → Disciplinary Records is that record: what happened, when it happened, when it reached you, the chance the person was given to explain, and what was decided. Three things follow from it that were not answerable before. "Has this been raised with them before?" — the question every disciplinary process turns on — has an answer in the data instead of in somebody’s memory. A termination for cause stops being indistinguishable from any other exit, which is exactly the distinction a tribunal asks about. And a show-cause notice now survives even where nothing was done about it: previously the fact that a proper process had run was preserved only if a fine followed, so the register could show punishment and never restraint. ⚠ Two things it deliberately is not. It is not a grievance desk — a grievance is an employee raising something and a disciplinary case is the company acting on an employee, so somebody who wants to raise how they have been treated still uses Support → HR Grievance, which goes to HR rather than to their manager on purpose. And it is not the place for a complaint under the POSH Act, which needs a constituted Internal Committee, statutory timelines and its own confidential register — none of which is here, and running one through this screen would fail requirements the Act imposes rather than merely being untidy.

  • New

    Who can read a disciplinary case is the whole premise of the module, so read this before setting it up. A case is readable by the person it concerns — always, and that cannot be switched off, because they were served the notice and a record about somebody they cannot read is one they cannot correct — by whoever raised it, by anybody granted permission to read every case, and, only if the case is not marked confidential, by their direct manager. Nobody else: not their colleagues, not their department, and not somebody two levels above them unless you deliberately set the visibility that deep under Settings → HRM → Disciplinary Records. Anybody opening a case sees a line at the top saying which of those applies to them, which is what stops a manager assuming they may forward it. ⚠ Widening that setting later does not reach cases already raised — each one keeps the visibility it was created with, because somebody was told at the time who would see it. And note what is deliberately ABSENT: there is no disciplinary tile on the HRM home page and nothing on the User Management screen, because a home-page count reading "2 open cases" is visible over somebody’s shoulder and a conduct history has no business on the page you open to change a phone number. Nothing in a bell notification says what a case is about either — a notification is read on a lock screen.

  • New

    The show-cause notice is now a step rather than a date on a fine. Raising a case notifies nobody; issuing the notice is the act that tells the person a matter has been raised with them formally and by when they must answer, and it is the step everything else rests on — §8(3) of the Payment of Wages Act requires it before any fine, and every standing order requires it before anything worse. The notice comes pre-filled with the case’s own description so the two say the same thing, since a notice restated from memory is how they diverge and a divergence is the first thing an appeal finds. Record what the person said whether or not you accept it: a file holding only the company’s side reads as a formality, and their answer is what an outcome has to be reasoned against. If nobody responds by the date, YOU are reminded once a day — not the employee. Chasing somebody for an answer they may have chosen not to give turns a reminder into pressure, and the person who needs to know the clock ran out is the one who has to decide what happens next. Nothing happens automatically. One live notice at a time, too: a second is refused while the first is unanswered, because two notices means two deadlines and somebody who answered one has answered "the notice" as far as they are concerned.

  • New

    The one outcome available last week was “no action”. All seven are available now, and three of them do something outside the module that is worth knowing before you press the button. A warning — written or final — produces a letter, filed on the person’s record where they and HR can read it and nobody else can; the two letters differ in exactly one sentence, because a final warning says in terms that a further instance may end the employment and an ordinary one deliberately does not, so do not use “final” to mean “serious”. A suspension takes a first day, a last day and whether it is paid. And “no action” is still there, still the point: if somebody explains themselves and you accept it, that has to be recordable, or the register shows only the times people were punished. Every outcome asks WHY, and that reasoning is what the file keeps — it is not sent to the employee and it is not in the letter, which states the finding. ⚠ A decision cannot be edited or taken back. Every other record in Facto has an edit button and this one does not, because the question a disciplinary record exists to answer is what was decided, when and by whom, and an edited entry answers it with today’s version wearing an old date. If the decision changes, record the appeal — which appends a second decision rather than replacing the first, so the file shows both, in order.

  • New

    Suspending somebody without pay now reaches payroll, and it deliberately does NOT go through deductions. Facto stages the days as loss of pay in every payroll month the period touches, and shows you the exact month-by-month split before you press the button — a suspension running 28 September to 3 October stages three days against September and three against October, not six against one of them. The distinction between loss of pay and a deduction is worth two minutes: a deduction comes out of wages that were EARNED, and the law caps all deductions in a month at half of them; loss of pay is wages never earned, because the person was not at work, so it is not subject to that cap. Putting a suspension through the deductions route would eat half a ceiling it has no business touching, and a legitimate fine or loan instalment in the same month would then be refused or quietly reduced. ⚠ Two things to check afterwards. A loss-of-pay override REPLACES the month’s attendance figure rather than adding to it, so if the person was also absent for other reasons that month, reconcile the two on Salary → Run payroll → Payment days before you run it. And if the suspension is back-dated into a month you have already run, nothing can be staged — the case says so plainly, and those days have to be handled as an adjustment in a later month.

  • New

    A fine now has the conduct case behind it, which is the thing this whole module was built to supply. Recording “fine” as the outcome records the DECISION; taking the money is a second act and needs Salary → Deductions → Manage. That separation is deliberate — deciding that somebody breached a safety rule and deciding what comes out of their payslip are different acts by different people in every company big enough to need either. If you hold both permissions the outcome screen offers an amount and does both in one press; if you do not, it says so, and whoever manages payroll deductions imposes the fine against the same case afterwards. ⚠ The ninety-day clock runs from the ACT, not from your decision, and the fine is capped at 3% of the period’s wages — so a case sat on for three months produces an outcome that is perfectly recordable and a fine that cannot lawfully be collected, and Facto refuses the money and says why. Once imposed, the fine shows on the case with what is still to recover, and the show-cause date on it is read off the notice that was actually served rather than typed in again.

  • New

    A termination for cause is no longer indistinguishable from any other exit. ⚠ But recording it does NOT end the employment, and this is the sentence to read twice: it records the decision and produces the termination letter, and the exit is a separate record. The last working day, how much notice was required and served, and which payroll month settles it are not things a conduct decision can decide — and every one of them moves money: notice pay, notice recovery, gratuity eligibility, and the two-working-day clock for the final settlement. An exit opened automatically would carry four guesses that look exactly like four checked figures. So the case OFFERS to open the exit, and somebody holding both Decide and Exits → Manage fills those in; until they do, the person is still on next month’s payroll. Once the exit exists it shows on the case and the case shows on the exit, which is what makes “why did this person leave” answerable by pointing at the show-cause, the response, the hearing and the decision rather than at a dropdown value. If an appeal later reduces the dismissal to a warning, the offer to open an exit disappears with it.

  • Fixed

    The show-cause notice is now a document, not just a row. Issuing one produces the notice as a PDF and files it on the person’s record, restricted to them and whoever can already read the case. It states what is alleged in the case’s own words, the date they must reply by, and — in as many words — that no decision has been taken and that a decision may be taken if no explanation arrives. Both halves of that matter: a notice reading as an announcement of a finding makes the opportunity to answer a formality, and one that omits the second leaves somebody assuming silence ends the matter. Turn the letter off only if you are serving your own printed form. Separately, a notice served deliberately WITHOUT a deadline now genuinely has none — clearing the date used to apply the default seven days silently, so the warning on that screen described something that could not actually happen.

  • New

    Two permissions worth granting deliberately, and two things the module refuses to do. Raising a case and DECIDING one are separate permissions, and nobody holds either by default: putting an allegation on a colleague’s permanent record is not something a role should acquire as a side effect of an upgrade, and the person who raises an allegation is not automatically the person who should accept the answer to it. Deciding is also deliberately separate from Salary → Deductions → Manage — deciding that somebody breached a safety rule and deciding what comes out of their payslip are different acts by different people. Every employee can see cases about themselves and nothing more. The two refusals: you cannot import your existing disciplinary history from a spreadsheet, because every record here asserts that a process ran and importing rows in bulk would assert that for hundreds of cases with no evidence any of it happened; and there is no approval queue, because an outcome is a decision by an authorised person and routing it would put misconduct in the same queue as expense claims and leave requests, which is where the wrong person reads it.

  • Improved

    HR letters are no longer called payroll letters. Eight letter types were filed in the document library under the label "payroll employee", and three of them — the promotion letter and the two probation letters — were never payroll letters at all; three more are on the way for disciplinary records, and none of those is either. The constant, the entity type and the existing filed letters have all been renamed together in one change, which is a rename now and would have been a migration of eleven records’ worth of links later. Nothing changed for anybody using the app: every letter already issued is still filed against the same person, still restricted to the people who could already read it, and still reachable exactly where it was.

  • Improved

    Every record page in HRM now looks like every record page in CRM. Open a claim, a loan, a petty-cash float, an asset, an overtime claim, a salary month or an exit and the panels on it were each drawn a slightly different way — some with a plain boxed heading, some with the gold pill that belongs inside a form, some as an unlabelled grey box with no heading at all — so moving from a lead to a claim felt like moving between two products rather than around one. They all now use the same section card the Lead page uses: a navy edge down the left in light mode, gold in dark, and one quiet heading over a hairline rule. Nothing moved, nothing was renamed and no figure changed; a handful of blocks that had never had a heading gained one, worded from what was already on the screen. The same card also went onto the two panels on CRM record pages that had been missing the accent all along — Documents and Follow-ups — so the pattern is now genuinely the same everywhere instead of nearly the same.

  • New

    Facto now knows what the company lent you. HRM → Employee Assets is a register of every laptop, phone, vehicle and uniform you hand to somebody, with who is holding each one and what state it is in — and it exists because until now that record was somebody’s memory, which is also why a deduction for an unreturned laptop had nothing to point at. Start under Settings → HRM → Employee Assets by saying what KINDS of thing you lend. One question there is worth two minutes because it cannot be changed afterwards: whether a kind is tracked one item at a time — each unit with its own tag and serial number, at most one holder — or issued by quantity, like uniforms and SIM cards, which have no tags at all. Change it once anything exists under the kind and you would either strand the serial numbers already recorded or invent numbers for things that have none, so Facto refuses and tells you how many items are already there. Nobody types 400 laptops by hand, so the register imports from a spreadsheet: the kind, the tag, the serial, the make and model, what it cost and where it lives. Two things it deliberately is NOT. It is not an asset register in the accounting sense — no purchase orders, no vendors, no depreciation — because it tracks what a PERSON is holding rather than what the company owns, and the purchase cost is there for exactly one purpose, explained below. And it is not open to everybody: seeing your own things is a permission every employee has, and seeing the whole register is a separate one nobody gets by default, because that list is every serial number and every purchase price in the company.

  • New

    Handing something over and getting it back are now two recorded acts, each with the condition captured. Issuing asks who is taking it, when, and — the field that matters most — what condition it went out in; that last one is half of what any later conversation about damage rests on, because without it “it came back scratched” is one person’s word against another’s. It defaults to whatever the register already says, so the usual case is one tap. Set an expected-back date and the holder is reminded once a day after it passes, with their manager told as well after a week — a week rather than a day, because most things one day late are in a drawer. A signed handover note is generated and filed in the document library automatically, naming the item, its serial number and the condition, and it is worded as custody rather than as a debt. Moving something from one person to another is a return followed by a fresh issue, and there is deliberately no transfer button: recording it as one act would overwrite who had it and in what state, and “who had this laptop in March” would stop being answerable. Every handover stays on the item’s own page in order. Employees can ask for something with a reason, decided in the same approvals queue as everything else — and nobody holds the approve permission by default, so name your approver under Settings → HRM → Employee Assets → Asset Approvals before anybody asks. What somebody is holding now appears on their own page in User Management, and deactivating them counts it and says so before you press the button, so nothing walks out of the door silently.

  • New

    The one thing to read twice: recording that something did not come back deducts nothing from anybody. Marking an item as not returned, or returned damaged, records exactly that and nothing else — the screen says so in as many words, because somebody pressing that button will otherwise assume they have just started a recovery. Recovering the cost from wages is a separate decision taken by whoever manages payroll deductions, under Salary → Run payroll → Fines & recoveries, and the law requires the damage to be assessed and the person given a chance to explain first — neither of which recording a return performs. That is also the whole purpose of the purchase cost on an asset: the law caps what can be recovered at the damage actually assessed, and this is the figure that assessment starts from. It is not depreciated and it does not reach your accounts. The same rule holds at exit: an outstanding item surfaces on the offboarding checklist with a proposed recovery and a human decides, rather than a sweep taking money off a final settlement for a laptop that turns out to be in a courier bag.

  • New

    Recovering the cost of something that did not come back now has a screen, and the shape of it is the point: HRM → Employee Assets → Recoveries lists what could be recovered, and proposing one deducts nothing from anybody. The top half is a worklist — anything overdue back, written off as lost, or handed in worse than it went out — built from the record rather than from anybody typing a reason, so an item returned in good order cannot appear on it at all. Proposing asks for the amount, the loss as somebody has assessed it, what happened in words, and the date the person was given a chance to explain. It then creates a fine-or-recovery record under Salary → Run payroll → Fines & recoveries, and stops. Nothing comes out of a payslip until whoever manages payroll deductions spreads it over months, which is a different permission held by a different person on purpose: the desk that knows a laptop is missing is not the desk that decides what somebody is paid. Three things worth reading twice. The law treats an unreturned or damaged company item as loss of goods entrusted to somebody for custody, which caps the recovery at the loss actually assessed and requires the person to be heard first — so that is the record Facto creates, rather than the looser "asset recovery" the menu might suggest. A recovery may never seek more than the thing cost, and a misplaced decimal point is refused where it is typed rather than argued back down from a payslip. And there is deliberately one claim per handover: a second is refused, naming the first, because two claims for one laptop are two amounts nobody can reconcile. An employee who agrees to buy the uniform or keep the handset is the one case treated differently — no assessment, nothing to answer, and it can be collected over up to thirty-six months, which until now meant typing an ad-hoc deduction by hand every month.

  • New

    The exit screen now says what a leaver is still holding, before the settlement is worked out. It appears on HRM → Exits & Settlements above the dates, lists each item with what it cost and how many days overdue it is, and offers whoever holds the recovery permission a button — and it is a button rather than a sweep for one reason that has to be stated: a final settlement is the payslip a wrong deduction is hardest to reverse on, because the employment it would have to be corrected through has ended. Something one day past its date on a last working day is very often in a drawer or a courier bag. So Facto shows the figure, names the items and lets a person decide; it never takes money off a final settlement on its own. Anything already claimed drops out of the proposed total rather than being counted twice, and uniforms and other things nobody wants back are left off the list entirely — an item that can never be cleared is how a checklist becomes something people tick without reading.

  • Improved

    The asset audit reads like a list now: a search box, a status filter, sortable columns and pages. Search finds the GROUP you are looking at — the person, the department, the kind of thing — which means it changes meaning with the grouping, so the box says what it is searching each time; grouped by employee it also answers to "nobody", which is the row an audit is most often opened to find and the one no search could reach before. Two things are worth knowing because they are the difference between a report and a nice-looking report. The figures under the table are the WHOLE audit rather than the page you are standing on, and they narrow with the filters — a footer that changed as you paged would answer "what is this company holding" with "what is on screen". And both downloads are the whole audit however the screen is paged: a CSV that stopped where the page did would add up to its own footer and be missing every group after the twenty-fifth, which is the worst kind of wrong because it looks complete. Sorting resets when you change the grouping, since the first column is a different thing on each of the five.

  • Improved

    The Recoveries screen is now two lists rather than one long page. What could be recovered and what has been proposed sit behind their own sub-tabs, and each is a full list like every other list in HRM: search it, narrow it by why it is there, by category or by kind, sort it by any column with an arrow on it, and page through it. Stacked one above the other they could not be any of those things — one filter box cannot narrow two tables without meaning two different things, and one page control cannot page both — so the worklist was capped at twenty-five rows and simply did not say how many more there were. It says now. The register of proposed recoveries shows what is still owed by default; the Open switch in the filters brings back the ones already recovered, waived or lapsed, and choosing a state from the list beside it overrides the switch. The register also stopped scrolling sideways: the reason a claim was raised is long free text, and a column that refused to wrap made itself as wide as the longest sentence on the page and pushed every money column off the right-hand edge. It wraps to two lines now, with the whole sentence on hover.

  • New

    HRM → Employee Assets → Audit answers "who has what, and what is it worth" five ways — by employee, by department, by category, by asset type and by status — with two downloads. The summary is what you send to whoever asked; the second file is every asset, one per line with its tag and serial number, which is what somebody walks around the office with. Two columns are separate on purpose. Value in service excludes anything retired or written off as lost, because a valuation that counted them reports a fleet the company does not have; the written-off figure sits beside it in its own column, since it is the number an insurance claim asks for. And unlike every other list in the module, the audit SHOWS written-off items by default — "we wrote it off" is a claim, and checking claims is what an audit is for. Items nobody is holding and items no department owns get their own rows rather than being filtered out, which is usually the row somebody opened the screen to find.

  • Improved

    Every date on a disciplinary case is picked from Facto’s own calendar now, not the browser’s. Eleven fields in the module — when it happened, when it reached you, when the notice was served and by when it must be answered, when it was decided, a suspension’s first and last day, and the exit’s last working day and settlement month — were the operating system’s own date box, which looks different in Chrome, Edge and Safari, matches nothing else in the app, and on Windows writes dates back to front from the way the rest of Facto does. They are the same picker as every other date in the product now, and they grey out the days that cannot be right: the act cannot be dated after the day it reached you, a suspension cannot end before it begins, and a notice cannot be answered before it was served. Those were already refused when you saved — they are simply not offered now.

  • Fixed

    A letter filed on a disciplinary case was readable by the wrong people and not by the right one, and both halves are fixed. Warning letters, show-cause notices and termination letters are filed in the document library marked restricted — but the library had a rule that any file attached to a record could be opened by anybody who could open the Documents area at all, without ever checking whether they could open the record it was attached to. The Manager and Viewer roles both have that permission by default, so in practice a disciplinary letter about anyone was downloadable by a large part of the company, while the employee it named — who normally has no Documents permission at all — could not open the letter they had been served. Facto now asks the module that owns the record: a disciplinary letter follows exactly the rules the case itself follows, so the person concerned always reads it, HR reads it, the direct manager reads it only where the case is not confidential, and nobody else reads it at all. ⚠ This affected payroll letters and asset handover notes the same way and they are fixed on the same rule — a salary or increment letter now takes the compensation permission, and a handover note is read by the person holding the asset or by whoever can see all holdings. If you were relying on being able to open somebody else’s letter from the Documents area, that was never intended and it has stopped.

  • New

    The letter served at each step of a disciplinary case can now be opened from the case itself. Every step that produced one carries a "View letter" button on the timeline — which is where the employee reads the notice or warning served on them, since the document library is not somewhere most staff have access to. And where a letter failed to generate, the decision drawer has always said "serve it again from the case"; the case now actually offers that, on the step concerned, for anybody who can decide. It fills in the missing letter and refuses if one is already there, so a decision can never end up with two letters against it — and it does not touch the decision itself, which still cannot be edited.

  • Fixed

    The switch that reveals finished cases on the disciplinary register is called "Concluded" rather than "Closed", because it was hiding more than its name suggested. The register opens on cases that still want something doing, so a case leaves it the moment you record an outcome — and looking for the warning you had just recorded, the only thing on screen offering to bring it back said "Closed", which is a different status with its own badge that that case did not have. A case under appeal comes back on its own, without the switch, since it wants somebody to do something again.

Week of 17 August 2026

27 changes

  • Fixed

    Two fixes found by driving the new payroll screens in a browser rather than in a test. The Payroll card on the HRM dashboard was missing entirely for most companies — it was not empty, it was absent, and the same request failing is why the new fine and bonus counts never appeared on it either. It only broke for companies that had never set a payroll treatment against anybody by hand, which is most of them, and never in a freshly seeded database, which is why it survived. And a tooltip attached to a small count badge — the "5 not set" on Deductions & Ceilings, the weekly-cap chip on the overtime report, the signal chips on Pipelines & Stages — opened correctly and then drew itself off the top-left corner of the window, so hovering appeared to do nothing at all. Both now behave.

  • New

    Facto now pays the annual bonus, and the one thing to read twice is that the percentage is yours rather than ours. HRM → Salary → Run payroll → Bonus, in four steps. Declare a percentage for an accounting year; look at who the Payment of Bonus Act entitles and who it excludes; record what each person gets; stage them into a month and pay them with an off-cycle run. Nothing before that last step pays anybody, and every screen says so — a declaration that looked like a payment is how a company discovers in month nine that its eight-month deadline has passed. On the percentage: the law fixes both ends — never below 8.33% however bad the year, never above 20% however good — and where between them your company lands comes from the allocable surplus in your profit-and-loss account. Facto does not hold your accounts and has not checked the figure against anything; your accountant works it out and this is where you record what they said, with a box for the board minute beside it. Eligibility is two limbs and both are required: wages of ₹21,000 a month or less, and at least thirty working days in the accounting year — which counts paid leave, lay-off and maternity leave as worked, because the Act says so explicitly. Everybody the Act excludes still appears on the list with the reason against them rather than being filtered out, because they are exactly the people you may want to pay an ex-gratia to instead. ⚠ Nobody gets a statutory bonus AND an ex-gratia: they are the same payment under two legal characters, and the app refuses the pair with an explanation rather than a validation error. An incentive is different again — against a scheme you name, for anybody, and it sits alongside either. Two things worth knowing about the figures. The Act computes on a notional wage of ₹7,000 a month rather than on what somebody earns, so bonuses cluster and nobody gets a share of their own salary. And it is really the higher of ₹7,000 and your state’s minimum wage for that employment — which is per state, revised twice a year, and held nowhere in this app — so every base Facto shows is a lower bound, and the screen says so beside the numbers rather than in small print. Declaring the year notifies everybody with a payout under it, without a figure: the amount arrives with the payslip. Declaring is its own permission and it was granted to nobody on upgrade, because deciding what a company pays in bonus is a board-level decision an administrator hands out deliberately.

  • New

    A fine now has a clock on it, and the app counts it down. HRM → Salary → Run payroll → Fines & recoveries is a new screen for the two deductions the law puts extra conditions on: a fine, and a recovery for damage or loss. You record the date of the act itself, what happened, the amount, the deduction head it comes out under, and the date you gave the person a chance to explain themselves. Each month’s payroll run then takes what that month’s ceilings allow, and credits it back automatically — nothing is marked by hand. The one thing worth reading twice is which date the ninety days run from. A fine stops being recoverable ninety days after the ACT it was imposed for, not ninety days after you recorded it — so a fine entered three weeks late has three weeks less, and one entered four months late cannot be collected at all and is refused when you try to record it. The list shows the days left against every open fine, amber at a fortnight and red at a week, and whoever recorded it gets a notification a fortnight out while there is still a payroll run in which to act. When a fine does run out of time it LAPSES: it stays on the register with the amount that lapsed and the date, because a register that quietly dropped it would report money the company never received. The same happens the moment a run takes part of a fine and the ceiling stops the rest — a fine cannot be recovered in instalments at all, so the balance is gone rather than carried, which is exactly the opposite of what happens to a loan instalment or a canteen recovery. A recovery for damage is the gentler one: it has no deadline, it can be spread over up to thirty-six months, and its total can never come to more than the damage you assessed against the person — leave that figure blank and there is no ceiling on it at all, which the screen counts and warns you about. Nothing here can be deleted. Forgiving one is a waiver, which records how much, who did it and why, and cancels any months still planned for it. Recording a fine is its own permission and it was granted to nobody on upgrade, deliberately: imposing one is a disciplinary act rather than payroll administration, so an administrator has to hand it out on purpose.

  • New

    There is now a limit on what payroll can take out of somebody’s wages in a month, and it is the law’s limit rather than a setting. All deductions together are held to half a month’s wages — three quarters in a month where a co-operative society is paid — and fines to three per cent inside that. Statutory deductions are taken before the limit and are not counted against it. Some of this was already happening: a run has held discretionary deductions to half of wages since payroll shipped. What is new is that the app now knows what each deduction IS, and three rules that depend on knowing. A fine is capped at three per cent, which bites long before the total does. A recovery for damage can never come to more, in total, than the damage assessed. And — the one worth reading twice — a fine that does not fit is NOT carried into next month. Every other kind is: a loan instalment or a canteen recovery that was trimmed moves forward and is still owed. A fine cannot be recovered in instalments at all, so the part that did not fit is simply not collected, and the whole thing stops being recoverable ninety days after the act it was imposed for. The payslip says which of the two happened, in words, on the line itself — plus one line at the bottom giving the month’s limit and what it was worked out on. Whoever computed the run is told before it is approved, while there is still time to do something about it. Tell the app what your own deduction heads are under Settings → HRM → Salary & Payroll → Deductions & Ceilings; the page counts how many are still unanswered, and you can also set it on a component itself or paste it as a Deduction Class column with the rest of a month’s inputs. A head nobody has classified counts against the total limit and is never treated as a fine — the app will not invent a penalty out of a blank field.

  • New

    CRM has six written guides now, in the same handbook the HRM ones are in. They are at CRM → Guides, and the ? in any CRM page header offers the one covering the screen you are on. Start here is the foundation an admin sets up once — the currencies, the words a lead is described in, your pipeline, and who new records go to. Pipeline follows one chain across four screens: a lead becomes a deal, a deal is quoted, a won deal becomes an order. People & Activities is contacts, accounts, follow-ups, the queue of records that have gone quiet, and the calendar. Partners covers the organisations you sell through and what they earn. Insight is the dashboard, the ten report tabs and the forecast. For everyone is the short one you send to your sales team — it assumes nothing, takes about ten minutes, and is the only one written for somebody who will never open a settings page. Each of the four module guides is in two parts, the setup somebody does once and what everybody does with it afterwards, so you can read half of one and stop. Three things the guides say plainly that the screens do not: a deal cannot be marked won until a quote on it has been accepted, so the refusal at the end of a sale is a step somebody skipped rather than a fault; a blank commission rate on a partner means inherit from their tier, never zero, and the only way to say a partner earns nothing is to type 0; and sixteen of the fifty settings screens carry a Coming Soon badge — the page opens, the settings save, and nothing reads them yet — which is worth knowing before you plan an afternoon around one. Every screen the guides describe carries its name, the menu path to it, a picture of it in both light and dark, and a button that opens it. Printing a guide now uses the light screenshots whichever theme you are reading in, which it did not before. The guide list inside the ? panel is also grouped by module now, with the guides for the screen you are on at the top — it used to be one flat list of eleven under a heading that said "HRM guides" even when you were in CRM.

  • Fixed

    You can now say where a salary component’s quantity comes from, on the component itself. A head that is paid per unit — overtime hours, a night-shift allowance — needs a count, and until now the only way to point one at the attendance register was through the API. The derived-inputs preview even told you to set it “on the component library screen”, which had no such field. It does now: open any component under HRM → Salary → Components and pick between typing the count in by hand, overtime hours from attendance, or night shifts from attendance. Choosing overtime hours is what connects your overtime policy to a payslip — the hours staged are the ones the policy makes payable, after the daily minimum, the weekly cap and the rate for each kind of day, and a month your policy says needs approving stages nothing until somebody approves it. The screen says which of those you have picked and what it means, and warns you if you point a deduction at the register, which would derive a count nothing prices.

  • Fixed

    Three corrections to what the payroll and audit screens told you about overtime. The derived-inputs preview used to report an error for anybody whose month resolved to no overtime at all — somebody on leave for the whole of it, say — asking a payroll officer to go and approve nothing, and the error could not be cleared by any means: a month with no hours on it cannot be sent for approval in the first place, so it stayed in red on every preview of that period forever. A month with nothing owed now simply produces no row, the same as somebody with no overtime and no claim. Separately, when a month had been rejected or withdrawn the warning at the top told you to “approve them under HRM → Overtime” — which cannot be done, because the decision has already been taken and the approve button is gone; it now says what actually has to happen, which is that the month is worked out again and sent afresh. And every overtime action — resolving a month, sending it, approving, rejecting, withdrawing, exporting the register — was being written to the audit trail twice, so User Management showed each of them as a pair. One event, one row.

  • New

    There is an overtime register, and it is the one an inspector asks for. HRM → Reports → Overtime, over any range of months and filterable by department, in seven views. A daily register of every contributing day — who, when, time before the shift and after it, what counted, what was payable and at what rate. A weekly summary that says which weeks went past your cap and for whom. Breakdowns by department, by employee (with a month-by-month trend beside each person, so “is it always the same three people” is answerable) and by month. And two statutory ones: a man-hours summary giving ordinary man-hours, overtime man-hours and the total per month — the shape a state annual return asks for — and a per-worker register with the employee code first, splitting each person’s overtime across ordinary days, weekly offs, holidays and nights. Every view exports to CSV on its own, and the file is exactly what was on screen rather than a second query that could have moved. Until now the only place overtime appeared in any report was one column of an attendance CSV, and that column is the raw figure before any rule was applied. Three things the register says out loud rather than leaving you to work out: the Attendance tab’s overtime figure and this one differ on purpose — one is what was recorded, the other is what the policy makes payable; the ordinary man-hours column has the overtime taken out of it so the two columns add up to the total, which is why it reads lower than the attendance report’s hours; and there is no amount column, because what overtime is worth depends on that month’s proration and salary structure and is worked out by the payroll run — a rupee figure here would be a second number that disagrees with the payslip. It also tells you when somebody in the register has no employee code on file, which is the column a statutory form identifies a worker by.

  • New

    A month of overtime can now be sent for approval, and payroll will not pay one that has not been. Turn on “needs approving” on an overtime policy and a resolved month stops being paid automatically: whoever checked it sends it — usually a supervisor, on their team’s behalf — and somebody else signs it off. The two are deliberately different people and different permissions: Managers can send by default, and nobody can approve until an administrator grants it under Settings → Roles and names who it routes to under Settings → HRM → Overtime Approvals. The part worth knowing is what happens while a month is unapproved: payroll stages nothing for it at all and does NOT quietly fall back to the raw hours from the register, which would have made the whole approval a badge that changed colour. The derived-inputs preview says so per person and once at the top, so a run cannot go out short without somebody having been told. Rejecting needs a reason, and that reason reaches the person who sent it and the employee whose hours they are — a rejection somebody reads without the reason is a month they resend unchanged. A month can also be pulled back out of an approver’s queue, or withdrawn outright with a reason, which means no overtime is paid for it while the hours stay on the register. And when the attendance behind an approved month changes afterwards — a regularization landing late, a record corrected, a holiday added after the fact — the figure somebody signed is never rewritten: it is kept as history, marked Superseded, and a new one is worked out for the same month and needs approving. Whoever approved the original is told, with the old and new figures side by side. That check runs on its own once a day and there is a button for it on the Overtime screen. The HRM dashboard carries a row for anything waiting on you, the HRM calendar has an Overtime layer, and going past your weekly cap now notifies whoever can approve — that one is a limit on hours rather than on pay, and it says so: the hours past the cap are still paid, at the ordinary rate.

  • Fixed

    The statutory filings layer on the HRM calendar now actually draws. It was added with the compliance work, appeared in the Layers menu for administrators, and returned nothing for anybody — the layer name was dropped by the request validator before it reached the server, and it was also missing from the list that decides who may see it, so it never appeared at all for the compliance officer it was written for. Both are fixed: provident-fund, state-insurance and tax deadlines show on the grid for anyone who can see the statutory figures, red, with overdue ones marked. The petty cash approvals settings page also gained its missing “How this works” panel, which had been rendering empty.

  • New

    Overtime is now worked out per month, per person, and you can see the arithmetic. HRM → Overtime: pick a month, press Resolve, and it reads the attendance register against your overtime policy and works out what everybody is owed. Nothing is sent and nothing is paid by doing it — it is a figure you check before anybody acts on it, and you can run it as often as you like; a month somebody has already sent or decided is left alone. Four totals sit at the top and two of them are easy to confuse, so they are labelled apart: “below the minimum” is time too short to count as overtime at all, which is the one figure nobody is owed, and “past the weekly cap” is the opposite — those hours were worked and they are paid, at the ordinary rate rather than the overtime rate, under a salary component you name. Open anybody and their month opens day by day: time before the shift and after it, which days fell under the minimum, whether each day was an ordinary one, a weekly off, a holiday or a night, and what that pays. “Why is my overtime 12 hours when I worked 14” is answered on that screen instead of by a support ticket. A week that straddles two months is counted whole in the month it ends in — so a month can start a few days before the 1st, which is what stops the same Monday being counted against two months’ caps, and each person’s page says which dates it covered. Payroll then prices the resolved figure rather than the raw register: without that last part the whole thing would have been a screen people read and a number nobody used. The attendance report also gained an “Overtime recorded” tile — the figure was already being calculated and had never been shown anywhere except one column of a CSV export.

  • New

    Overtime is a policy now, instead of one subtraction. Until today, every minute anybody worked past a full day was overtime and all of it was paid at twice the ordinary rate — no minimum, no weekly limit, no difference between a Tuesday and a public holiday, and nothing anywhere that said so. Somebody who lingers eleven minutes past their shift four times a week was being paid about three quarters of an hour of double time nobody had asked for, across everyone, every month. Settings → HRM → Attendance → Overtime is where that gets decided. Set a minimum before overtime counts at all, say whether turning up early earns it, set what an ordinary day, a weekly off, a holiday and a night shift each pay, and set a weekly cap if you have one. Hours past the cap are not thrown away — they are recorded and paid at the ordinary rate under a salary component you name, because the register an inspector asks for is hours worked, not hours paid. Rates below twice the ordinary rate are refused: that is section 59 of the Factories Act, not a setting, and the screen says so rather than just rejecting you. A policy can be company-wide or belong to a shift, and a shift’s own policy wins for anybody on it. Adding one also changes how overtime is measured from the date it takes effect — from “anything past a full day’s minutes”, which on a shift with an unpaid break quietly includes the break, to the time actually worked before the shift started and after it ended, counted separately so that “who is being asked to come in early” is finally a question the data can answer. Nothing already recorded is recalculated and nothing you have already paid changes. A company that never opens the screen carries on exactly as before.

  • New

    A shift can work different days in different weeks. Alternate Saturdays are how a very large share of six-day companies actually run, and until now the app had no way to say so — a shift carried one set of working days that applied to every week of every month, so a fortnightly off had to be a leave request or nothing. Open any shift under Settings → HRM → Attendance → Shifts, turn on “Different weeks work different days”, and set each week of the month separately. “1st week” means the first Saturday of the calendar month, not the week the 1st happens to fall in — those two readings disagree in most months, and the difference would move somebody’s day off by a week with nothing on screen to show it. Everything that counts days follows: loss of pay, comp-off, how many days a leave request costs, and the shading on every calendar in the app, which now works out each Saturday for itself rather than treating them all alike. Like the working days beside it, the pattern is frozen once anybody is assigned to the shift — changing it would restate what past months counted as leave — and the fix is the same one: create a new shift and reassign forward. This is a shift’s pattern rather than the company’s; the working week in Settings → Working Calendar stays one set of days for every week, and the drawer says so where you set it.

  • New

    A holiday can now apply in one state, and a holiday can be optional. Two companies out of three with offices in more than one state observe different regional holidays in each, and the calendar had one list for everybody — so either everyone got 1 May or nobody did. Leave the new State field blank for a company-wide day; fill it in and only people posted to a work location in that state get it, resolved per date, so somebody who transferred in July has the right calendar on either side of the move. Mark a day Optional and it stays an ordinary working day until an employee chooses it, up to a limit you set below the list — the restricted-holiday arrangement most companies already run on paper. Everybody picks their own on Settings → Working Calendar, sees how many they have left, and can change their mind right up to the day itself; a day already past shows as taken rather than disappearing, so the count is always explainable. A reminder goes out once a year to anybody who still has one to choose, and the HRM dashboard carries a row while they do. Nothing changes for a company that adds neither: with no state and no optional day on the calendar, every holiday is exactly what it was.

  • New

    A promotion is finally a record rather than an overwrite. The designation on somebody’s record was a single field, so promoting them erased the previous title with nothing to say it had changed, when, or who decided — and “what was she called in April” had no answer in the data at all. Their Details tab now carries a Designation history: record a change with the date it applies from, and it becomes a new entry rather than an edit, so what somebody’s title was in any past month stays true. An entry dated today or earlier also updates the designation shown on their record and in the employee list, so nothing has to be changed twice. Alongside it, a compensation entry now carries what kind of change it was — on joining, annual increment, promotion, market correction or other — beside the free-text reason, so “how many promotions did we give last year and what did they cost” is a question the data can answer. Everything recorded before today reads as Other, which there means unclassified rather than ad hoc: nothing in the data distinguished an increment from a correction after the fact, and guessing would have produced a report that looked precise and was not. And there is a promotion letter, which states the old title, the new one and the date, and deliberately no figure — a promotion and a raise are two decisions, and somebody who got both gets both letters.

  • New

    You can give a whole team the same increment without typing it a hundred times. HRM → Salary → People & pay → Increments: pick a cohort by any mix of department, role and compensation band, pick a percentage or a flat annual amount, pick the date it applies from, and press Preview. Nothing is written yet — the preview lists every person with what they are on, what they would move to, and which already-paid months the date reaches back over, because a back-dated cycle owes arrears to everybody in it and that is the number to look at before committing rather than after. Anybody who cannot be included says why on their own row instead of quietly vanishing from the list: no cost to company on file, a revision already recorded on that date, or a band the cycle does not cover. Un-tick anyone who should be left out and commit. Each person committed gets a compensation entry and has their current salary structure re-assigned from the same date, because the payslip is built from the structure’s frozen figures — moving the cost to company alone would raise a number on a screen and change nobody’s salary. Committing stages no arrears: each person’s retro is still worked out on their own record, where somebody reads the figures first. If one person fails, the rest still go through and the list says which one and why.

  • New

    A person now has an emergency contact, an education history, a list of previous employers and a list of dependents — the rest of the HR file, on their Details tab in User Management. The contacts card is the one that earns its place on day one: it replaces the old Family Contacts list, keeps everything that was already in it, and adds a second number, an address and a “ring this person first” switch. Only one person can hold that switch, and turning it on for somebody takes it off whoever had it. The other three save you opening a scanned PDF to answer whether somebody is a graduate or where they worked before — a qualification carries the institution, the year and the grade in whatever scale the certificate uses, and a previous employer carries the dates, the reason for leaving and the relieving letter. A job somebody had not left when they joined you is a blank end date rather than a guess, and it sorts to the top where it belongs. Ticking “declared as a nominee” on a dependent records what the employee wrote on their joining form and nothing more — the screen says so at the moment you tick it, because gratuity and insurance nomination are signed statutory forms and nothing in Facto pays anybody on the strength of a checkbox. All four lists are private in the same way the date of birth is: an administrator and the person themself, and everyone else sees “Hidden” rather than an empty list, so nobody is ever told to re-enter records that are already there. The employee import spreadsheet carries the emergency contact — a name, a relationship and a number — so you can bring them in with everybody else, and re-uploading updates that person rather than adding a second. Every form on this tab is now a side panel, like every other form in Facto; the two that used to unfold in the middle of the page are gone.

  • New

    Probation has somewhere to happen. User Management has a Probation tab that lists everybody whose employment type is Probation and who has not been confirmed, grouped by how urgent they are: probation already ended, ending within thirty days, no end date on file, and still running. That third group is the reason the screen exists. Somebody on probation with no end date is never due and never overdue, so no reminder has ever reached anybody about them — and if you have a leave type that only starts accruing after confirmation, they have been accruing nothing the whole time, with no error anywhere to say so. Press Review on anybody and one panel offers both answers. Confirming writes the confirmation date, turns their employment type to Permanent and records the decision with who took it; the date defaults to the day probation actually ended rather than today, because the entitlement was earned then and a late click is an administrative delay, so the leave that was being withheld is credited from the next run. Extending moves the end date and records why, and does not change their employment type. Either way a letter is filed against their record unless you switch it off — addressed to the employee, stating no salary figure, and listing both dates on an extension so they can check it. Extending twice no longer erases the first date: every decision is kept, with the dates on either side and the reason, and it shows on the person’s own record as well as in the panel. The reporting manager is notified thirty days before probation ends and again once it has passed — or every administrator, if the person has no manager — and the HRM dashboard’s Action Required list carries a row for anybody overdue or undated. Nobody who has left is notified, and nobody is reminded about a person with no end date, because there would be no day for the reminder to stop.

  • Improved

    The guides have pictures now — 46 of them, of the actual screens, and each one comes in both a light and a dark version so it matches whichever you are reading in. Every screen the guides tell you to open is shown: the settings form you are being walked through, the list you are meant to end up with, the payroll pre-flight with its findings, the claim form, the leave calendar. They are photographs of a real workspace with real departments, categories, leave types and salary components in it, not empty screens — a picture of "No categories yet" documents nothing. Click any of them to open it full size, and the guides were 16 pictures before this, most of them missing.

  • Improved

    Every guide now says whether it is setup or everyday work, and who it is for. A small label beside each guide reads One-time setup, Everyday use, or Setup + everyday — in the list the ? button offers, and on the Guides page itself — so an employee looking for how to apply for leave can tell at a glance which of the five was written for them and which was written for whoever configured the module. Open a guide and the panel at the top now also says who it is for, what has to be in place before you start, and where it sits in the series: 3 of 5. Each part carries the same three facts for its own half — For Admin, four sections, five minutes, needs departments and people — so you know what a part costs you before you commit to it, and the prerequisite is named where you decide, rather than discovered at a settings screen with an empty dropdown. Every section heading now names the part it belongs to as well, which matters when somebody sends you a link into the middle of a long guide.

  • Fixed

    The contents list beside a guide now reaches the end of it. Scrolling into the last section of any guide left the highlight stranded several sections higher — you could be reading “If you get stuck” while the list still pointed at “Leave balances” — because the final headings sit too close to the bottom of the page for the old method ever to select them. It follows you the whole way down now, including through the last screenful. While that was open: the list dims the sections you have already passed and ticks a part off when you finish it, shows how far through you are as a percentage, and only expands the sub-headings of the section you are actually in — Pay & Claims had fifty-six entries in one column, which is a list you scroll rather than a list you use. There is also a Top button once you are well into a guide, and a guide prints properly now, without the toolbar, the contents list or the tinted background, with each part starting a fresh page. Separately, the guide list in the help panel was showing all five guides twice over during a working session; it shows each one once.

  • Improved

    The guides read a little differently in two places. Advice of the “do this, not that” kind — taking somebody off a shift without deleting the old entry, leaving a tax-free limit blank rather than typing zero — is now two cards side by side, green and red, instead of a sentence in the middle of a paragraph where the wrong half is as easy to remember as the right one. And a long section can open with a one-line summary, marked In short, for the reader who came back six months later to check one fact rather than to follow the procedure. The second half of a guide also sits on a very slightly different background from the first, so you always know which half you are in without looking for the heading.

  • New

    A person now has a date of birth and a gender, on their Details tab in User Management, and two things that have been quietly doing nothing start working. Income tax under the old regime has three slab tables, not one — somebody 60 or over is exempt up to ₹3,00,000 and somebody 80 or over up to ₹5,00,000, against ₹2,50,000 below — and until now every employee was worked out on the under-60 table because nothing in the app knew how old anybody was. Age is taken as on 31 March of the tax year, so a person who turns 60 in February is a senior citizen for the whole of it, including the April payslip; the monthly run, Form 16, the regime comparison and the Form 10E arrears worksheet all read it, and the worksheet resolves it year by year, because somebody can cross 60 in the middle of the span an arrear covers. The note saying the under-60 table was assumed has not gone away — it now names the specific employee whose date of birth is still missing, rather than describing the whole app. And a leave type restricted to one gender, which has been storable and editable since leave management shipped and was never compared against anything, is now enforced: maternity and paternity restrictions do something. That enforcement is deliberately permissive — anyone with no gender recorded may still apply for any type, because the alternative would have been refusing maternity leave across every company on the day the field was added — so the Leave Types screen tells you how many of your people are in that state, beside the type that restricts on them. Both fields are on the employee import spreadsheet, which is the realistic way to fill in four hundred birth dates, and both are private: the server sends them only to an administrator and to the person themself, and the activity log records that a date of birth changed and who changed it, never what it changed to.

  • Improved

    Every date picker in the app can reach a distant year. Clicking the month name at the top of the calendar opens the twelve months of that year, and clicking again opens a block of twelve years — so a date of birth in 1985 is three clicks rather than five hundred presses of the back arrow. The arrows step by whatever you are looking at: a month, a year, or twelve years.

  • Fixed

    The selfie taken at check-in is finally shown. Attendance has asked for a photo at check-in since the module shipped, and some companies make it compulsory — but nothing anywhere in Facto ever displayed one. It was collected, stored and never looked at, which is a privacy cost with nothing bought by it: the whole reason to ask for a face is that somebody can see it afterwards. Open any attendance record — your own history, or a person’s day on the Records tab — and the photo is there beside the map, as a thumbnail you click to view full size. It opens in the same viewer as an expense receipt, so you can zoom, rotate a photo that came out sideways, and download it. Days with no check-in do not carry the row at all, and a day somebody checked in without a photo says so.

  • Improved

    An attendance record now slides in from the right instead of opening in the middle of the screen. It was the last detail view in Facto still using a centre box: a voucher, a payslip, a payroll line, a tax proof and every form in the app open as a side panel on a computer and slide up from the bottom on a phone, and this one did not. It is roomier as a result — the map and the selfie sit properly rather than being squeezed — and the list stays visible behind it, so you can open one day, close it and open the next without losing your place.

  • New

    HRM has five written guides, and they read like a handbook rather than a wall of text. They are at HRM → Guides, and the ? in any HRM page header offers the one covering the screen you are on. Start here is the foundation an admin sets up once; Attendance & Leave, Pay & Claims and Learning & Policies each cover a group of the sidebar; For everyone is the short version you can send to your staff. Each of the three module guides is in two parts — the setup somebody does once, and what everybody does with it afterwards — and both parts are one click from the top of the page. Sections are numbered, so “section 9 of 14” tells you where you are in a twenty-minute read, and the contents rail down the side is grouped by part and follows you as you scroll. A bar under the title always shows the section you are in and how far through you are, including on a phone, where the rail is hidden. There is a search box that hides every section except the ones that match, so “gratuity” or “professional tax” gives you the three passages that mention it rather than a scroll bar. Each screen the guides describe now sits in its own block — its name, the exact menu path to it, a picture of it, and a button that opens it — so you can read a paragraph and be on the screen it is about. The setup sections end in a checklist you can tick, and it remembers what you ticked. Comparisons that were buried in prose — expenses against reimbursements, a travel advance against a loan, the six things people most often get wrong in payroll — are side-by-side cards. Every heading offers a link you can copy and send to a colleague, and any screenshot opens full size.

All of this is in the sixty days.

Every feature, no card, and nothing on this list is an extra.