Reports & Analytics
  • New Inventory Audit & Unscanned Inventory reports (#6054)
  • Category/supplier filters added to package reports (#6071)
  • Extra fields on uncounted-stock report + "sold in period" on inventory audit report (#6091)
  • Category filter on Detailed Sales report + new Items Detailed report (#6079)
  • Discount totals added to the Detailed Price Rules report (#6001)
Returns
  • Verified returns — pick return items directly from a receipt, with optional store-wide enforcement (#6117)
Invoicing
  • Bulk invoice creation for uninvoiced transactions with date-range, due-date and action options (#6112)
  • Bulk email/print/download invoices and create invoices from open store-account transactions (#6104)
Sales / POS
  • Fix supplier-specific pricing selection in advanced sales & receivings popups (#5948)
  • Fix IMEI entry affecting price in sales (#6003)
  • Add markup payment summary row to sales receipts (#6004)
  • Fix customer scan not working; add user choice when both an item and customer match a scan (#6037)
  • Customer lookup bug fix (#6024)
  • Fix serial change bug (#6020)
Loyalty & Store Config
  • Store config option for maximum allowed sales per day for simple loyalty (#6110)
  • Store config toggle to disable the customer intake form (#6013)
Bug Fixes (billing/tax)
  • Fix FK constraint failure (error 1452) on flat-discount tax insert (#6119)
  • Fix flat discount subtracted twice on receipts for items with modifiers (#6081)
API
  • Improve DB performance for sales/receivings date-range endpoints (#6080)
  • Add
    start_time
    /
    end_time
    filters to the Appointments API + docs (#6017)
  • Fix missing invoice schemas in the OpenAPI YAML (#6007)
  • Extend cloud billing link signed-URL expiry to 2 days (#6078)