Public changelog

What we shipped, in plain language.

Every release to Biztimize — new features, improvements, fixes, and breaking changes — documented here, for everyone. No marketing gloss.

3.36.37

A Marker Can Name the Production Orders It Cuts For

September 03, 2026
Production

Cutting Room markers now carry the production orders they are cut against, and the marker list and form were rebuilt around them.

New Feature

Production Orders on a Marker

A marker is now linked to the production orders it is being cut for, with each order’s own quantities visible while the marker is planned. The marker form and list were rebuilt around that link, and production planning answers the order and quantity lookups the form needs.

Production Global
3.36.33

Two Upgrade Steps That Could Abort a Deploy

September 03, 2026
Production

A help-article seed and the new chart-of-accounts seed each aborted the upgrade on some tenants. Both now take the “already seeded, do nothing” path.

Bug Fix

The Upgrade No Longer Stops on Two Seed Steps

A help-documentation seed named a field that lives on a different record, and the chart-of-accounts seed checked for an existing chart by its filing type — which misses a tenant whose chart is filed under an older type code, and then collided with the accounts that tenant already owned.

The chart seed now works out every code it would write and stops if any of them already exists, which is what it always claimed to do. Neither change touches an existing row.

System Global
3.36.34

The Application and Job Request Forms Print in Gujarati

September 03, 2026
Production

A Gujarati mother tongue printed the Tamil form, silently. Gujarati now joins Tamil, Hindi and Odia in the bilingual catalogue, with its typeface shipped alongside it.

New Feature

Gujarati Joins the Bilingual Print Forms

The employment application and job request forms take their second language from the applicant’s mother tongue. Gujarati was selectable as a mother tongue but held no labels, and an unheld language falls back to the default — so a Gujarati applicant was handed the Tamil form and nothing reported it.

The form embeds the typeface it asks for, so the Gujarati face ships with it. Without that the form prints correctly on a developer’s machine and renders every second line blank on the print server. A test now asserts that every language in the catalogue has its face on disk, rather than leaving that to be discovered on paper.

Human Resources Global
3.36.30

The Leads Grid Pages, Sorts and Searches on the Server

September 02, 2026
Production

The Leads list now asks the server for the page it is showing instead of pulling every lead in the tenant into the browser first.

Improvement

Leads Load a Page at a Time

The Leads grid fetched the whole table and then paged, sorted and searched it in the browser, so the wait to open the screen grew with every lead ever created. Paging, sorting, searching and column filters are now answered by the server, and the screen opens as quickly on the thousandth lead as on the first.

The task list shares the change, and both grids keep their Excel export over the whole result set rather than the page on screen.

CRM Global
3.36.31

Payroll Finds Its Net Pay Account, and a New Tenant Gets a Chart of Accounts

September 02, 2026
Production

The balancing leg of a payroll journal is mapped through the wage type that has always existed for it, an out-of-date mapping window is named as one, and a tenant with no chart of accounts is given the standard chart on deploy.

Bug Fix

A Mapping Dated After the Period Is Named, Not Called Missing

A GL mapping takes effect from the day it is created, so a mapping added while closing last month’s payroll is dated after the period end and is correctly filtered out — but the refusal then said the wage type was not mapped while the operator was looking straight at the mapping they had just saved.

The message now names the effective window and says to widen it, rather than inviting a second mapping row that will not help either.

Human Resources Global
Bug Fix

The Net Pay Leg Is Mapped Through Wage Type 9920

The posting service looked for a wage type code that no catalogue has ever contained, so the balancing net-pay leg could never be mapped however carefully the mapping table was filled in. It now reads 9920 Net Pay, which has been in the standard catalogue since the payroll engine shipped.

Creating a second wage type meaning “net pay” would have left two codes for one concept and an even chance of an operator mapping the wrong one.

Human Resources Global
Improvement

A Tenant With No Chart of Accounts Is Given the Standard One

The chart of accounts came only from a command run by hand per tenant, and three production tenants had never had it run — which blocks GL account creation outright, because an account has to hang off a chart. The deploy now seeds it.

It seeds only into an empty chart. The shipped template is not the only chart in use, codes collide across standards, and renumbering a chart that already carries posted journals is a supervised act — not something a deploy may do behind the operator’s back.

Finance Global
3.36.25

Payroll Posting Refuses Rather Than Writing a Wrong Journal

September 02, 2026
Production

Posting a payroll run to the general ledger now stops and names what is missing — an unmapped wage type, or no net-pay account — instead of quietly posting less salary expense than was paid, or an unbalanced entry already marked posted.

Bug Fix

An Unmapped Wage Type Stops the Posting and Is Named

A wage type with no GL account mapped against it was skipped, with a line in the server log and nothing on the screen. It did not even show up as an imbalance: the salary-payable credit is derived from the debits, so dropping an earning shrank the credit to match. The journal balanced perfectly while posting less salary expense than the run actually paid — the worst shape a defect can take, because everything downstream reconciles.

