Skip to main content
All updates
Bug fixAPI·2026.09.24·

Client billing and pass actions recover more reliably

With the corresponding Business app update, opening a client's Billing tab no longer crashes when older payment-history data is restored. Partial refunds keep the entered amount after a refused attempt. Receipt printing from client Billing opens after the refund sheet closes, and processing refunds are shown separately from completed refunds.

# Client billing and pass actions recover more reliably

With the corresponding Business app update, opening a client's Billing tab no
longer crashes when older payment-history data is restored. Partial refunds keep
the entered amount after a refused attempt. Receipt printing from client Billing
opens after the refund sheet closes, and processing refunds are shown separately
from completed refunds.

Staff choose notification channels for each refund. Unavailable choices explain
why they cannot be used. Receipt results distinguish acceptance for sending from
an unconfirmed outcome. Interrupted receipt and bulk-email requests keep their
original payment selection and retry identity.

The existing bulk-email action can also select eligible payments made outside
POS, matching the desktop client profile. The API advertises this separately
from single-receipt sending and explains when a payment is ineligible.

Pass edits reject incomplete whole-number values and impossible calendar dates.
Date-dependent actions use the selected venue's verified timezone and preserve
the operator's draft while venue details load.
Next update

Appointment times stay with the venue that booked them

With the corresponding Consumer app update, appointment history uses the appointment's own venue timezone even after you switch venues or leave a venue. Opening an appointment keeps that venue context. If the venue time cannot be verified, the app says it is unavailable instead of showing a time from another venue.