Google Finance Filler 📊
A Tampermonkey userscript that automatically fills Google Finance purchase data from CSV/spreadsheet data. Perfect for quickly adding multiple stock purchases without manual entry.
Features
- 🚀 Smart CSV Parsing: Automatically detects delimiters (tabs, commas, semicolons, pipes)
- 📋 Copy-Paste Friendly: Paste directly from Google Sheets, Excel, or any spreadsheet
- 🎯 Intelligent Form Filling: Bypasses Google's autofill to ensure accurate price data
- 🔄 Bulk Entry: Add multiple purchases at once
- 🎨 Native Integration: Button appears seamlessly in Google Finance modal
- 📱 Menu Access: Launch from Tampermonkey menu
Installation
Install Tampermonkey browser extension:
Install the script: Click here to install or copy the script code and create a new userscript in Tampermonkey.
Enable the script: Make sure the script is enabled in your Tampermonkey dashboard.
Usage
Method 1: Using the In-Modal Button
- Navigate to Google Finance > Your Portfolio > Click "+ Investment"
- Search for Stock or ETF then click "Filler" Button (appears automatically in the modal)
- Paste transactions in requested format into the text area
- Verify and validate or edit - Click "Parse & Preview" to check your data, then "Fill Google Finance"
Method 2: Using Tampermonkey Menu
- Click the Tampermonkey icon in your browser toolbar
- Select "Open Finance Filler" from the menu
Data Input & Processing
Prepare your data in one of these formats:
Quantity Date Price
10 1/15/24 150.50
5 2/20/24 155.25
15 3/10/24 160.00
The script supports multiple formats:
- Tab-separated (copy from spreadsheets):
10 1/15/24 150.50
- Comma-separated:
10,1/15/24,150.50
- Semicolon-separated:
10;1/15/24;150.50
- Pipe-separated:
10|1/15/24|150.50
Data Format Requirements
Your data must have exactly 3 columns in this order:
Column 1 |
Column 2 |
Column 3 |
Quantity |
Date |
Price |
Integer (e.g., 10) |
MM/DD/YY or MM/DD/YYYY |
Decimal (e.g., 150.50) |
✅ Valid Examples:
10 1/15/24 150.50
5,2/20/24,155.25
15;3/10/24;160.00
20|4/5/24|158.75
❌ Invalid Examples:
AAPL,10,1/15/24,150.50 // Too many columns
10,1/15/24 // Missing price
ten,1/15/24,150.50 // Non-numeric quantity
Troubleshooting
Button Not Appearing
- Ensure you're on the correct page: The button only appears when Google Finance modal is open
- Check script status: Make sure the script is enabled in Tampermonkey
- Refresh the page: Sometimes a page refresh helps
Data Not Parsing
- Check your format: Ensure you have exactly 3 columns (Quantity, Date, Price)
- Verify delimiters: Use consistent delimiters (tabs, commas, semicolons, or pipes)
- Check for empty lines: Remove any empty rows from your data
Form Not Filling
- Ensure modal is open: The script needs the Google Finance purchase modal to be open
- Wait for completion: Let the script finish processing before interacting with the form
- Check console: Open browser DevTools (F12) and check the console for error messages
Browser Support
- ✅ Chrome/Chromium
- ✅ Firefox
- ✅ Safari
- ✅ Microsoft Edge
Privacy & Security
- No data collection: All processing happens locally in your browser
- No external requests: Script doesn't send data to any external servers
- Open source: Full code is available for review
- Google Finance only: Script only runs on Google Finance domains
Limitations
- Google Finance only: Works exclusively with Google Finance interface
- Modal required: Purchase modal must be open for the script to work
- Date format: Dates should be in MM/DD/YY or MM/DD/YYYY format
- Browser dependency: Requires a userscript manager like Tampermonkey
Contributing
Found a bug or have a feature request?
- Open an issue on GitHub
- Submit a pull request
- Contact the maintainer
License
MIT License - feel free to modify and distribute.
Changelog
v1.1
- Enhanced button placement within Google Finance modal
- Added Tampermonkey menu access
- Improved visual integration with Google's design
- Added mutation observer for better modal detection
v1.0
- Initial release
- Basic CSV parsing and form filling
- Support for multiple delimiters
- Preview functionality
⚠️ Disclaimer: This script is for educational and productivity purposes. Use responsibly and in accordance with Google's Terms of Service.