Posting now refuses, and the message lists every unmapped wage type with its amount in one go, so the mapping table is completed in a single pass rather than one refusal at a time. The refusal comes back as a plain validation message with the remedy in it, not a server error.

Human Resources Global
Bug Fix

The Net Pay Credit Can No Longer Go Missing

The net-pay credit leg had no check on it at all. Where no net-pay account was configured the leg was simply left out — and because payroll writes its journal as already posted, the ledger accepted an unbalanced entry marked POSTED with no error raised anywhere. A missing net-pay mapping is now refused by name before anything is written.

Human Resources Global
Bug Fix

A Failed Posting No Longer Leaves the Journal Behind

The posting wrapped its writes in a transaction opened on the wrong database connection, so on a tenant it was effectively running unwrapped. A failure part way through left the journal committed while the payroll run stayed Approved and no posting record was written — a general ledger entry that no payroll document admitted to.

The posting is now one transaction on the tenant’s own connection: it either completes in full or leaves nothing behind.

Human Resources Global
3.36.26

HR Can Record an Absence on Behalf of an Employee

September 02, 2026
Production

A new Absence Entry screen lets HR record, amend and cancel leave for any employee — including the people who have no self-service login at all — against the same record, the same quota and the same payroll the employee’s own request uses.

Improvement

One Definition of a Working Day, Shared With Payroll

Two answers to “what is a working day” were live in the product and they disagreed. Leave counted Monday to Friday and ignored holidays and the published roster; payroll already used the proper ladder. An employee whose three-day sick leave deducted three days of quota but two days of pay was a dispute the system could not answer.

There is now one definition, shared by leave and payroll: the published roster first, then the plant’s weekly pattern less that plant’s holidays, and only then the plain calendar fallback — and each answer says which rung it came from.

Human Resources Global
New Feature

Absence Entry on Behalf of an Employee

Until now an absence could only be entered by the employee, through self-service. On a factory floor that is the wrong way round: absence is observed, not applied for, and many of the people it happens to have no login. The only way in was the raw database admin, which writes the row with no duration, no quota deduction, no overlap check and no trail.

Time › Absence Entry closes that. HR picks the employee, the absence type and the dates, and the entry lands on the same record the employee’s own request would have created — so payroll, the leave balance and HR analytics need no special knowledge that it came from HR.

An HR entry is an observation, not an application. It is recorded as approved and the quota is deducted in the same transaction; it does not invent an approval trail through people who never saw it. What it does record is how it came to be there: whether the employee, HR or an import entered it, the reason HR gave, and whether a quota was overridden. Every audit and every payroll dispute reads those from the row rather than guessing.

Where a quota is short the entry is refused. HR may override — real absence must not be blocked by a balance nobody loaded — but only by asking for it, only with the right to do so, and the row is stamped with the fact for ever.

Corrections are honest too. Amending an absence reverses the original and reapplies rather than editing it under the balance, so the quota can never drift. A cancellation hands the quota back. Marking a whole shift or department absent reports row by row — the ones recorded, and each one that was not, with the reason — instead of one number that hides the failures.

Human Resources Global
3.36.28

Task Dashboard: Co-Assignees, an Editable Time Spent, and a Grid That Searches What It Shows

September 02, 2026
Production

A task can now be assigned to several people, a supervisor can correct the Time Spent total without rewriting anybody’s timer entries, and the task list’s search, sort and filters finally reach the Project, Assignee and Status columns it displays.

Bug Fix

The Task List Searches, Sorts and Filters the Columns It Displays

The task list’s search box only ever looked at the task’s own fields, so searching for a project or an assignee — both plainly on screen — returned nothing, which reads as a broken search. It now covers what the grid shows: task, project, category, priority and assignee, employees and contacts alike.

Three related faults are gone with it:

  • The box now means one phrase. Searching “Website Creation” used to return a task called “Creation of banner” on a project called “Website Redesign” — a row containing neither of the words the user typed together.
  • Typing anything into the box raised a server error, because the search named two fields a task does not have. An unsearched list loaded fine, which is why it went unnoticed.
  • Sorting and filtering on Project, Category, Priority and Assignee were being dropped in silence — the click did nothing and said nothing. Status now filters by picking from the real list rather than by typing a label that never matched, and the export answers to the same column names the grid filters on, so a download matches what is on screen.

Paging is steadier too: rows sharing a creation timestamp could previously swap between page fetches, showing one task twice and another not at all.

Task Management Global
New Feature

A Task Can Be Assigned to More Than One Person

A task carried exactly one assignee, so shared work had to be duplicated into a task each. A task — and a recurring task definition, so every occurrence it generates — can now name additional assignees alongside the primary one.

