Skip to content

QuickBooks Online reviewer test script

Partial

Use this script to validate the current QuickBooks Online integration as an approved-hours export to QuickBooks Online TimeActivity.

Scope being reviewed

GoSafety connects to a QuickBooks Online company, stores the organization connection, maps GoSafety users to QuickBooks employees, and exports approved GoSafety time entries to QuickBooks Online TimeActivity.

This is not a full payroll run submission workflow. Automatic pay type discovery and deeper customer/project/item mapping remain follow-up work.

Prerequisites

  • A GoSafety admin account.
  • A QuickBooks Online company that can create employees and accept TimeActivity records.
  • At least one GoSafety user with completed and approved time entries.
  • For overtime validation, regular and overtime payroll pay item IDs configured on the QuickBooks employee mapping page.

Test steps

  1. Sign in to the GoSafety web app as an admin.
  2. Open /time-tracking.
  3. Confirm the QuickBooks panel shows the official Connect to QuickBooks button when no company is connected.
  4. Click Connect to QuickBooks and complete the Intuit OAuth flow.
  5. Confirm the user returns to /time-tracking with a connected success message.
  6. Confirm the connect button is hidden after connection and Disconnect from QuickBooks is shown instead.
  7. Open Map Employees.
  8. Map one active GoSafety user to the matching QuickBooks employee.
  9. Optionally enter regular and overtime payroll pay item IDs for payroll validation.
  10. Save mappings.
  11. Return to /time-tracking.
  12. Select a date range with approved GoSafety time entries.
  13. Click Send Approved Hours.
  14. Confirm the export result shows exported, skipped, and failed counts.
  15. In QuickBooks Online, verify the exported TimeActivity record exists for the mapped employee and date.
  16. Run the same export again.
  17. Confirm already-exported entries are skipped and no duplicate TimeActivity is created.
  18. If testing overtime, export an approved entry with overtime hours and verify QuickBooks receives separate regular and overtime TimeActivity records.
  19. Click Disconnect from QuickBooks.
  20. Confirm GoSafety calls the Intuit revoke flow, removes the local connection, and returns to the disconnected state.
  21. Confirm the Connect to QuickBooks button is visible again after disconnect.

Expected results

  • OAuth connect completes and stores the QuickBooks realm for the GoSafety organization.
  • The UI hides connect while connected and shows disconnect instead.
  • Employee mapping can be saved after loading QuickBooks employees.
  • Approved entries export to QuickBooks Online TimeActivity.
  • Entries without employee mappings are skipped.
  • Repeated export skips prior exports.
  • Overtime exports require an overtime payroll pay item ID and split regular versus overtime hours when configured.
  • Disconnect revokes the Intuit token when possible and deletes the local connection.

Known limitations

  • Payroll pay item IDs are entered manually today.
  • Customer, project, service item, and class mapping are not part of this first review scope.
  • The integration should be described as approved-hours export to QuickBooks Online TimeActivity, not complete payroll processing.