Gusto 401(k) plan sponsors can use this article to learn how to upload payroll reports, fix errors, correct submitted or processed reports, and manage employee 401(k) loan payments for self-service plans.
If you have a self-service plan, we do not have access to your payroll provider. As the plan administrator, you need to report contributions and employee compensation by uploading payroll reports through your Gusto Retirement administrator dashboard.
Important: Upload reports on time. Late uploads may lead to late deposits and missed deferral opportunities for employees.
Before you upload a payroll report, make sure your Gusto Retirement roster is up to date.
All employee personal information — including first names, last names, and salary details — needs to be accurate
Add new hires on or before their hire date. Include email addresses, hire dates, and dates of birth for all new employees. Missing this information may delay participant enrollment
Update the employment status for any terminated or dismissed employees
Watch a step-by-step walkthrough of the upload process.
To upload a payroll report, follow these steps.
Sign in to your retirement dashboard. There are two ways to access your account:
Sign in directly: Visit the Gusto Retirement log-in page. Sign in with your Gusto Retirement credentials, or use Gusto Single Sign-On (SSO). Learn more about SSO.
From Gusto: Sign in to Gusto and go to Benefits. Under Savings, find 401(k) and click View. Click Manage 401(k).
Go to the Payroll tab in the main menu.
In the Payroll reports section, select Add regular payroll for a standard payroll run, or Add off-cycle payroll for bonuses, commissions, or other non-typical pay.
Gather payroll and contribution details from your payroll provider. You need the following for each employee:
First and last name
Traditional (pre-tax) contribution amount (in dollars)
Roth contribution amount (in dollars)
Employer contribution amount (in dollars)
Pay date
Pay period gross pay
Pay period hours worked
Loan repayment amount in dollars (if applicable)
Review the on-screen instructions. A payroll report template is available there and in the Forms and Templates section of your dashboard. Click Got it to continue.
Upload your data or enter it manually:
Upload a file: Make sure your file is saved as a .csv in UTF-8 format. Click Upload file or drag and drop your file, then click Submit.
Enter data manually: Click Manually enter data and type in the details for each employee. This option works best if you have just a few employees.
Match your column headers to the corresponding fields in our system, then click Continue.
Review the data preview for any errors. We highlight invalid fields. Fix all errors before you continue.
Click Submit to complete the upload. You return to the Payroll dashboard, where you can review all submitted reports.
If your payroll report fails to load or takes too long to upload, follow these steps to use the legacy upload process.
At the top of the payroll upload portal, click Upload another way.
Select Regular payroll, then click Continue.
Download the CSV template if you have not already. Select Click or drop a file or drag and drop your file.
Click Upload payroll report.
After you submit a payroll report, here’s what to expect.
You get an email confirmation
We withdraw contributions from your bank account on file within 1 – 2 business days of the pay date (or the file upload date, if it occurred after your pay date)
You get an email notification when the withdrawal is complete
We allocate contributions to participants’ accounts 5 – 7 business days after the payroll withdrawal. Learn more about the collection timeline
If your report does not upload cleanly, identify the issue, fix it, and try again. Expand the sections below to walk through each step.
After you submit your report, a data preview displays all imported information. Use this guide to read the flags.
Warning (orange): We need to review the flagged data, but you can still submit the report
Invalid (red): You need to fix these fields before submitting. Click the Invalid button above the chart to see all flagged entries. You may need to scroll right to see highlighted cells
Use this list to troubleshoot why your report did not upload.
Incompatible file type. We only accept .csv files encoded in UTF-8. We cannot accept PDF, XLS, or TXT files. Export or save your file as a .csv before uploading, or enter your data manually.
Missing information. The following fields are required for every upload.
First name
Last name (middle name is optional, but recommended if employees share the same first and last name)
Pay date
Pay period gross pay
Pay period hours worked
Include the following fields as dollar amounts. Enter 0 for any fields that do not apply — do not leave them blank.
Traditional (pre-tax) contribution
Roth (after-tax) contribution
Employer contribution
Loan repayment
Incorrect pay date format. Your pay date needs to follow one of these formats.
2001-01-01 (yyyy-mm-dd)
01/01/2001 (mm/dd/yyyy)
1/1/2001 (m/d/yyyy)
01/01/01 (mm/dd/yy)
Unidentifiable employee. Employee names in your payroll report need to match your Gusto Retirement roster exactly. Names cannot contain accented letters (for example, â, î, ô). Add new employees to your roster before you upload. If an employee changes their name, update the roster, too.
Blank cells or unexpected values. Enter 0 in any column that does not apply — do not leave fields blank or enter symbols or “N/A.” For example, if your plan does not include an employer match, enter 0 in the employer contribution column for all employees.
Duplicate rows. Each employee should have only one line item per pay date. If there are multiple contributions for the same employee on the same pay date, combine them into a single row.
Totals row. Do not include a grand totals row. Our system calculates totals automatically.
You have two options to address errors before submitting.
Edit inline: Click the invalid cell and enter the correct information directly
Re-upload a corrected file: To replace the data, follow these steps:
Check the box in the top left corner to select all rows.
Click the trash can icon, then select Delete records in the pop-up to confirm.
In the left menu, go to Files, then click Upload file to add your updated report.
Once the file loads, click Import, then select Self Service Payroll and click Continue.
If the Invalid count shows 0, click Submit to complete the upload.
Payroll mistakes happen. You can correct previously submitted reports from your Gusto Retirement administrator dashboard. How and when you can correct a report depends on its status.
To access a report, go to the Payroll tab in the main menu and click the pay date in the applicable row.
Use this table to see what you can do based on the status of your report.
Status
What you can do
Submitted
Make changes before 8 pm PT. We process changes made before that time the same day.
Processing
You cannot make corrections. We complete the report within three business days of the submission date. Wait until processing is finalized before making adjustments.
Complete
You can make edits at any time. Review our list of permissible correction reasons before proceeding — once contributions are deposited into the plan, there are strict rules on what changes are allowed.
Note: If we need to reverse any funds as a result of an adjustment on a completed report, we typically return the money to your plan cash balance. Those funds then offset upcoming contributions.
If a report shows incorrect gross wages, no immediate action is needed. We ask you to confirm gross wages for all employees during the following year’s reporting.
If you entered the wrong pay date on a processed payroll run, email [email protected] to request an update.
When an employee takes out a 401(k) loan, repayments are made through payroll deductions. As the plan sponsor of a self-service plan, you need to update both your payroll provider and the payroll reports you share with us so deductions are pulled from the employee’s pay correctly.
We send an email notification with the payment details you need, including the first repayment due date and the deduction amount. Set up loan repayments as continuous post-tax deductions.
Important: If you do not include the loan repayment amount in both your payroll provider and your Gusto Retirement report, we record payments as missed. Missed payments can eventually lead to a defaulted loan.
To set up loan payments, follow these steps.
Add the deduction to your payroll provider as a continuous post-tax deduction.
Open the Payroll report template you use to upload payroll information.
Find the Loan Repayment column (the last column in the spreadsheet).
Locate the employee’s name and enter the repayment amount listed in the “Set up loan payments” email from us.
Upload your payroll report as usual. We deduct the repayment amount from the employee’s paycheck.
If you process payroll after the repayment start date without including the loan deduction, add the standard payment amount to your next payroll report. Let the employee know a deduction was missed — they need to make a manual payment directly through their Gusto Retirement dashboard.
Note: Employees generally see a missed payment in their dashboard about a week after the pay date. Self-payments made before a payment is marked as missed are counted as extra payments, not makeup payments.
Important: Set up loan payments as soon as possible. Loans default when any payment is more than 90 days past due. When a 401(k) loan defaults, the Internal Revenue Service (IRS) treats the remaining loan balance as a distribution — a taxable event for the employee. Deemed distributed loans are not eligible for rollover. If the employee is under age 59½, a 10% early withdrawal penalty may also apply. Consider consulting a tax advisor for guidance specific to your situation.
If you get a notification to stop an employee’s loan repayments, it means their loan has either been paid in full or has defaulted. To stop payments, follow these steps.
Remove the deduction from your payroll provider.
Delete the amount in the Loan Repayment column of the Payroll report template before your next upload.