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

Plan on the GL Account Itself, and Give a Project Its Company

September 14, 2026
Production

Project cost plans, budgets and timesheets now name a GL account instead of a second master nobody could maintain; a project finally records which company it belongs to; and the Tasks pivot offers every column the grid renders.

Bug Fix

A Project Chooses Its Company, or Takes It From the Sales Order

A project’s company decides its chart of accounts, its posting periods and every settlement, billing and labour journal raised under it — and neither the API nor the Overview screen had ever set it.

Naming a sales order now derives the company and the customer from it, and a company that disagrees with the order is refused by name. Where there is no order — capital expenditure, internal work — the company is chosen on the Overview tab. Changing an established company is refused once journal lines exist under it, or once the cost plan names accounts outside the new company’s chart.

System Global
Bug Fix

The Tasks Pivot Offers Every Column the Report Shows

Reported as “there are many columns in the tasks report but some are missing in the Pivot analysis”. The two tabs are the same rows, so a reader expects the same columns — but the pivot built its own projection of about twenty fields while the grid renders fifty-one. A field absent from the data is not merely unplaced in the pivot: it cannot be dragged in at all.

Department, Assigned Role, All Assignees, WBS, Task Definition, Verified By, Critical Path and every actual, revised, float and weight figure are now there. The built-in layout is unchanged and the new fields wait in the field list, so a layout anyone has already saved still loads.

Three details make them behave: a tenant’s own column caption now reaches the pivot as well as the grid, so one caption renames the column on both tabs; a date reaches the pivot as the day it names rather than a timestamp, which otherwise makes one member per row; and a measure with no answer is blank rather than zero, which would have read as a real zero.

Order Quantity is now offered, defaulting to Max rather than Sum — an order’s quantity repeats on every task of that order, so a Sum multiplies it by the task count. Withholding the field entirely was the earlier answer, and it read as a missing column.

Task Management Global
Improvement

Help Documentation for the Over-Billing Debit Note

The automatic debit note on an over-billed purchase invoice is now documented in the in-app help: when it triggers, what it posts, why under-billing raises nothing, and how to turn it on.

Procurement Global
Improvement

The GL Account Is the Cost Element

Project cost plan lines, change-request lines, activity rates, timesheet lines and budget document lines now name an expense account from the chart of accounts instead of a separate cost element.

Nothing in this product ever posted by cost element — actuals key on the account — so the element was a second master with no screen and no interface, kept in step with the chart by hand, which could only ever lose resolution against the ledger. One place now decides which accounts may be planned on: postable expense leaves of the project company’s own chart, refusing a heading, an inactive account, another company’s account or a non-expense account by name.

Plan against actual now keys on the same account on both sides. Existing plan lines are carried forward where the element named an account.

Finance Global
3.39.8

Closing Balance and Outstanding Invoices Are One Figure

September 13, 2026
Production

On the customer ledger the two disagreed by ₹32.9 crore on a single customer. They are the same figure counted two ways, and four separate faults were pulling them apart.

Bug Fix

The Customer Ledger Reconciles With Itself

Opening balance plus open receivables less unapplied credits is opening balance plus debits less credits. Four things were breaking that identity:

  • The outstanding list was filtered to the fiscal year while the balance counted every open invoice ever raised.
  • An unapplied receipt is a term of the identity that can appear in no list of invoices, and was being left out of the reconciliation entirely.
  • Allocating a receipt wrote back only the invoice half, so every receipt reported its whole value as still unapplied.
  • The cached allocated figure was nudged by a difference rather than rebuilt, which left 38 invoices allocated past their own debit amount.

The allocation rows are the record and those cached columns are a summary of them, so they are now recomputed, never adjusted by a delta. The customer’s balance is the net balance rather than the aging total — which ignored every on-account receipt, in the balance and in the credit check alike.

Administrators: reconcile_customer_ledger_allocations repairs existing data. It reports before it writes.

Finance Global
Improvement

A Sales Order Budget Reads the Whole BOM Tree

Converting a sales order BOM into a budget now counts the multi-level explosion correctly — top-level structures only, so a garment is not charged again under its own panel and fabric — and the budget delta reads the same way.

Production Global
3.39.9

Taking a Project Baseline Works

September 13, 2026
Production

Taking the first baseline through the screen failed outright, and two project writes were being wrapped in a transaction on the wrong database connection.

Bug Fix

Baseline, Settlement and Schedule Import Stamp Their Rows

All three wrote their rows in bulk, which skips the step that stamps the created and updated columns — so taking the first baseline failed on a missing timestamp. All three now stamp every column.

Taking a baseline and approving a cost plan were also wrapped in a transaction opened on the wrong connection, which on a tenant means effectively no transaction at all. Both are now bound to the tenant’s own connection, so each either completes in full or leaves nothing behind.

System Global
3.39.10