The primary assignee is unchanged and remains the one owner every existing report, notification and filter reads, so nothing that worked before changes meaning. What the co-assignees add is visibility: a task whose primary owner sits outside your part of the organisation is still yours if you are on it, and it appears in your list accordingly.

Task Management Global
New Feature

A Supervisor Can Correct the Time Spent Total

The Time Spent figure on the task list is now editable, and the cell also opens the full list of time entries behind the total — everyone’s entries, not just your own — so a number can be explained before it is changed.

Correcting the total is a supervisory act: the assignee’s supervisor, anyone above them in the chain, or a system administrator. The person whose hours they are cannot quietly restate them.

Timer entries are facts and are never rewritten. The difference between what the timers recorded and the total asked for is carried by a single adjustment entry, recalculated on each edit rather than stacking up a new row every time somebody changes their mind. Two things are refused by name: a total below what the timers already logged — the honest way to remove logged time is to correct the entry that logged it, and the message says how much is logged — and any edit while a timer is still running.

Task Management Global
3.36.27

Short Permission — Late-In, Early-Out and Gate Pass

September 02, 2026
Production

A few hours away from the shift is now a thing the system can express: an hours-denominated permission against the rostered shift, with a monthly entitlement, an ESS request path and a Permission Register — and an approved permission excuses the late-in without erasing what the terminal measured.

Bug Fix

Hours Can Never Be Deducted From a Quota Counted in Days

The leave quota engine matched a balance by category alone and never looked at the unit it was counted in. The first hours-denominated absence would have taken two days of annual leave for a two-hour errand — silently, and in the direction that costs the employee.

Hours now deduct from hours and days from days, on deduction and on cancellation alike, and a balance that holds both is reported as two figures rather than one meaningless sum. Where no balance of the right unit exists at all, the refusal names the unit — a different problem from “you have none left”, with a different fix.

Administrators: a monthly permission entitlement is itself an hours quota block, generated per employee and per month. Until it is generated the Permission Register has nothing to draw on. Unpaid permission is refused by name until payroll can express it, rather than being recorded as though it were free.

Human Resources Global
Improvement

An Approved Permission Excuses the Exception, Not the Fact

When a permission covers a late arrival, the time evaluation stops raising the exception — but what the terminal measured stays on the record for ever. The minutes late are the measurement; the excused minutes are the judgement, and they are capped at what the permission actually granted. Two hours late on a one-hour permission is still an hour late.

The excused time is credited to the day’s paid hours as well, without which a two-hour permitted late-in would silently have turned the day into a half day.

Human Resources Global
New Feature

Short Permission, Measured in Hours Against the Shift

Coming in late, leaving early or stepping out mid-shift had no record other than the exception it raised. Short Permission gives it one: an absence measured in hours, granted against the shift the employee was rostered onto, in the three shapes the shop floor actually uses — late-in, early-out and a mid-shift gate pass.

Employees request one from the Permission tab of their leave page; HR records and reviews them on the new Permission Register, and can record one on an employee’s behalf exactly as with any other absence.

A permission is meaningless without a shift to measure it against, so an employee with no published roster day is refused by name rather than being measured against a nine-to-five the plant does not work. The monthly entitlement is checked when the permission is asked for, not discovered at month end: past the cap it is refused, or deliberately overridden and stamped.

A mid-shift gate pass is recorded but costs nothing — the middle punches are not part of the day’s pairing, so the excursion is already inside paid time. It is kept because the fact that someone left the premises matters, not because it changes the pay.

Human Resources Global
3.36.23

A Half-Day Absence Costs Half a Day of Pay

September 01, 2026
Production

Payroll proration now reads how much of the day an unpaid absence actually covered, so a half-day leave stops docking a full day’s pay.

Bug Fix

A Half-Day Leave No Longer Deducts a Whole Day

Loss-of-pay proration counted one full day for every date an unpaid absence touched, whatever the absence said about itself. A half-day leave — a shape the leave screen has always offered and the quota engine has always honoured — therefore cost the employee twice the intended deduction, quietly, with nothing on the payslip to show why.

The day’s weight now comes from the absence record itself: a full day counts as one, a half day as a half, and a partial absence spread over several dates is shared across the span it covers. A weight that could only come from contradictory data is held between nothing and one whole day rather than being trusted.

A full-day absence is deliberately not divided across its span: leave is counted in working days while a span is counted in calendar days, so dividing one by the other would discount every leave that happens to straddle a weekend.

Administrators: this changes net pay for any employee with half-day unpaid absence. On one August run the affected employee moved from 16 to 17 paid days out of 25. Runs already posted are not restated — recalculate the period if the earlier figure needs correcting.

Human Resources Global

Want a walkthrough of what's new?

We run monthly release briefings for customers — what shipped, what changed, what's next. Bring your team.