Bista Odoo Timesheet Extension
A VS Code extension for Bista Solutions developers to create and manage Odoo timesheets directly from the editor.
Features
Core Features
- 🔐 Secure Authentication: Login to your Odoo instance with secure credential storage
- 📁 Project Browser: View all projects with timesheet enabled in a sidebar tree view
- 📋 Task View: Browse tasks within each project (current month tasks)
- ⏱️ Quick Timesheet: Create timesheets with keyboard shortcut (
Ctrl+Shift+T / Cmd+Shift+T)
- 📊 Today's Summary: View all timesheets logged today with total hours
- 📅 Recent History: Browse timesheets from the last 7 days grouped by date
- ✏️ Edit & Delete: Modify or remove timesheet entries directly from VS Code
- 🔄 Auto-refresh: Automatic status bar updates showing today's total hours
New in v1.1.0
- 🔍 Server-Side Search: Search ALL projects by name or client (even projects not initially loaded)
- 📄 Pagination: Load projects in batches with "Load More" option
- 🏷️ Resource Type: Select resource type (resource.role) when creating timesheets
- 🏠 Work From: Select work location (WFH, Office, etc.)
- 💰 Billable: Mark time as billable or non-billable
- ⏱️ Timer: Start/stop timer to track time while working
Installation
From VSIX (Recommended for Internal Distribution)
- Download the
bista-odoo-timesheet-1.1.0.vsix file
- Open VS Code
- Press
Ctrl+Shift+P (or Cmd+Shift+P on Mac)
- Type "Install from VSIX" and select it
- Choose the downloaded
.vsix file
- Reload VS Code when prompted
Build from Source
# Clone the repository
cd bista-odoo-timesheet
# Install dependencies
npm install
# Compile TypeScript
npm run compile
# Package the extension
npm run package
Configuration
The extension uses the Bista EIC Odoo server by default:
| Setting | Description | Default |
|---------|-------------|---------|
| bistaOdooTimesheet.serverUrl | Odoo server URL | https://eic.bistasolutions.com |
| bistaOdooTimesheet.database | Odoo database name | eic_v18_production |
| bistaOdooTimesheet.username | Your Odoo username (email) | | | `bistaOdooTimesheet.defaultProject` | Default project ID for quick timesheet | |
| bistaOdooTimesheet.defaultTask | Default task ID for quick timesheet | `` |
Usage
First Time Setup
- Click on the Bista Timesheet icon in the Activity Bar (left sidebar)
- Click Login to Odoo in the welcome message
- Enter your Odoo credentials:
- Server URL:
https://eic.bistasolutions.com
- Database:
eic_v18_production
- Username: Your Bista email (e.g.,
yourname@bistasolutions.com)
- Password: Your Odoo password
Your credentials are stored securely using VS Code's Secret Storage API.
Creating a Timesheet
When creating a timesheet, you'll be prompted for:
- Project - Select from the projects list
- Task - Select a task (required) - shows current month tasks
- Date - Enter date (YYYY-MM-DD format, defaults to today)
- Hours - Enter hours spent (e.g., 1.5)
- Description - Enter what you worked on
- Resource Type - Select your role (optional)
- Work From - Select work location (optional)
- Billable - Mark as billable/non-billable (optional)
Method 1: From Projects Tree
- Expand the Projects view in the sidebar
- Find your project (use 🔍 Search if needed)
- Click the + button next to the project
- Select a task and fill in the details
Method 2: From Task
- Expand a project to see its tasks
- Click the + button next to the task
- Fill in the date, hours, and description
Method 3: Quick Timesheet
- Press
Ctrl+Shift+T (or Cmd+Shift+T on Mac)
- If a default project is set, it will be pre-selected
- Enter the required information
Searching Projects
With 100+ projects, use the search feature:
- Click the 🔍 Search icon in the Projects toolbar
- Enter project name or client name
- The search queries Odoo directly to find ALL matching projects
- Click the Clear icon to show all projects again
Load More Projects
Projects are loaded in batches of 80:
- Scroll to the bottom of the Projects list
- Click "Load More (X more of Y total)"
- More projects will be loaded
Timer Feature
Track time while working:
- Start Timer:
Bista Timesheet: Start Timer - Select project and task
- Stop Timer:
Bista Timesheet: Stop Timer & Log Time - Creates timesheet with elapsed time
- Toggle Timer: Click timer in status bar to start/stop
Status Bar
The status bar shows:
- Today's Hours: Your total logged hours for today
- Timer: Current timer status (if running)
Click the status bar to quickly create a new timesheet entry.
Commands
| Command |
Description |
Shortcut |
Bista Timesheet: Login to Odoo |
Authenticate with Odoo |
- |
Bista Timesheet: Logout from Odoo |
Clear credentials and logout |
- |
Bista Timesheet: Create Timesheet |
Create a new timesheet entry |
- |
Bista Timesheet: Quick Timesheet Entry |
Fast timesheet creation |
Ctrl+Shift+T |
Bista Timesheet: Search Projects |
Search projects by name/client |
- |
Bista Timesheet: Clear Project Search |
Clear search filter |
- |
Bista Timesheet: Start Timer |
Start tracking time |
- |
Bista Timesheet: Stop Timer & Log Time |
Stop timer and create entry |
- |
Bista Timesheet: Show Today's Hours Summary |
View today's hours |
- |
Bista Timesheet: Refresh Projects |
Refresh the project list |
- |
Requirements
- VS Code 1.85.0 or higher
- Access to Bista EIC Odoo (https://eic.bistasolutions.com)
- Odoo user account with:
- Project module access
- Timesheet permissions
- Employee record linked to your user
Troubleshooting
"No employee record found"
Your Odoo user must have an associated Employee record. Contact HR or your Odoo administrator.
"Authentication failed"
- Verify your username (email) and password
- Make sure you're using your Bista email
- Try logging into Odoo web interface first to verify credentials
"Invalid Month" error when creating timesheet
- Select a task from the list (tasks are required)
- Tasks are filtered to current month
Projects not showing / Projects cut off
- Use the Search feature to find specific projects
- Click "Load More" to load additional projects
- Projects are loaded in batches of 80
Connection timeout
- Check your internet connection
- Verify VPN connection if required
- The extension uses IPv4 to avoid dual-stack timeout issues
Changelog
v1.1.0 (December 2024)
- Added server-side project search
- Added pagination with "Load More"
- Added Resource Type selection (resource.role)
- Added Work From selection
- Added Billable/Non-Billable option
- Added Timer feature
- Fixed project loading limit (now paginated)
- Improved error handling
v1.0.0 (December 2024)
- Initial release
- Basic timesheet creation
- Project and task browsing
- Today's and recent timesheets view
- Edit and delete timesheets
- Status bar integration
Support
For support, contact:
- Internal: Bista Solutions IT team
- Developer: Zeeshan Jagirdar
License
Internal use only - Bista Solutions Pvt. Ltd.
Made with ❤️ for Bista Solutions developers