> ## Documentation Index
> Fetch the complete documentation index at: https://docs.printools.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 12 October 2026

> Every quote keeps a version history you can open and revert to, plus a Comments & activity feed where you can reply to your clients.

Hey everyone,

Here are the updates for the latest version of PRINTOOLS. This one is a big release, with a lot of it coming straight from the things you've told us. Quotes now remember their history, payments are safer, boards are easier to focus, and you can send us feedback without leaving the app.

<Warning>
  **Two things to know first:** "Mark as Paid" no longer emails your customer a receipt unless you tick "Send the customer a receipt" in that window. And your home Dashboard is now yours alone: you keep the layout you had, new users start from the PRINTOOLS default, and nobody else's changes affect it.
</Warning>

## Highlights

<CardGroup cols={2}>
  <Card title="Quote history and comments" icon="clock-rotate-left" href="#quotes-and-jobs">
    Every quote keeps a version history you can open and revert to, plus a Comments & activity feed where you can reply to your clients.
  </Card>

  <Card title="Safer payments" icon="file-invoice-dollar" href="#invoicing-and-accounting">
    Disputes and failed refunds now show on the invoice with an alert, so nothing slips past you.
  </Card>

  <Card title="Focused boards and lists" icon="table-columns" href="#lists-and-boards">
    Hide lanes on any Kanban board, combine filters with And/Or, and tabs collapse into a tidy menu instead of scrolling.
  </Card>

  <Card title="Tell us what you think" icon="comment-dots" href="#feedback">
    Send feedback, bug reports and feature ideas straight from the sidebar.
  </Card>
</CardGroup>

## New features

### Quotes and jobs

* **Version history.** Every change to a quote is saved as a version. Open "Version history" to see who changed what and when, view any version read-only, and use "Revert to this version" to bring it back. Restored and re-sent versions keep their "Restored from" and "Sent to" labels.
* **Comments & activity.** A collapsible panel on the quote records everything that happens to it: edits, status changes, sends, client views and decisions, and anything done by automations or connected apps. You can post internal notes there too, and it all carries over to the job when the quote converts.
* **Reply to client.** Answer a client's portal comment straight from the quote's Comments & activity panel. Internal notes are clearly labelled so the two never mix.
* **Decoration cost and markup on jobs.** Add Decoration and Edit Decoration on a job now take the catalogue cost and let you set the markup, so a decoration added on the job is priced just like one from the quote.
* **Bulk task actions.** Assign and set due dates for several tasks at once from the job's Tasks panel.

### Building quotes

* **Choose the markup group.** The garment pricing window now has a dropdown of every markup group, whether percentage, flat rate or tiered. Pick one to reprice every row, or choose exactly which rows it applies to when some are custom. Set a row back to the group's rate and it rejoins the group automatically, and each row remembers which group priced it.

### Lists and boards

* **Hide lanes on a board.** Kanban views have a "Show" picker under "Group by", and every lane has a menu with "Hide from board". Hidden lanes are saved with the view, and a "+ N hidden" button brings them back whenever you need them.
* **And / Or filters.** Chained filter conditions on every filtered list can now match all of your conditions or any of them.
* **Cards show what you choose.** Kanban cards display every field you pick under Card fields, in order, including custom statuses and custom fields. Qty can be turned off.

### Invoicing and accounting

* **Disputes.** When a customer disputes a card payment, the invoice shows a red "Disputed" badge and you get an alert with the amount and reason. A lost dispute moves the invoice to "Charged back" with the amount outstanding again, and refunding a disputed payment is refused with a clear explanation.
* **Money alerts on the invoice.** You're alerted when a refund fails at Stripe after it was recorded, and when a customer's payment lands on an invoice that was voided while they were paying.

### Dashboard and reports

* **Personal dashboard.** Everyone in your shop, in every role, has their own home Dashboard starting from the PRINTOOLS default. Changes and "Reset Cards" only affect your own, and the "Test data" switch is now per person.

### Feedback

* **Submit Feedback.** The chat bubble at the bottom of the sidebar opens a form to report a bug, share feedback or suggest a feature. It comes to us with the page and shop details attached, and we reply straight back to you. Once a week we'll pop up a gentle nudge to hear from you.

### Toolbox

* Every printools.io toolbox tool is now linked from the Toolbox section of the sidebar and opens in a new tab.

## Improvements

### Client portal

* You can see which sizes a client added themselves in the portal.
* Clients can comment on a quote, and your staff preview shows the same buttons the client sees.
* The client's quote shows which shop sent it, even before an invoice exists.
* Quote and invoice line tables stack neatly on phones.

### Invoicing and accounting

