Gusto Sandbox Simulator
Ruby gem that generates realistic payroll data (employees, payroll runs, compensations) in Gusto sandbox environments for testing and development.
Part of the SalesToBooks POS simulator ecosystem alongside clover_sandbox_simulator and square_sandbox_simulator.
Installation
gem install gusto_sandbox_simulatorOr add to your Gemfile:
gem "gusto_sandbox_simulator"Configuration
Create a .env.json file in the project root:
{
"DATABASE_URL": "postgres://user:pass@localhost/gusto_sandbox",
"companies": [
{
"GUSTO_COMPANY_UUID": "abc-123",
"GUSTO_ACCESS_TOKEN": "your-token",
"GUSTO_COMPANY_NAME": "Demo Restaurant"
}
]
}Or set environment variables directly:
| Variable | Default | Required |
|---|---|---|
GUSTO_COMPANY_UUID |
-- | Yes |
GUSTO_ACCESS_TOKEN |
-- | Yes |
GUSTO_ENVIRONMENT |
demo |
No |
GUSTO_API_VERSION |
2024-04-01 |
No |
BUSINESS_TYPE |
restaurant |
No |
DATABASE_URL |
-- | No |
CLI Usage
# Employee management
simulate setup # Create 14 restaurant employees in Gusto sandbox
simulate status # Show company info, employee/payroll counts
simulate delete --confirm # Delete local employee records
# Payroll processing
simulate process # Process unprocessed payrolls (fill hours, submit)
simulate sync -s 2026-01-01 # Sync processed payrolls to local DB
# Utilities
simulate companies # List companies from .env.json
simulate payrolls -p # List processed payrolls
simulate version # Show version
# Database management
simulate db create # Create PostgreSQL database
simulate db migrate # Run migrations
simulate db seed # Seed with restaurant employee data
simulate db reset --confirm # Drop, create, migrate, seedGlobal flags: -v (verbose), -c UUID (company), -i INDEX (company index)
Default Restaurant Roster
14 employees across 4 departments:
| Department | Roles | Compensation |
|---|---|---|
| Kitchen | Head Chef, Sous Chef, Line Cook x2, Prep Cook, Dishwasher | $14-55k |
| Management | General Manager | $50k salary |
| Front of House | Server x3, Host, Busser | $5.50-14/hr |
| Bar | Bartender x2 | $7/hr + tips |
Development
bundle install
bundle exec rspec # Run tests
bundle exec rubocop # LintLicense
MIT License. See LICENSE.txt.