Features - Mejez6603/Printing-POS-Python GitHub Wiki
Core Features of the Printing Shop Transaction System
This document outlines the main functionalities available in the Printing Shop Transaction System.
Transaction Management
- Real-time Input Feedback: Automatically calculates total price based on pages and price/page.
- Dynamic "Add Item" Button: Enables/disables based on completion of item input fields.
- Pre-Confirmation Item List: Allows users to build an order with multiple items (Paper Type, Color, Pages, Price/Page, Total) in a temporary list before finalizing.
- Item Editing & Deletion: Intuitive options to modify or remove individual items from the pending transaction list via double-click or right-click context menus.
- Unique Transaction IDs: Automatically generates a unique identifier for each confirmed transaction, including date, time, and microseconds for granular tracking.
- Secure Transaction Confirmation: Moves items from the temporary list to the main record and saves to persistent storage.
Data Persistence & Reporting
- CSV Data Storage: All confirmed transactions are automatically saved to
records.csv
within adatabase/
folder, ensuring data is retained across application sessions. - Live Record Table: Displays a sortable and scrollable view of all historical transactions on the main screen.
- Contextual Record Management: Allows deletion of entire past transactions directly from the "Record" table via a right-click context menu.
- Dynamic Quick Sales Summary: Provides immediate insights into daily, monthly, and yearly income directly on the main transaction screen.
- Comprehensive Sales Report Window:
- Dedicated interface for detailed reporting.
- Flexible date range filtering (custom "From/To" dates, plus quick buttons for "Today", "This Week", "This Month", "This Year").
- Detailed tabular display of filtered transaction items.
- Aggregated sales statistics: Total Sales, Total Pages, Total Transactions.
- Granular page summaries by paper type (Short, Long, A4, PhotoPaper) and color (Black, Colored).
- Export functionality for reports (currently to CSV format).
User Experience & Portability
- Simple Tkinter GUI: Clean and straightforward user interface for ease of navigation.
- Cross-Platform Compatibility: Designed to run on various operating systems where Python and Tkinter are supported.
- Portable Distribution: Can be bundled into a standalone application using PyInstaller, enabling hassle-free distribution and execution without Python environment setup. Data persists within the portable application folder.
- Custom Branding: Supports the integration of a custom application icon and a sidebar logo for personalized branding.
- Data Reset: Includes a "Reset Records" button for convenient clearing of all transaction data, allowing for a fresh start or demonstration purposes (with confirmation).