📖 All guides
Connect DailyPay (earned wage access)
Send DailyPay a nightly file of clocked-out shifts so employees can draw on wages they have already earned — payroll stays in ADP.
DailyPay computes each employee's available balance from a daily Gross Earnings file the timekeeping system sends over SFTP: one row per clocked-out shift, the last 30 days, keyed on the ADP employee id. SafeShift builds and sends that file for you. Nothing changes in payroll — DailyPay settles advances through ADP at payday, and no money moves through SafeShift.
- 1
Get sandbox credentials from DailyPay
DailyPay's implementation team issues sandbox SFTP credentials first (host sftp.dailypay.com, port 22, a username and password) and tells you the pay group value they want on each row. Production credentials come after they approve a test file.
- 2
Put every employee's ADP id on file
The file keys on the ADP employee id. Enter each person's code under Payroll → ADP Employee Codes (or the Team page). Employees without a code are left out of the file and listed on the card — never guessed.
- 3
Set up the card
Go to Locations → Integrations, find DailyPay — earned wage access feed, and click Set up (owners only). Enter the environment, username, password and pay group, untick any location DailyPay has not enrolled, then Test SFTP login and Save.
- 4
Check the file before it goes
Preview tonight's file shows the row count, the date range and anyone missing an ADP id; Download CSV gives you the exact file. Send now uploads it immediately — use it for DailyPay's validation run.
- 5
Turn on the nightly send
Tick Send the file automatically every night and save. The card shows when the last file went out and how many rows it had; a failed upload is shown in red, and the next night retries on its own. If DailyPay ever rotates their SSH host key, the card refuses to send until an owner clicks Accept new host key — only do that after DailyPay confirms the rotation.
Good to know
- Hours in the file are paid hours — a valid unpaid meal is deducted, short meals and rest breaks stay on the clock, the same math as the Time Entries report.
- Earnings are base pay (hours × rate). Overtime premiums are priced by payroll at payday, so DailyPay's balance is the conservative amount.
- Shifts still clocked in, voided corrections and Schedule Clock presumed time never ride the file — only punched, closed shifts.
- Once DailyPay approves the sandbox file, enter the production username and password they send, test the login again, and set the environment label to Production. The label records which account the credentials belong to — the host is the same for both.