Inventory Management System for a Used Motorboat Trader
This project showcases a custom Google Sheets inventory management system developed with Apps Script automation to streamline operations for a used motorboat dealership.
The system provides intuitive browsing, searching, and accurate updating functionalities for both current inventory and sold boat records, significantly enhancing operational efficiency through Google Workspace automation.
The Client’s Challenge: Manual Chaos and Data Discrepancies
Our client, a bustling used motorboat trader, faced significant challenges with their existing inventory and sales tracking methods. Their reliance on manual processes, likely involving disparate spreadsheets or even paper records, led to frequent data entry errors, difficulties in quickly locating specific boat information, and a cumbersome update procedure. This not only consumed valuable time but also increased the risk of overselling or misplacing inventory, directly impacting their bottom line and customer satisfaction. They needed a robust, user-friendly system that could centralize their data, simplify inventory updates, and provide accurate, real-time insights into both their available stock and historical sales. The ultimate goal was to achieve greater operational efficiency, reduce errors, and free up their team to focus on sales rather than data management.
Our Tailored Solution: Google Sheets & Apps Script Automation
To address the client’s specific needs, we developed a comprehensive inventory and sales management system built entirely on Google Sheets, powered by custom Google Apps Script automation. This solution leverages the familiarity and accessibility of Google Sheets while providing powerful backend logic to ensure data integrity and ease of use.
The system is structured around three interconnected Google Sheets:
‘Inventory’ Sheet: This sheet serves as the primary database for all unsold motorboats. It meticulously records crucial details such as Item Number, HIN (Hull Identification Number), Make, Model, Year, Condition, Purchase Date, Purchase Price, Listing Price, and other relevant specifications. This centralized repository ensures all active inventory is accurately documented and easily accessible.
‘Sold’ Sheet: Parallel to the ‘Inventory’ sheet, the ‘Sold’ sheet maintains a detailed historical record of all motorboats that have been sold. It captures similar data points as the ‘Inventory’ sheet, along with additional information pertinent to the sale, such as Sale Date, Sale Price, and Buyer details. This provides a comprehensive archive for sales analysis and reporting.
‘Data Form’ Sheet: This is the user’s primary interface with the system. Designed for intuitive interaction, the ‘Data Form’ sheet serves a dual purpose:
Browse/Search Mode (Default): In its default state, the ‘Data Form’ allows users to quickly browse and search for individual records from both the ‘Inventory’ and ‘Sold’ databases. By entering a specific Item Number or HIN, the form populates with the corresponding boat’s details, enabling quick lookups without altering any underlying data. This read-only mode prevents accidental data corruption, ensuring data integrity.
Edit/Update Mode: To modify or add new records, the user simply ticks the ‘Edit’ checkbox in column C. Crucially, when this checkbox is activated, the header of the form section dynamically changes to red, providing a clear visual warning that any changes made on the form will now be written back to the respective database. In this mode, users can create new inventory entries, update existing boat details (e.g., change pricing, condition), or mark an item as sold, triggering its transfer from the ‘Inventory’ to the ‘Sold’ sheet.
(Please note: To protect client and data privacy, all data displayed in the accompanying screenshots are fake sample data and bear no connection to the real data of my client. All business names, addresses, email addresses, and website links are also fictional.)
The data form sheet
How the Automation Works: Apps Script at the Core
The seamless functionality of this system is driven by a custom Google Apps Script. This script acts as the intelligent bridge between the ‘Data Form’ and the ‘Inventory’/’Sold’ databases, automating key processes and ensuring data accuracy:
Data Validation: The Apps Script implements robust data validation rules. For example, when entering an Item Number or HIN in the ‘Data Form’, the system can check if it already exists in the ‘Inventory’ or ‘Sold’ sheets, preventing duplicate entries or prompting the user if an existing record is being targeted for modification.
Dynamic Data Retrieval: When a user searches for an item in the ‘Data Form’, the script efficiently queries either the ‘Inventory’ or ‘Sold’ sheet based on the input and populates the form fields with the relevant data.
Automated Updates and Transfers: When in ‘Edit’ mode, the script handles the logic for:
Creating New Records: New boat entries made on the ‘Data Form’ are seamlessly appended to the ‘Inventory’ sheet.
Modifying Existing Records: Edits to existing records are accurately reflected in the corresponding ‘Inventory’ or ‘Sold’ sheet, updating the specific fields.
Inventory to Sold Transfer: A critical feature allows for the smooth transfer of a sold boat’s data from the ‘Inventory’ sheet to the ‘Sold’ sheet, ensuring the ‘Inventory’ remains current and the ‘Sold’ sheet builds a comprehensive sales history. This process includes moving the entire record and removing it from the active inventory.
Deletion Functionality: The system also includes a secure deletion function, allowing for the removal of records from the ‘Sold’ sheet if needed, with appropriate user warnings to prevent accidental data loss.
User-Friendly Interface with Buttons: Key Apps Script functions are linked to clearly labeled buttons directly on the ‘Data Form’ sheet. This intuitive design allows users to trigger actions like “Save,” “Search,” “Clear Form,” or “Mark as Sold” with a single click, eliminating the need to navigate through menus or remember complex commands.
The inventory sheet
Results and Client Benefits
The implementation of this custom Google Sheets and Apps Script inventory system has provided our client with significant benefits:
Enhanced Efficiency: The automated processes have drastically reduced the time spent on manual data entry and record-keeping, freeing up staff to focus on core business activities.
Improved Data Accuracy: Automated data validation and update mechanisms minimize human error, leading to a much more accurate and reliable inventory and sales database.
Real-time Visibility: The client now has instant access to their current inventory and historical sales data, enabling better decision-making regarding stock levels, pricing strategies, and sales forecasting.
User-Friendly Experience: The intuitive ‘Data Form’ interface, coupled with linked buttons, makes the system easy to learn and use, even for non-technical staff. The visual warning (red header) in ‘Edit’ mode is a crucial safety feature that prevents inadvertent data modifications.
Scalability and Flexibility: Built on Google Sheets, the system is inherently scalable and can be easily adapted to accommodate future growth or changes in the client’s business needs.
The sold sheet
Code sample
Ready to take your Google Workspace to the next level?
Contact us today to discuss how a tailored web application can transform your business operations.