A New Tenant Is Provisioned in Minutes, Not Hours

September 13, 2026
Production

Onboarding clones a template database, but the deploy never upgraded the template — so after the first deploy every new tenant fell back to the slow path.

Bug Fix

The Provisioning Template Is Upgraded on Every Deploy

Tenant onboarding clones a template database, but the deploy upgraded only live tenants and skipped the template by design. After the first deploy the template was one step behind and every new tenant fell back to a full migration run measured in hours rather than a clone measured in minutes.

The deploy now upgrades the template and checks it afterwards. Both steps are loud but do not fail the deploy: a stale template still provisions correctly, merely slowly.

System Global
3.39.5

Issues, Manual Timesheets and Project Roles

September 12, 2026
Production

An issue could not be raised anywhere in the product, hours the timer never captured could not be recorded, and confirming that work finished required the right to re-plan the whole network.

New Feature

Raise, Resolve and Close an Issue

The Issues & Changes tab was a read-only grid over an API no screen called, so an issue could not be raised anywhere in the product. It now carries Raise, Edit and the status moves Start, Resolve, Close and Reopen. Resolve asks for the resolution text first, because the server refuses to close an issue without one.

The project detail page can also be deep-linked to a named tab, so the dashboard’s governance panel opens straight onto the issues.

System Global
New Feature

Manual Timesheet Entry

A new Time Entry screen regularises hours the task timer never captured. The week is resolved from the employee and the date rather than picked, and there are named refusals for a future date, a project that cannot take actuals, a summary element, an activity from another project, and a line or a day over twenty-four hours. Hours transferred from a timer are corrected at the timer; hand-entered ones are edited here.

This also fixes costing: no path had ever stamped a timesheet line with the resource it belongs to, so every line was refused and no sheet could be posted at all.

System Global
New Feature

Project Director, Project Manager and Project User

Confirming an activity — the actual dates and the progress — used to require the right to re-plan, because it was an edit on the activity row. So a team member who could report “finished” could also rewrite the network. Confirmation is now its own act under its own permission, accepting only the three confirmation fields; a plan field sent with it is refused by name.

Three roles ship with it: Project Director (oversight and change approval), Project Manager (the create-and-run set) and Project User (view, confirm, record time, meetings and chat).

Because not every tenant runs the Project System, the existing Tasks-only Project Manager role is renamed Task Manager in place — same role, same people assigned to it, any administrator edits kept — and a new Project Manager is created for the Project System alone.

A Created project cannot accept confirmations at all, and the Network tab now says so instead of hiding the control: release the project from its header, then confirm.

Administrators: run setup_rbac per tenant after upgrading, and re-check who holds Project Manager.

System Global
3.39.6

Send Network Activities to Task Management

September 12, 2026
Production

An activity is the plan; a task is the execution record. Activities can now be sent to Tasks, with their dependencies, and progress reported on the task flows back to the activity.

Improvement

A Timer With No Employee Now Says Which Login and What to Fix

“User must have an associated employee record to track time” named neither the login nor where to link it, and read as a fault in the task. The message now says which login is unlinked and points at the employee master’s User account field.

Task Management Global
New Feature

One Task per Activity, With the Dependencies Carried Over

Send to Tasks on the Network tab creates a task for each activity under the project’s own task container, linked to the activity it came from, and mirrors the network’s relationships as task dependencies with their type and lag.

There is one writer per direction. The plan flows activity to task: dates, duration, effort, WBS, the critical flag and the assignee, and re-running re-syncs those columns without rescheduling the whole container. Progress flows task to activity: the actual dates and percentage written on the task are reflected onto the activity, and confirming a linked activity directly is refused by name — an activity that has been sent to Tasks is worked on the task.

Refusals are per activity and reported — not scheduled, nobody named, task already finished — while a Created or Closed project refuses the whole run.

System Global
3.39.7

See the Document You Are Approving

September 12, 2026
Production

The approval dialog gains a Document tab showing the live document, the credit and debit note print form was rebuilt, and several statements were reading the transaction-currency amount where they needed the rupee one.

Bug Fix

Rounding Goes to the Round Off Account or Nowhere

A sales invoice’s rounding difference was posted to whichever account happened to be matched first on an unordered search. On one tenant that scattered rounding across four accounts, 734 entries of it into an account that had been deleted, and put 109 lines into other income. The difference now goes to a configured round off account or is not posted at all.

Finance Global
Bug Fix

Statements Read the Company-Currency Amount

A journal line carries both the transaction amount and its company-currency value, and several readers had the wrong one. Summing the transaction amount mixes currencies, and it scores a purely company-currency leg — an exchange difference, which has no foreign amount by design — as zero.

That is how a correctly posted exchange gain stayed invisible on the GL ledger, the Trial Balance, the P&L, the Schedule III set and the Bank Book. All of them now read the company-currency figure.

