No release in over 3 years
Generates realistic payroll data (employees, payroll runs, compensations) in Gusto sandbox for testing
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

Runtime

~> 3.0
~> 3.2
~> 1.5
~> 1.3
~> 2.0
~> 2.6
 Project Readme

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_simulator

Or 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, seed

Global 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     # Lint

License

MIT License. See LICENSE.txt.