A modern, professional web application for calculating state tax allocation when working across multiple states throughout the year. Perfect for remote workers, snowbirds, travelers, and anyone with multi-state tax obligations.
The application is deployed and ready to use in production. No installation required - simply visit the link above to start calculating your multi-state tax allocation.
- Remote Workers: Digital nomads and remote employees working from different states
- Snowbirds: Retirees and professionals who split time between seasonal residences
- Business Travelers: Consultants and professionals with extended travel assignments
- Temporary Residents: Contract workers, interns, or anyone with temporary state residency
- Multi-State Employees: Workers whose job requires presence in multiple states
- Google Calendar-style Interface: Intuitive month navigation and visual period management
- Weekday-Only View: Shows only Monday-Friday within visiting dates
- Drag & Drop: Create pay periods by dragging across empty days
- Click to Edit: Click colored days to edit gross taxable amounts
- Color-Coded Periods: Each pay period has a unique visual identifier
- Semi-Monthly Generation: Automatic 1st-15th and 16th-last day periods
- Primary State Settings: Configure your main state of residence
- Multi-State Support: Track days worked in different states
- Tax Settings: Customizable tax rates and settings per state
- Automatic Calculations: Proper tax allocation based on work days
- Detailed Results: Comprehensive breakdown of tax allocation
- Pay Period Analysis: Individual period calculations and summaries
- Export Ready: Professional reports for tax filing and record keeping
- Automatic Import: Import work location events from Google Calendar
- Multi-Calendar Support: Scan all your calendars for tax events
- Smart Parsing: Recognizes
[TAX] STATEformat events - Seamless Sync: OAuth 2.0 integration for secure access
- Responsive Design: Works perfectly on desktop, tablet, and mobile
- Dark/Light Mode: System preference detection with manual toggle
- Toast Notifications: Contextual feedback for user actions
- Sticky Header: Always-accessible navigation and controls
- Loading States: Professional loading indicators and error handling
- State Management: Zustand-powered centralized state management
- Local Storage: Automatic data persistence between sessions
- Real-time Updates: Live calculation updates as you make changes
- Type Safety: Full TypeScript implementation
- Modern Architecture: React 18 with latest best practices
- Frontend: React 18 + TypeScript
- State Management: Zustand
- Styling: Tailwind CSS
- Build Tool: Vite
- Icons: Lucide React
- Integration: Google Calendar API
- Storage: Browser LocalStorage
- Node.js 18+ and npm
- Modern web browser
- (Optional) Google account for calendar integration
-
Clone the repository
git clone https://github.com/yourusername/multi-state-tax-calculator.git cd multi-state-tax-calculator -
Install dependencies
npm install
-
Configure Google Calendar Integration (Optional)
- Create a Google Cloud Console project
- Enable the Google Calendar API
- Create OAuth 2.0 credentials
- Update
src/config.tswith your client ID
-
Start development server
npm run dev
-
Open in browser
- Navigate to
http://localhost:5173
- Navigate to
npm run build
npm run preview- Set your primary state of residence
- Enter your visiting dates (work period)
- Configure tax settings if needed
- Add states where you worked temporarily
- Use Google Calendar import to automatically populate work days
- Or manually add dates for each state
- Add any bonus income received during the period
- Specify the state where each bonus was earned
- Use the interactive calendar to create pay periods
- Drag across days to create new periods
- Click periods to edit gross taxable amounts
- Use auto-generation for standard biweekly or semi-monthly periods
- Click "Calculate Allocation" to generate results
- Review detailed breakdowns for each pay period
- Export results for tax filing
-
Google Cloud Console:
- Go to Google Cloud Console
- Create a new project or select existing one
- Enable the Google Calendar API
-
OAuth 2.0 Setup:
- Go to "Credentials" β "Create Credentials" β "OAuth 2.0 Client ID"
- Application type: "Web application"
- Authorized origins:
http://localhost:5173(for development)
-
Update Configuration:
// src/config.ts export const CLIENT_ID = 'your-google-client-id.googleusercontent.com';
Customize tax rates and settings in the application:
- Access via the gear icon in Global Settings
- Modify rates per state as needed
- Settings are automatically saved locally
For Google Calendar integration, use this format in your event titles:
[TAX] STATE_CODE - Description
Examples:
[TAX] CA - Working from San Francisco[TAX] NY - Client meeting in New York[TAX] FL - Remote work from Miami
src/
βββ components/ # React components
β βββ Header.tsx # Application header
β βββ PayPeriodCalendar.tsx # Interactive calendar
β βββ ResultsPanel.tsx # Results display
β βββ ...
βββ store.ts # Zustand state management
βββ types.ts # TypeScript definitions
βββ utils.ts # Utility functions
βββ config.ts # Configuration settings
βββ App.tsx # Main application component
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Make your changes
- Add tests if applicable
- Commit your changes
git commit -m 'Add amazing feature' - Push to branch
git push origin feature/amazing-feature
- Open a Pull Request
- Follow TypeScript best practices
- Use Prettier for code formatting
- Write meaningful commit messages
- Add JSDoc comments for complex functions
- Ensure responsive design principles
This project is licensed under the MIT License - see the LICENSE file for details.
This tool is for informational purposes only and does not constitute tax advice. Always consult with a qualified tax professional for your specific situation. State tax laws vary and change frequently.
- Email: support@split.tax
- Additional state tax rule implementations
- Export to popular tax software formats
- Mobile app development
- Advanced reporting features
- Multi-year support
- Integration with payroll systems
- Built with modern React and TypeScript
- Styled with Tailwind CSS
- Icons by Lucide
- State management by Zustand
- Calendar integration with Google APIs
Made with β€οΈ for remote workers, travelers, and multi-state professionals.