Finance Global
Improvement

A Printable Credit and Debit Note, and Sales Orders on a Line

The note print form was rebuilt, and a note line can now cite more than one sales order — an adjustment frequently spans several. The AP posting configuration also gets a maintenance screen, which it has never had.

Finance Global
New Feature

A Document Tab on the Approval Dialog

An approver can now read the document itself — header, parties, amounts and line items — without leaving the approval.

It is derived from the live document, never from the snapshot taken when the workflow started, so it shows what is actually being approved. And the approval is the authorisation: requiring the owning module’s permission on top would blank the tab for exactly the finance and management approvers the workflow routed to. A document type nobody has registered still renders, by inspection, and every field is read under its own guard so one unreadable value cannot take the panel down.

Workflow Global
3.39.0

A Foreign Advance May State the Bank’s Own Rupee Figure

September 11, 2026
Production

Six decimals of exchange rate cannot always reach the amount the bank actually debited, so operators were nudging the rate to express an amount they already had in front of them. The amount can now simply be stated.

New Feature

State the Value, Derive the Rate

On a USD 1,00,000 advance, one tick of the sixth decimal moves the rupee value by ten paise — so the figure on the bank’s advice is simply not on that grid. Operators were inventing a rate to state an amount, and leaving a rate in the ledger that nobody had quoted.

A Value in company currency box on the advance form takes the bank’s own figure and derives the rate from it. There is still exactly one source for the rupee side; only which of the two it is changes. Leaving the box empty — the default, and every advance raised before this — derives the value from the rate, so no existing document behaves differently.

Three figures are refused: a rupee value on a home-currency payment, one implying a rate of exactly 1.000000, and one more than 10% away from the rate beside it — that is a figure in the wrong box, not a rounding correction.

Applying the advance apportions the stated amount rather than re-multiplying a rounded rate, so applying it in full gives back precisely what went out, and the reversal carries the stated value too. The rupee side of the journal is now a residual, as the foreign side always was — which also fixes a latent defect where an advance with a bank charge balanced exactly in dollars and was out by four paise in rupees.

Administrators: run batch_migrate --app fi_ap_core per tenant. No new permissions.

Finance Global
3.39.1

Project Chat, With Customers and Vendors in the Room

September 11, 2026
Production

Every project gets a conversation that employees, customer contacts and vendor contacts share — but not under one rule, because the asymmetry is the point. Plus browser and phone notifications, and a customer portal administration screen.

Bug Fix

The Notification Bell Never Moved on a Tenant

The two ends of the live notification channel spelled the tenant’s name differently, and sending to a channel nobody has joined is a silent no-op — so the bell simply never moved. There is now one definition of that name, shared by both ends.

System Global
Improvement

Customer Portal Administration, and a Steadier Task Worksheet

Portal users, their projects and their access can now be administered from a screen rather than by hand, and the task worksheet’s change tracking was rewritten and covered by tests, so an edit is saved once and exactly as typed.

System Global
New Feature

A Conversation per Project

Employees, customer contacts and vendor contacts all talk in one project room. They are not admitted under one rule, and that asymmetry is deliberate: the employee roster is tenant-wide, so an employee is in every room, while an outsider is admitted to one. Flattening that would let one customer read another customer’s project conversation.

An outsider can talk, cannot widen the room, and never starts one. One place in the code decides who is in a room, and the REST API, the live socket and the customer portal all ask it — the portal reaching the same conversation through its own address, because a customer’s session is confined to the portal at the edge.

Nothing is written to the database from a socket frame.

System Global
New Feature

Notifications That Reach People Who Have Not Opened the Room

The member list is the audience: whoever the member dialog shows, plus followers, the project manager and anyone mentioned. Notifying only people who had already opened a room was tried first, and left the first message in every room reaching nobody while the member dialog still listed them.

The bell merges a conversation into one row: one unread entry per room, updated in place and bumped to the top, cleared when the room is marked read. Keeping only mentions was tried first and was the wrong lever — the answer to fifty rows is to merge them, not to discard forty-nine conversations.

Browser and phone notifications arrive as exact complements: the page raises one while a window is visible and the service worker when none is, tagged per room so one project’s message cannot replace another’s in the tray.

System Global
3.39.2

A WBS Element Can Be Set on the Task That Needs One

September 11, 2026
Production

The timesheet pull refuses a task with no WBS element and tells the user to set one — and nothing in the product could.

Bug Fix

The Timesheet Transfer Failed Where the Preview Worked

Pulling timesheet hours into a project failed with a server error while the preview of the same pull worked, because the transfer reached for a definition through a module that does not re-export it.

System Global
New Feature

WBS Element on the Task Edit Screen

The task edit screen gains a WBS element picker, and the task detail screen shows it. Where the signed-in user may not read the project structure the picker is disabled and the stored value is left alone rather than cleared on save.

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.