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.40

A Manual Payment Says What Credit the Vendor Already Holds

September 04, 2026
Production

The payment screen listed invoices and said nothing about an open advance, so it would pay the full amount while the vendor kept the advance and the cash both.

New Feature

Open Vendor Credit Is Named Before the Payment Goes Out

One vendor held a ₹5,00,000 approved advance with nothing allocated, and two open invoices. The manual payment screen showed the invoices and had no concept of a credit at all.

Open credit is now reported on the screen, in two tiers split on currency. A credit in the same currency as a selected invoice could have cleared it, so it is named and totalled and the payment waits on a written acknowledgement — a tick box reading “pay without applying ₹X of open credit”. A credit in any other currency could not have been applied to this payment anyway; it is reported and blocks nothing, because asking for a confirmation on a payment that was never at risk is how confirmations become reflexive.

The rule lives in the endpoint, not only on the screen. It is deliberately soft: an advance is not proof that it belongs to the invoices being paid, and a hard refusal would strand an operator who has no right to apply the credit either. A bypass is stamped on the payment’s own notes naming each credit left unapplied — and nothing is stamped when the box was ticked but no credit was actually open, because that would be a false statement on the document.

Finance Global
3.36.42

GST Receipt Voucher for Advances Received

September 04, 2026
Production

An advance is a taxable event with no invoice behind it. The receipt voucher required by section 31(3)(d) is now raised from the receipt itself, flows into GSTR-1 Table 11A and out again at 11B, and nets through GSTR-3B.

Improvement

The Invoice Screens Prompt for an Open Advance

Both AR invoice screens now show the customer’s open advances and offer to adjust them. They prompt; they never knock an advance off automatically — which invoice an advance belongs to is a judgement, not a lookup.

Administrators: after upgrading, run batch_migrate --app fi_ar and setup_rbac, then configure a GST advance account per company. Issuing a voucher refuses by name without a tax-on-advances account.

Finance Global
New Feature

A Receipt Voucher Raised on the Receipt Itself

Tax on an advance is due in the month the money lands, reported in GSTR-1 Table 11A, and reversed at Table 11B when the tax invoice finally goes out. There was no document for it.

The voucher is an overlay on the customer receipt, not a second cash document. The receipt already owns the bank leg, the ledger, the reconciliation and the reversal engine, and a parallel document would fork all of them. A receipt already applied to invoices is refused by name — that supply is taxed on its invoice — as is a foreign-currency receipt, because GST is a rupee liability and nothing here gets to pick the conversion rate.

The amount received is always tax-inclusive, so the tax is the subtraction of taxable value from gross, never a rate applied forward. Computed forward off a rounded taxable value, the columns fail to add up by a paisa on roughly half of all amounts — and a statutory document whose own columns do not add up is not defensible.

The tax posts as its own journal, so a receipt with no voucher posts exactly the two legs it always did. Adjustment resolves the invoice rather than trusting the reference it was handed: an id naming nothing, another customer’s invoice or a draft is a bad filed return.

Finance Global
New Feature

The Statutory Fallbacks Are Recorded as Fallbacks

Where the rate cannot be determined the law says 18%; where the place of supply cannot be determined it says treat the supply as inter-State. Both are applied — and both are recorded as fallbacks on the voucher, because a default nobody can see is indistinguishable from a decision, and whoever prepares GSTR-1 has to know which Table 11A rows to revisit before filing. A tenant-configured default tax code is not flagged: the tenant chose it.

Rule 49 caps the voucher serial at sixteen characters, so an over-long numbering pattern is refused rather than truncated into a collision.

Finance Global
3.36.36

The Delivery Matrix Stops Hiding Lines It Cannot Place

September 03, 2026
Production

A delivery note mixing variant and non-variant items showed a grid total that disagreed with its own header, because the lines the matrix could not place were rendered nowhere at all.

Bug Fix

A Line the Matrix Cannot Place Is Shown, Not Dropped

The delivery detail page switches to the colour and size matrix as soon as any item on the note has a variant, and then sends every line to it. A line with no variant matched no cell: it rendered nowhere, could not be edited, and was absent from the grand total — while the header, which sums every item, still counted it. One note read 7,738 in the header and 2,515 in the grid.

Items are now placed through a map that consumes each item exactly once. Whatever cannot be placed — no variant, a missing row or column attribute, or a second line landing on a cell another line already holds — is collected and shown below the grid in a flagged, editable table with its own subtotal, plus a combined product total.

The page also gained a Lines total chip summing every item including unsaved edits, and shows an amber Header says… chip when the two disagree, so a mismatch is visible rather than silent.

CRM Global
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.35

An Evening Timesheet, Mailed to Each Person Who Kept One

September 03, 2026
Production

A scheduled daily timesheet that mails every member of staff their own day — tasks touched, hours booked and what is still open — rather than one sheet to one address.

Improvement

A Time Correction Records Its Direction

The adjustment entry that carries the difference between what the timers logged and the total a supervisor states now stores whether it adds or removes time, rather than leaving that to be inferred from the figures around it.

Task Management Global
New Feature

Daily Timesheet Report

A new scheduled report sends each person their own timesheet for the day: the tasks they worked, the hours booked against each, and what remains open. It is a real schedule like any other report — it can be re-timed, paused or removed.

Its audience comes from the data, not the schedule: whoever booked time that day is who receives a mail, so nobody has to be added to a recipient list when they join and nobody keeps receiving an empty sheet when they leave.

Task Management 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

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
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
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.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

Want a walkthrough of what's new?

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