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_timefilters 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)