Welcome to the Point of Sale (POS) Page of RentalTide! This guide will help you navigate and utilize all the features available on the POS Page, ensuring a seamless experience in managing inventory, processing sales, and handling transactions efficiently.
Introduction
The Point of Sale (POS) Page is a comprehensive tool designed to streamline your sales operations. It allows you to manage inventory, process transactions, and handle various payment methods with ease. Whether you're adding new products, adjusting stock levels, or finalizing a sale, the POS Page offers an intuitive interface to support your business needs.
Dashboard Overview
Upon accessing the POS Page, you'll encounter the following key components:
Dashboard Header:
Title: "Point of Sale"
Subtitle: Displays the currently selected location (e.g., "Location: Main Branch")
Actions: Includes buttons for refreshing Stripe Terminal reader connections.
Top Bar:
Scan SKU Input: Allows quick addition of products to the cart by scanning or entering SKU numbers.
Search Products Input: Enables searching for products by name or SKU.
Category Filter: Offers filtering of products based on predefined categories.
Add Product Button: Opens a dialog to add new products to the inventory.
Cart Icon: Displays the number of items in the cart and opens the checkout drawer.
Inventory Listing:
Displays a grid of available products with details like image, name, category, price, SKU, and stock quantity.
Includes action buttons for editing or deleting products.
Checkout Drawer:
Accessible by clicking the cart icon.
Displays items in the cart with options to adjust quantities or remove items.
Shows subtotal, taxes, and total amounts.
Provides options to select payment types and finalize transactions.
Modals and Dialogs:
Add Product Dialog: Form to add new products.
Edit Product Dialog: Form to edit existing products.
Delete Confirmation Dialog: Confirms product deletions.
Payment Failure Dialog: Offers options to manually process payments or override transactions.
Stripe Payment Dialog: Facilitates manual credit/debit card payments via Stripe.
Cash Payment Dialog: Handles cash transactions, calculates change, and confirms payments.
Account Selection Dialog: Allows selection of accounts for billing.
Managing Inventory
Efficiently manage your product inventory with the intuitive features available on the POS Page. This section covers viewing existing products, adding new ones, editing existing products, and deleting products when necessary.
Viewing Inventory
The Inventory Listing displays all available products associated with the selected location, allowing you to monitor stock levels and product details comprehensively.
Features:
Product Details:
Image: Visual representation of the product.
Name: Product name.
Category: Assigned category from predefined options.
Price: Cost of the product.
SKU: Stock Keeping Unit identifier.
Stock Quantity: Number of units available in inventory.
Action Buttons:
Edit: Opens the Edit Product Dialog to modify product details.
Delete: Initiates the deletion process for the product.
Usage Tips:
Real-Time Updates: Inventory listings update in real-time to reflect current stock levels.
Visual Identification: Use product images to quickly identify items.
Adding a New Product
Adding a new product ensures that your inventory stays up-to-date with the latest items available for sale.
How to Add a New Product:
Open Add Product Dialog:
Click on the Add Product Button (represented by the AddIcon) located in the top bar.
Fill in Product Details:
Name: Enter the product name.
Price: Specify the price in dollars.
Quantity: Define the initial stock quantity (must be at least 1).
SKU: (Optional) Provide a unique Stock Keeping Unit identifier.
Category: Select a category from the predefined list (e.g., "Marine Electronics," "Boating Apparel").
Product Image: (Optional) Upload an image of the product for visual representation.
Submit the Form:
Click the "Add" button to submit the new product.
Upon successful addition, the product will appear in the inventory listing, and a success notification will be displayed.
Usage Tips:
Accurate Information: Ensure all required fields are filled accurately to prevent inventory discrepancies.
Image Uploads: Attach clear images to enhance product identification and presentation.
Editing an Existing Product
Updating product details allows you to maintain accurate and current inventory information.
How to Edit a Product:
Locate the Product:
In the Inventory Listing, find the product you wish to edit.
Open Edit Product Dialog:
Click on the Edit Icon (represented by the EditIcon) associated with the product.
Modify Product Details:
Name: Update the product name if necessary.
Price: Adjust the price as needed.
Quantity: Change the stock quantity.
SKU: Modify the SKU identifier.
Category: Select a different category if applicable.
Product Image: Upload a new image to replace the existing one.
Save Changes:
Click the "Save" button to apply the updates.
Upon successful update, the inventory listing will reflect the changes, and a success notification will be displayed.
Usage Tips:
Selective Editing: Only modify fields that require changes to maintain data integrity.
Image Consistency: Ensure that product images are updated to match any changes in the product's appearance or branding.
Deleting a Product
Removing a product from the inventory is necessary when a product is discontinued, out of stock permanently, or entered in error.
How to Delete a Product:
Locate the Product:
In the Inventory Listing, find the product you wish to delete.
Initiate Deletion:
Click on the Delete Icon (represented by the DeleteIcon) associated with the product to open the Delete Confirmation Dialog.
Confirm Deletion:
In the Delete Confirmation Dialog, confirm that you want to delete the product by clicking the "Delete" button.
Click "Cancel" to abort the deletion process.
Post-Deletion:
Upon successful deletion, the product will be removed from the inventory listing, and a success notification will be displayed.
Usage Tips:
Data Backup: Ensure that any important data related to the product is backed up or exported before deletion.
Impact Assessment: Understand the implications of deleting a product, such as its effect on sales history and reporting.
Shopping Cart Management
The Shopping Cart allows you to manage items selected for purchase, adjust quantities, and proceed to checkout seamlessly.
Adding Items to Cart
You can add products to your cart either by scanning their SKU or by searching and selecting them manually.
How to Add Items:
Scan SKU:
In the Top Bar, enter or scan the product's SKU in the Scan SKU Input field.
If the SKU matches a product, it will be automatically added to the cart.
Search and Select:
Use the Search Products Input to find products by name or SKU.
Click on a product from the search results to add it to the cart.
Direct Selection:
Click on a product card in the Inventory Listing to add it to the cart.
Special Case - Gasoline Products:
When adding gasoline or similar products, you'll be prompted to enter the quantity with up to six decimal places.
Usage Tips:
Quick Additions: Utilize the SKU scanning feature for faster additions during high-traffic periods.
Accuracy: Ensure the correct product is selected to avoid inventory discrepancies.
Adjusting Item Quantities
Once items are in the cart, you can adjust their quantities to match the desired purchase amount.
How to Adjust Quantities:
Increment Quantity:
Click the Add Icon (represented by the AddIcon) next to the item to increase its quantity by one.
Decrement Quantity:
Click the Remove Icon (represented by the RemoveIcon) next to the item to decrease its quantity by one.
Direct Input:
Enter the desired quantity directly into the quantity input field.
Ensure that the entered quantity does not exceed the available stock.
Usage Tips:
Stock Awareness: The system prevents you from exceeding the available stock to maintain inventory accuracy.
Quick Adjustments: Use the increment and decrement buttons for rapid quantity changes.
Removing Items from Cart
If you decide not to purchase an item, you can easily remove it from the cart.
How to Remove an Item:
Open Checkout Drawer:
Click on the Cart Icon in the top bar to open the Checkout Drawer.
Delete Item:
In the cart list, click on the Delete Icon (represented by the DeleteIcon) next to the item you wish to remove.
Confirmation:
The item will be immediately removed from the cart, and the cart totals will update accordingly.
Usage Tips:
Review Before Checkout: Regularly review your cart to ensure all items are intended for purchase.
Bulk Removal: While not available, consider removing items individually for precise control.
Checkout Process
The Checkout Process allows you to finalize purchases using various payment methods. This section covers selecting payment types, processing payments, and handling transactions.
Selecting Payment Type
Before finalizing a transaction, you must select a payment type that suits your preferences or requirements.
Available Payment Types:
Cash:
Pay with physical currency.
Credit:
Use a credit card for payment.
Debit:
Use a debit card for payment.
Account:
Bill the transaction to an existing account.
How to Select Payment Type:
Open Checkout Drawer:
Click on the Cart Icon in the top bar to open the Checkout Drawer.
Choose Payment Type:
In the Payment Type section, click on the desired payment method button.
The selected button will appear as "contained", indicating the active choice.
Usage Tips:
Multiple Payment Options: Choose the payment type that best fits the customer's preference.
Account Billing: Ensure that the customer has an existing account before selecting the Account payment type.
Processing Payments
After selecting a payment type, proceed to process the payment using the chosen method.
Cash Payments
Handling Cash Transactions:
Select Cash Payment:
In the Checkout Drawer, select the "Cash" payment type.
Enter Cash Given:
A Cash Payment Dialog will appear.
Enter the amount of cash provided by the customer.
Calculate Change:
The system will automatically calculate the change due based on the total amount.
Confirm Transaction:
Once the cash given covers the total amount, click "Confirm Cash Transaction".
A success notification will be displayed, and change due will be provided.
Usage Tips:
Accurate Cash Entry: Ensure that the cash given matches the entered amount to avoid discrepancies.
Change Calculation: The system assists in calculating accurate change due for efficiency.
Credit/Debit Card Payments
Processing Card Payments via Stripe Terminal:
Select Credit/Debit Payment:
In the Checkout Drawer, choose either "Credit" or "Debit" payment type.
Connect to Stripe Terminal Reader:
Ensure that your Stripe Terminal reader is connected. Use the Refresh Reader Connection button in the dashboard header if necessary.
Process Payment:
The Stripe Payment Dialog will appear.
Enter the customer's card details using the integrated Card Element.
Click "Process Payment" to finalize the transaction.
Confirmation:
Upon successful payment, a success notification will be displayed, and the transaction will be recorded.
Usage Tips:
Reader Connectivity: Regularly check and refresh the Stripe Terminal reader connection to ensure seamless payment processing.
Secure Handling: Handle customer card information securely and comply with relevant payment processing standards.
Account Billing
Billing Transactions to an Account:
Select Account Payment:
In the Checkout Drawer, choose the "Account" payment type.
Select Billing Account:
The Account Selection Dialog will appear.
Search and select the desired account from the available list.
Confirm Transaction:
Once an account is selected, click "Confirm Checkout".
The transaction will be billed to the selected account, and a success notification will be displayed.
Usage Tips:
Account Verification: Ensure that the selected account exists and is active before billing.
Account Selection: Use the search functionality to quickly locate and select the appropriate account.
Stripe Terminal Integration
The Stripe Terminal Integration facilitates secure and efficient processing of credit/debit card payments through connected hardware.
Connecting to a Reader
How to Connect to a Stripe Terminal Reader:
Ensure Reader Availability:
Make sure your Stripe Terminal reader is powered on and within range.
Discover Readers:
Click on the Refresh Reader Connection button in the dashboard header to initiate reader discovery.
Select a Reader:
If multiple readers are available, the system will connect to the first discovered reader. To connect to a different reader, ensure that only the desired reader is active.
Confirmation:
Upon successful connection, a notification will confirm the connected reader's name.
Usage Tips:
Reader Maintenance: Regularly check and maintain your Stripe Terminal readers to prevent connectivity issues.
Single Reader Focus: Disconnect other readers if multiple are present to avoid confusion during transactions.
Refreshing Reader Connection
How to Refresh Stripe Terminal Reader Connection:
Click Refresh:
In the Dashboard Header, click on the Refresh Reader Connection button to restart the reader discovery process.
Reconnect:
The system will attempt to discover and connect to available readers automatically.
Handle Failures:
If no readers are found, a notification will inform you to check the reader's status or contact support.
Usage Tips:
Regular Refreshes: Refresh the reader connection periodically to ensure optimal connectivity.
Troubleshooting: Use the refresh feature if you encounter issues with payment processing or reader responsiveness.
Search and Filtering
Enhance your inventory management by utilizing the search and filtering features to quickly locate and organize products.
Searching Products
How to Search for Products:
Use Search Input:
In the Top Bar, enter the product name or SKU in the Search Products Input field.
View Results:
As you type, the inventory listing will dynamically update to display matching products.
Select Product:
Click on a product from the search results to add it to the cart or view its details.
Usage Tips:
Partial Matches: The search function supports partial matches, allowing flexibility in finding products.
Clear Search: Clear the search input to return to the full inventory view.
Filtering by Category
How to Filter Products by Category:
Select Category:
In the Top Bar, use the Category Filter combobox to select a specific category from the predefined list.
View Filtered Inventory:
The inventory listing will update to display only products within the selected category.
Combine Filters:
Use the search and category filters together for more precise product discovery.
Usage Tips:
Predefined Categories: Utilize the predefined categories to maintain consistent organization of products.
Reset Filters: Select "All" to remove category filters and view the complete inventory.
Pagination
Manage large inventories with ease using the pagination controls to navigate through multiple pages of products.
How to Use Pagination Controls:
Locate Pagination:
At the bottom of the Inventory Listing, pagination controls are displayed if there are more products than the items per page limit.
Navigate Between Pages:
Click on the page numbers or use the Next and Previous buttons to move between pages.
Adjust Page Size:
While the current setup displays six items per page, this can be adjusted based on design preferences.
Usage Tips:
Efficient Browsing: Use pagination to browse through extensive inventories without overwhelming the interface.
Quick Access: Jump to specific pages using the page numbers for faster navigation.
Permissions and Access Control
The Permissions and Access Control system ensures that only authorized users can access and perform specific actions on the POS Page.
Key Permissions:
pos_access: Grants access to the POS Page.
pos_add_inventory: Allows adding new products to the inventory.
pos_edit_inventory: Permits editing existing products.
pos_delete_inventory: Enables deletion of products from the inventory.
pos_add_transaction: Allows processing of transactions (checkout).
Managing Permissions:
Role-Based Access: Permissions are typically assigned based on user roles within the organization (e.g., Admin, Manager, Cashier).
Verification: The POS Page checks user permissions before rendering action buttons or enabling functionalities to prevent unauthorized access.
Usage Tips:
Ensure Proper Access: Verify that your user account has the necessary permissions to perform desired actions.
Requesting Access: If you lack certain permissions but require them for your role, contact your system administrator or support team to request access.
Error Handling and Notifications
The POS Page incorporates robust error handling and user-friendly notifications to inform you of the system's status and any issues that may arise.
Key Features:
Snackbar Notifications:
Provide real-time feedback on actions such as successful additions, updates, deletions, and transaction statuses.
Display error messages when operations fail or encounter issues.
Loading Indicators:
CircularProgress: Indicates ongoing operations like data fetching or payment processing.
Skeletons: Visual placeholders for loading content within product cards and dialogs.
Dialogs and Alerts:
Delete Confirmation Dialog: Confirms deletion actions to prevent accidental removals.
Payment Failure Dialog: Offers options to manually process payments or override transactions in case of failures.
Usage Tips:
Immediate Feedback: Pay attention to snackbar notifications for instant updates on your actions.
Handle Errors Promptly: Address any error messages or dialogs promptly to ensure smooth operations.
Frequently Asked Questions (FAQs)
1. How do I add a new product to the inventory?
Answer: Click on the Add Product Button (AddIcon) in the top bar to open the Add Product Dialog. Fill in the product details and click "Add" to submit.
2. Why can't I see the Edit or Delete buttons for products?
Answer: The availability of the Edit and Delete buttons depends on your user permissions. Ensure that your account has the pos_edit_inventory and pos_delete_inventory permissions. Contact your system administrator if you require access.
3. How do I process a cash payment?
Answer: Add the desired products to your cart, select "Cash" as the payment type in the Checkout Drawer, enter the cash amount provided by the customer, and confirm the transaction to complete the payment.
4. Why is the Stripe Terminal reader not connecting?
Answer: Ensure that the Stripe Terminal reader is powered on and within range. Use the Refresh Reader Connection button in the dashboard header to reconnect. If issues persist, contact support for assistance.
5. Can I bill a transaction to a customer account?
Answer: Yes, select the "Account" payment type in the Checkout Drawer, choose the desired account from the Account Selection Dialog, and confirm the transaction to bill it to the selected account.
6. What should I do if a payment fails during checkout?
Answer: If a payment fails, the Payment Failure Dialog will appear, offering options to manually process the payment or override the transaction. Choose the appropriate action based on your needs.
7. How do I search for a specific product in the inventory?
Answer: Use the Search Products Input field in the top bar to enter the product name or SKU. The inventory listing will dynamically update to display matching products.
Troubleshooting
Issue 1: Unable to Add a Product to Cart
Possible Cause: Product is out of stock or button is disabled due to insufficient permissions.
Solution:
Check Stock Quantity: Ensure that the product has sufficient stock available.
Verify Permissions: Confirm that your user account has the pos_add_transaction permission.
Retry Addition: Attempt to add the product again after addressing stock or permission issues.
Contact Support: If the issue persists, reach out to the support team for assistance.
Issue 2: Stripe Terminal Reader Not Connecting
Possible Cause: Reader is turned off, out of range, or experiencing technical issues.
Solution:
Power On Reader: Ensure that the Stripe Terminal reader is powered on.
Check Proximity: Move closer to the reader to establish a stronger connection.
Refresh Connection: Click the Refresh Reader Connection button in the dashboard header.
Restart Reader: Power cycle the reader if necessary.
Contact Support: If connectivity issues continue, contact support for further troubleshooting.
Issue 3: Payment Processing Fails During Checkout
Possible Cause: Network issues, Stripe service outages, or incorrect payment details.
Solution:
Check Internet Connection: Ensure a stable internet connection during the transaction.
Verify Payment Details: Confirm that card details are entered correctly.
Retry Payment: Attempt to process the payment again.
Use Alternative Payment Type: Choose a different payment method if the issue persists.
Contact Support: Reach out to support with specific error details for assistance.
Issue 4: Cannot Edit or Delete Products
Possible Cause: Lack of necessary permissions.
Solution:
Verify Permissions: Ensure your user account has pos_edit_inventory and pos_delete_inventory permissions.
Request Access: Contact your system administrator to grant the required permissions.
Check Product Status: Confirm that the product is not locked or restricted from editing/deletion.
Contact Support: If permissions are correct and the issue persists, contact support for further assistance.
Issue 5: Inventory Data Not Loading
Possible Cause: API issues, network connectivity problems, or incorrect location selection.
Solution:
Check Location Selection: Ensure that a specific location is selected and not set to "All Locations."
Verify Internet Connection: Ensure your device is connected to the internet.
Retry Fetching Data: Refresh the POS Page to attempt data retrieval again.
Contact Support: If inventory data still fails to load, contact support with error details.
Issue 6: Search and Filter Not Working Properly
Possible Cause: Typing errors, no matching products, or UI glitches.
Solution:
Check Input Accuracy: Ensure that search queries are entered correctly.
Reset Filters: Clear search and category filters to return to the full inventory view.
Refresh Page: Reload the POS Page to reset UI components.
Contact Support: If the issue remains unresolved, contact support for further troubleshooting.