Stay up to date with the latest improvements and updates to YoPrint
Changelog
Stay up to date with the latest improvements and updates to YoPrint
October 2026
Fixed
Message access now follows the Manage Sales Orders permission
The Manage Sales Orders option in each role now controls which sales order and quote messages a team member can read and send, everywhere messages appear, including the Messages page and order conversations:
Team members limited to sales orders assigned to them can see, open, send, retry and change the status of messages only for sales orders and quotes they created or are assigned to.
Team members whose option only lets them view sales orders no longer see sales order or quote messages. The Message button is hidden for them, and the Messages page shows them only purchase order messages and other messages that are not linked to a sales order or quote.
For every role, the Message button is hidden on sales orders, quotes and jobs the person cannot message, and the Messages page counts and pages only the messages they can see. Before, messages did not follow this part of the permission: team members limited to their assigned orders could still see messages for other orders, view-only team members could still read every sales order and quote message, and the Message button appeared for all of them.
Access follows who created each order and who is currently assigned to it. The team owner and roles that can message all sales orders still see every order message, and purchase order messages are unchanged. Roles are set up in permission groups in Settings.
Improved
Fixed
Clearer delivery status and safer retries for sent messages
The delivery badge on a sent message now shows one clear state, so you can check whether a message sent from YoPrint reached each recipient. You'll find it wherever the Admin Portal shows a sent message, including Sales, Messages and order and purchase order conversations. The badge reads Waiting to send, Sent · Delivery not confirmed, Delivered, Partially delivered, Delivery failed or Delivery unknown, and for a message with more than one recipient it also counts how many were delivered, sent, failed, waiting or unknown.
Before, a sent email showed Sending... until a delivery confirmation arrived, a message that could not be sent or had mixed results across several recipients showed no badge at all, and any bounce notice, including a temporary one, could mark an email as failed. Now only a final bounce marks an email as failed; a temporary delivery notice leaves the email waiting for its final result. Older emails that never received a delivery confirmation show Delivery unknown, with an explanation when you hover over it.
Delivery confirmations come from the email service, so if none arrives, an email stays Sent · Delivery not confirmed or shows Delivery unknown. Past messages are not re-checked; their status is based on what was recorded when they were sent. This update does not change which email service sends your messages.
Retry Failed? now appears whenever YoPrint can resend safely, including when a message could not be sent at all and when only some recipients failed. It resends only to the recipients that failed, and it is not offered for a recipient whose outcome is uncertain (Delivery unknown), to avoid sending the same email twice. After you retry, the status updates even if the page misses the live update; if it cannot refresh, a Refresh status link appears and Retry Failed? stays hidden until the current status loads. Failed text messages can still be retried.
New
Improved
Choose, order and save the columns in your Download Center exports
In Reports, Downloads, Download Center, you can now export a CSV with only the columns you need, in the order you need. Before, each export type included every available column in a fixed order. A new Columns in this export panel below the export controls lets you tick the fields you want, use Select all or Clear, and move selected columns up or down. The order shown is the column order in the CSV.
To reuse a setup, save your selection as a named preset and pick it later from Saved presets. Presets are kept separately for each export type and are personal, visible only to the person who saved them. When saving, the team owner can tick Make team default to make that preset the starting column selection for everyone on the team for that export type. Each export type has one team default, and only the team owner can save or delete it.
The export history now shows more about each export:
How many columns it used and its file size.
An Available until date for ready files, and an Expired badge once a file is no longer available.
The number of rows written while the export is generating.
A message when an export fails.
Review and retry on a failed or expired export puts its export type, dates and columns back into the form so you can export again, and Load older exports shows earlier history. If an export request does not go through, your selections stay in place so you can try again.
Download Center keeps the same nine export types and the CSV format, and who can open it is unchanged. Choose at least one column; the Export button stays unavailable until you do. Each export type can have one export generating at a time, and a team can have up to three generating at once, so if an export cannot start, wait for one to finish and try again. Scheduled or recurring exports, other file formats and cancelling an export are not available.
New
Improved
New Reports Dashboard for sales, money owed, customers, purchasing and production
Reports Dashboard now opens a full dashboard for the period you choose, so you can see how the shop is doing across sales, money owed, customers, products, purchasing and production without exporting data. It replaces the previous single page of summary cards and charts. The dashboard is organized into section tabs, which stay in view while you scroll on larger screens: Overview, Revenue, Orders & Quotes, Money Owed, Customers, Products & Services, Purchasing & Blanks, Production and Row Exports.
Overview shows Revenue billed, Orders, Average order, Cash collected, Past due and Gross profit with change badges, along with monthly revenue and order charts. Its Right now panel covers open quotes, jobs in production, jobs past their due date, approvals waiting on the customer, purchase orders not fully received and Days Sales Outstanding. A Needs attention list picks out overdue orders, late jobs and aging quotes, and a Recorded billing pattern shows your billing by month.
Each of the other tabs focuses on one part of the business:
Revenue keeps billed, booked and cash collected amounts separate, and adds payments received by method, sales by sales representative and service usage by jobs.
Orders & Quotes covers total and rush orders, open quotes and their value, quotes issued, ticket sizes, orders by day of week and where orders came from.
Money Owed shows total outstanding, past due, Days Sales Outstanding, an aging schedule and a Who to call this week list.
Customers shows active, new and at-risk customers, the top 10 customers' share and the top customers in the period.
Products & Services shows top styles and garments and decoration service usage.
Purchasing & Blanks shows purchase order value, estimated order gross profit and totals by vendor.
Production shows live work in progress by stage, jobs completed, average turnaround, on-time delivery rate and monthly throughput.
Overview, Revenue and Purchasing & Blanks can compare with the previous period, the same period last year or no comparison. Each tab shows the report timezone and, where they apply, the dates shown, the comparison dates and when the figures were last updated. Definitions explain each figure, ranked tables show each row's relative size, and charts can show their numbers as a table.
In the Reports menu, the first item is now called Reports Dashboard, the report grids are grouped under Row Exports and Download Center sits under Downloads, on desktop and mobile. The report grids and their exports work as before. The previous Top Sales, Top Overdue and Top Unpaid by Customers tables are no longer on the Reports page; use Top customers in period on the Customers tab and Who to call this week on the Money Owed tab instead.
A few things to know about the figures:
Money Owed, Past due and Right now show a snapshot as of now and do not follow the selected dates.
Gross profit and estimated order gross profit use only profit recorded on orders and leave out labor and overhead. The dashboard says when some orders have no recorded profit.
The Recorded billing pattern needs at least 24 complete months of recorded order history.
Results for the same dates can be reused for up to a minute, so refreshing within a minute may show the same figures. Larger date ranges can take longer to load.
The dashboard does not show quote win rates over time, labor utilization, fully loaded margins or past receivables balances.
Fixed
Webhooks and balance updates for provider payments and refunds on orders and quotes
When payments or refunds are recorded via provider callbacks on Sales Orders and Quotes, YoPrint now dispatches a single payment-received or refund-issued webhook and automatically refreshes touched invoice balances and customer totals. Repeated callbacks for the same transaction stay quiet to prevent duplicate events.
Fixed
Preserve invoice payment allocations when issuing partial refunds
Issuing a partial refund on an allocated Sales Order payment now removes only the refunded amount from invoice allocations, keeping the remaining payment balance correctly applied to the invoice even when refunding half or more of the payment.
Fixed
Immediate customer overdue and deposit total updates after billing changes
Changing the Full Amount Due date or payment term (including deposit changes configured on the term) on a published Sales Order now immediately recalculates the customer's overdue and deposit totals right after the save commits, keeping balances accurate without waiting for an unrelated change.
This recalculation applies to published Sales Orders in the Admin Portal and API. Production Due Date edits do not trigger this recalculation, published Quotes remain excluded from customer totals, and existing payment allocations and settlements remain unchanged.
Fixed
Automatic QuickBooks sync when updating invoice dates on Sales Orders
Changing an exported invoice date or due date on a Sales Order now automatically queues a sync with QuickBooks Online, even when total amounts or lock versions remain unchanged. Rapid successive date changes are coalesced into a single update, and an error is reported only after repeated waits before falling back to standard retry attempts.
Fixed
Automatic pricing recalculation when moving or removing single items
Moving, unassigning, or deleting an individual line item on draft and published Sales Orders or Quotes now automatically recalculates pricing rules for the surviving items left in the former job, matching bulk edit behavior. Affected manual invoice line prices update and re-total automatically in a single synchronization.
Fixed
Restore Square Terminal and POS payments for duplicate team connections
Square Terminal and Square POS payments are recorded again on Sales Orders for teams whose Square account was connected more than once. Connecting Square again from within the same team now safely reuses the existing connection rather than creating a duplicate connection that blocks payment notifications.
If a connection attempt fails, the integrations page displays an error message asking you to try again.
Fixed
Preserve teammates' simultaneous edits on jobs and invoices
Saving an existing job in the Job editor now omits job name, note, and rush setting when unchanged, and saving an invoice in Admin omits invoice number, issue date, billing and shipping addresses, and unchanged tax, preserving newer concurrent edits made by other team members.
Fixed
Improved save protection and error handling for jobs, services, and status updates
When a network interruption leaves a job save unconfirmed, Admin keeps the unconfirmed draft on screen, blocks further saving to prevent duplicate jobs or services, and offers a Refresh button. In addition, status error handling has been refined: only the status picker in the Job detail dialog stays open after a failed change to explain why it failed while ignoring repeated clicks during saves, whereas a failed job status change on the Sales Order page displays an error dialog and keeps the picker disabled until refreshed if unconfirmed.
Fixed
Deduplicated status and rush notifications across orders, quotes, jobs, and shipments
YoPrint now suppresses redundant notifications when selecting statuses or re-applying rush settings across Sales Orders, Quotes, Jobs, and Shipments.
Re-selecting the current status of a Sales Order, Quote, Job, or Shipment no longer sends a redundant status webhook or status email.
Re-applying an unchanged rush setting on a Sales Order or Quote no longer fires rush webhooks, while still repairing child job rush flags.
Job and Shipment status changes now reject statuses belonging to other record types before saving.
Fixed
Prevent unintended rush webhooks when saving job details
Saving changes to general job details—such as the job name or note—no longer triggers a rush status webhook when the rush setting has not changed. Rush webhooks now wait until database saves commit, preventing duplicate events from uncommitted saves or repeated submissions.
This filtering applies to both draft and published jobs across the Admin Portal and API. Standard job refresh events, webhook payloads, and delivery retry contracts remain unchanged.
Fixed
Reliable shipping cost line creation for GoShippo labels
When purchasing GoShippo shipping labels in the Admin Portal, YoPrint now confirms that the package's shipping cost line item is saved before reporting success. If the shipping cost line cannot be saved, the dialog tells you the label was created and asks you to refresh the shipment and add the line manually only if it is missing, preventing fees from being silently omitted from Auto Invoice.
Adding the same package's shipping cost line again now reuses the existing line instead of creating duplicate shipping charges.
Improved
More room for line-item names in orders, quotes, and job details
Row index columns in line item tables now fit the numbers they contain, keeping single-digit row indices compact to give line-item names more room across Sales Orders, Quotes, and Job Details dialogs while naturally expanding for longer numbers.
Fixed
Fewer failed saves when adding first jobs or cloning orders and quotes
Teammates working simultaneously across different sales orders and quotes will experience fewer failed saves when adding initial jobs or cloning records. YoPrint now avoids database locking conflicts during job position allocation, allowing concurrent saves to complete cleanly rather than failing when retries run out. This improvement applies to several common actions:
Adding the first job to a sales order or quote
Applying job presets that insert an initial job
Cloning an existing sales order or quote
Improved
Fixed
Preserved pricing during job metadata edits and live Job Details updates
Updating display-only job metadata—such as job names or production notes—now saves without triggering unintended price recalculations across related orders and invoices. Furthermore, open Job Details pages now refresh automatically when teammates make updates in another session, keeping your view up to date without manual page reloads.
Improved
Fixed
Clearer manual invoice tax validation and replacement tax authoring
Clearing a manual tax field in the invoice editor now leaves the input blank and prompts for an explicit value rather than silently defaulting to zero percent or zero amount (while an entered value of 0 remains valid). Additionally, when resolving invoice conflicts after a tax has been removed, obsolete deletion markers are cleared so you can author and save a replacement tax without errors.
Improved
Fixed
Accurate Auto Pack calculations on orders with existing shipments
When running Auto Pack on orders with prior shipments, native unit quantities from older physical shipments are projected to calculate remaining quantities accurately. If a physical source or prior-shipment quantity needed to calculate the remainder is unavailable, Auto Pack stops before modifying drafts or writing changes, displays specific correction guidance, and allows you to retry once corrected or refreshed. Auto Pack also waits for item sessions to finish loading before enabling pack actions.
Stay updated on new features
Join our mailing list to get notified when we release new features and improvements. We only send updates that matter to your print shop.