* "Mark as Paid" has a "Send the customer a receipt" checkbox, off by default, and a receipt is never sent twice for the same invoice.
* Invoices under Stripe's minimum charge (A\$0.50) say so plainly and no longer list Card as a way to pay. The quote is only marked Accepted once the invoice is created.
* Xero: each invoice line carries tax at the quote's rate, so totals match and Xero no longer holds up approval over a few cents.
* Settings → Accounting: unmapped payment accounts no longer show red before you've touched them, there's one "Save" button, and the wording for each payment method is plain.

### Quotes and jobs

* Purchase order detail shows "From J-xxxx" as a link to the job, the item code once, and money in one consistent style.
* The line item window is titled "Add garment" or "Edit line item" to match what you're doing, uses "Colour", and explains the SubTotal lock with a tooltip.
* The Job Actions menu uses sentence case and one name for the portal link.
* Tasks: "Reconcile" is now "Apply templates", and the empty state is cleaner.

### Suppliers and catalogue

* The New Garment window says "From URL" and prefixes unit price with "\$".
* Variant table headers read "Vendor Stock" and "Colour".

### Dashboard and reports

* Pipeline by stage shows money to the cent, bars in status colours, a correct header and footer, and no "Delete" on built-in reports.

### Settings

* Automations: the built-in rule is now called "Set status to Sent when a quote is emailed", which is what it does.

### Look and feel

* Tabs never scroll. Tabs that don't fit collapse into an "N more" menu on every tab strip.
* "View quote", "View job" and similar are real links, so you can open them in a new tab with Cmd-click or middle-click. Signing in also returns you to the page you asked for.

## Bug fixes

<AccordionGroup>
  <Accordion title="Quotes and jobs" icon="file-lines">
    * Jobs only read "Out of sync" with their quote when something Sync would carry across has changed.
    * A client's decline reason, and their mock-up decision, reason and comments, now show on the quote, credited to the client only when the client made them.
    * A rejected Quick Mock can be revised and re-sent as a new version, and the portal no longer calls it "signed off".
    * Quote documents and the portal PDF print one version per mock, and never an unsent draft.
    * You can reopen a client's quote decision, so a declined quote can be decided again, and the portal's Accept and Decline buttons follow the recorded answer.
    * "Quick Mock" and "Shared portal link" labels on job proof cards are readable again.
    * Duplicating a custom charge line keeps its cost and markup.
    * A size added in the job wizard takes a cost, so it no longer lands on the purchase order at \$0.00.
    * Adding groups in quick succession no longer creates two with the same name and position.
    * The jobs bulk Actions menu names your custom status group instead of an internal code.
    * Quote documents, PDFs and payment receipts show the sender name and phone from Settings → Company.
    * Automation messages resolve variables typed in capitals, and the rule editor shows them as inline chips.
  </Accordion>

  <Accordion title="Client portal" icon="users">
    * A customer paying from the emailed link lands on "payment received", not a sign-in screen.
    * "Confirm your details" no longer lets a repeat customer fill in the form and then refuse the save.
    * Size confirmation only offers the sizes the catalogue lists for that garment, so kids' garments no longer show adult sizes.
    * A garment stored with both XXL and 2XL shows as one size and saves.
    * Opening an old proof link says it was replaced and to refresh, instead of a generic message.
    * After a declined card, retrying the pay link from a new browser works straight away.
  </Accordion>

  <Accordion title="Invoicing and accounting" icon="receipt">
    * The invoice shows its lines as they were when it was generated, so they always add up to its totals.
    * Voiding shows no made-up invoice number and names the voided invoice.
    * The invoice page keeps refreshing after "Payment Failed", so a successful retry shows.
    * "Undo mark as paid" re-opens the pay link so the customer can still pay.
    * The Stripe checkout page shows the invoice number, not the quote number, and a connected Stripe account shows as complete after onboarding.
    * "Send" on an invoice waits while an email is already queued, so no double emails, and Settings → Billing shows your saved card during the free beta.
    * CSV exports work for signed-in staff.
  </Accordion>

  <Accordion title="Suppliers and catalogue" icon="shirt">
    * The pre-built item builder can add lines again.
    * Returning to a filtered Garments or Purchase Orders list keeps the filter, so select-all only targets what you see.
  </Accordion>

  <Accordion title="Stability" icon="bug">
    * Fixed a crash in list selection, and unexpected errors from PDF, AS Colour and catalogue requests now carry a reference code you can quote to us.
  </Accordion>
</AccordionGroup>

## Behind the scenes

<Accordion title="Reliability and upkeep" icon="gear">
  No visible change here, but plenty of work keeping PRINTOOLS reliable and easier to maintain: safer saving for pre-built items, clearer errors for connected apps, deployment upkeep, and data clean-up.
</Accordion>

Thanks for all the feedback that shaped this release. Keep it coming, the new Submit Feedback button is right there in the sidebar.

With love from Kenny @ PRINTOOLS


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.