Changelog
Recent updates and new features in Sarah.
Last updated: 2025-02-11
Cancellation system and Junior Salesperson role (2025-02-11)
Product and sale cancellation system with barcode authorization
- New Junior Salesperson role (Role ID: 4): Inherits Salesperson permissions but with additional POS restrictions: cannot edit prices or quantities, requires authorization code to remove products or cancel sales, cannot see returns or the Inventory > Products menu.
- Product cancellation: Junior Salesperson users must scan an authorization code to remove products from the cart. Each cancellation is recorded with full detail.
- Quick cancellation (shortcut Q): Two-step mode for quick cancellations: scan authorization code then scan the product barcode.
- Sale cancellation: When closing a sale, the Junior Salesperson must provide an authorization code and a mandatory comment explaining the reason.
- Authorization code management: From company settings, you can generate, print, view, and delete authorization barcodes with descriptive labels.
- Cancellation logs view: New
/cancellationspage accessible only to administrators, with detailed records of all cancellations including date, type, product, user, authorizer, and comment. - Database: New
cancellationstable with columns for type (product/sale), comment, and full cancelled product data. Newcancellation_authorizer_barcodestable for code management. - Internationalization: All new interfaces are available in Spanish, English, and Portuguese.
For more details, see Cancellations in POS and Roles and Permissions.
Channel filtering and promotion handling in shop (2025-01-29)
Add channel filtering and promotion handling in shop components
- Promotions model: Introduced a new channel field in promotions to differentiate between POS and online store applications.
- PromotionsPage: Updated to display the channel information for each promotion.
- getCartWithPromotions: Implemented logic to filter promotions based on the selected channel.
- PromotionModal: Enhanced to allow users to select the applicable channel for promotions.
- ClientShopCart: Updated to calculate and display cart totals with applied promotions based on the selected channel.
- Localization: Expanded locale files with new keys for channel labels and descriptions in English, Spanish, and Portuguese.
For details on configuring promotions and channels, see Creating and Configuring Promotions and Introduction to Promotions.
Payment surcharge handling (2025-01-29)
Implement payment surcharge handling across various components
- PaymentModal and QuickInvoiceModal: Added support for payment surcharges. Surcharges are calculated based on the selected payment methods and their associated boxes (cash registers).
- Invoice component: Updated to display payment surcharges clearly in the total calculation.
- Boxes page: Enhanced to include payment surcharge percentage in the table and field labels for better user understanding.
- Data layer: Refactored Supabase queries to fetch payment surcharge data from the database, ensuring accurate calculations.
- Localization: Expanded locale files with new keys for payment surcharge labels in English, Spanish, and Portuguese for full internationalization support.
For details on using payment surcharges, see Payments and Collection Methods and Cash Register Management.