Nightly payroll-provider sync job

FeatureDaemonService
Shipped
August 14, 2026 at 12:19 AM UTC
Author
Kamo
Commit
cd00f6e

Drives TimecardService's **************** which syncs every organization whose next sync is due. Cron lives here rather than in TimecardService because that deployment is RollingUpdate with maxSurge 1, so two pods overlap on every rollout and a @Scheduled method fires twice — which for a payroll sync means two pushes of the same hours. DaemonService is replicas 1, strategy Recreate. Scheduled at 03:00, forty minutes after the timecard sweeps: those close open shifts and detect exceptions, and sending hours to a payroll provider before they have run would transmit numbers that are about to change. Refuses to run on a blank mlos.internal-auth-secret rather than logging a false success — a payroll sync that quietly never runs looks exactly like one that found nothing to do, and the difference is a pay period of hours that never reached the provider.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing