Release Notes - July, 2026
This release completes the partial invoicing workflow — you can now raise several partial invoices on the same project and issue credit notes and stornos against them. Alongside that you'll find Statements of Work on projects, API tokens you can manage yourself, and a long run of fixes across finance, reporting, and the Client Portal API.
New Features
Credit notes and stornos for partial invoices
You can now issue a credit note or a storno against an invoice raised for a single deliverable, exactly as you would for a fully invoiced project.
Previously the credit note window opened empty for partial invoices, and a storno came out with a zero amount — so a partial invoice could not be corrected once issued.
Several partial invoices on one project
You can now raise a partial invoice for one deliverable, then come back and raise another for the next one. Previously the second attempt was blocked with a message about partial invoicing not being able to be disabled.
The guard against switching partial invoicing off once an invoice exists still applies.
Statements of Work on projects
Statement of Work handling is no longer limited to quotes and leads — it is now available on projects too.
You can import an SoW produced elsewhere, generate one from the current project data, download it as a DOCX or a PDF, and see every SoW action recorded in the project change log.
Manage your own API tokens
A new Auth Tokens tab on your account page lists the API tokens that exist for your user and lets you generate a new one. Token values are stored encrypted.
This is the first step towards putting API token management in the hands of Client Portal and Vendor Portal users as well.
Create a brand without leaving the lead form
A plus button now sits next to the Brand dropdown when you create or edit a lead, matching the one already on Contact Person. Enter the brand name, website, and segmentation, and the new brand is added and selected straight away.
No more abandoning a half-filled lead to go and set the brand up separately.
Character-based unit types for languages
Each language now carries a unit type — Words or Characters — so throughput can be expressed correctly for character-based languages such as Chinese, Japanese, and Korean.
The Languages screen was tidied up at the same time: two unused throughput columns were removed and the remaining one is now labelled Translation (Units/hour).
Improvements
Clearer guardrails in the Estimate window
Partial invoicing can only be switched on for a project with no project-level discount, rush fee, or PM fee, and never for a project that has already been invoiced. The toggle explains itself with a tooltip when it cannot be used.
Once partial invoicing is on, project-level fields are disabled and any deliverable already invoiced shows a green Invoiced label with its fields locked, so you can see at a glance what is still editable.
Filter for partially invoiced records
The Invoice Status filter now offers Partially Invoiced, so you can isolate invoices raised against individual deliverables. The obsolete Not Invoiced option has been removed.
Projects with live partial invoices cannot be cancelled
Cancelling a project that still has an active partial invoice against it is now blocked, with a tooltip explaining why. Written-off, rolled-back, and storno invoices do not count, so those projects can still be cancelled.
This stops cancelled projects leaving live invoices and credit notes stranded in Finance.
Credit limits account for partial invoicing
Current and available credit on a client profile now include partially invoiced projects and the outstanding balance of partially paid invoices and credit notes, so the remaining credit figure is accurate.
No translator invoices for in-house linguists
Linguists marked as in-house are now skipped by automatic translator invoice generation, and the option to create one manually is no longer offered for them.
A CV is no longer required to add a translator
You can create a translator from the internal portal without uploading a CV, which makes onboarding faster. A CV can be added later by editing the translator, and vendors can upload their own from the Vendor Portal.
Statements of Work can show the same reference as the invoice
A new placeholder pulls the quote or project reference already used on invoice templates into the SoW, so a Statement of Work and its matching invoice carry the same identifier.
Consistent wording across invoice windows
Two invoice windows used different labels for the same kind of figure. Both now read Amount, so it is clear you are looking at the same thing in each place.
Bug Fixes
- Revenue and cost report no longer fails to load,
- Gross profit percentage now accurate and no longer drifts on projects,
- Deliverable discounts apply correctly in Estimate and Re-estimate,
- Invoice and credit note PDFs no longer come out blank,
- Client Portal API corrected across projects, quotes, languages, and invoices,
- Test Email Delivery button working again,
- User creation no longer blocked by the timezone field,
- Client-specific price list items now save on translator profiles,
- Translator status filter renamed to Deactivated and now filters correctly,
- Cross-tenant project sync no longer attaches work to an unrelated project.
Security & Stability
Encrypted connections between tenant databases
Traffic between the databases behind each tenant, including replication between primary and replica, now travels over an encrypted connection across all hosted environments.
Platform and dependency updates
The underlying runtime and framework were moved to current supported versions, and patched releases were taken for several third-party libraries — closing reported vulnerabilities in CSS parsing, database access, and websocket handling.
Document generation was also made safe against two requests for the same record running at once, which was the cause of the occasional blank PDF.