Payroll Integration API Guide

Complete guide for integrating payroll systems with the 401GO API, including required data fields, endpoints, workflow processes, and data flow diagrams.

Payroll Integration API Guide

This guide provides comprehensive documentation for integrating payroll systems with the 401GO API, covering all required data fields, endpoints, and integration workflows.

1. Sending Payroll (Contributions)

Endpoint

Submit-Payroll

POST /api/companies/{company_id}/submit-payroll/ 

PayrollFile Fields

FieldRequiredDescription
check_dateYesCheck/Pay Date (W2 date)
pay_period_startOptionalPay period start date
pay_period_endOptionalPay period end date
is_off_cycleOptionalBoolean; indicates off-cycle payroll
payroll_linesYesArray of payroll line entries

PayrollLine Fields (Per Participant)

FieldRequiredDescription
participant_idYesEncrypted participant identifier
hoursYesHours worked in this period
gross_payYesTotal gross pay eligible for 401(k) deductions for this period. Exclude non-eligible items such as reimbursements or bonuses that do not count toward 401(k) compensation.
pre_tax_amountConditionalRequired if participant has pre-tax deferrals
post_tax_amountConditionalRequired if participant has post-tax (Roth) deferrals
company_contributionOptionalEmployer match contribution amount
hours_ytdOptional (write-only)Year-to-date hours worked
gross_pay_ytdOptional (write-only)Year-to-date gross pay
other_additionsOptionalArray of additional deductions

OtherPayrollLineAdditions (Loan Payments)

FieldRequiredDescription
additional_amountYesDeduction amount
other_typeYesMust be "Loan Principal" or "Loan Interest"

Response

Returns the created PayrollFile with read-only fields:

  • ach_date — Calculated ACH date
  • pre_tax_percent, post_tax_percent — Derived contribution percentages

2. Receiving Census Data (Participants)

Endpoints

Required Fields for Creation

FieldRequiredDescription
ssnYesSocial Security Number (9 digits)
start_dateYesEmployee hire date
nameYesFull name
email or phoneYesAt least one contact method required

Optional/Conditional Fields

FieldDescription
object_idRequired for updates
dobDate of birth
termination_dateTermination date if applicable
hours_worked_ytdYear-to-date hours worked
compensation_ytdYear-to-date compensation
years_worked_1000_hoursNumber of years with ≥1000 hours
prior_year_total_compensationPrevious year's compensation
ownership_percentageOwnership %, if applicable
company_officerBoolean; indicates officer status
addressNested object (see Address Fields below)

Address Fields (If Provided)

FieldRequiredDescription
address_line_1YesStreet address
cityYesCity
stateYesState
postal_codeYesZIP/Postal code
address_line_2OptionalAdditional address line

Read-Only Fields (Received)

  • met_eligibility_date — Eligibility achievement date
  • deferrals — Current deferral elections
  • loans — Active loan payments
  • timestamp, timestamp_updated — Record creation and update timestamps

3. Receiving Plan Data

GET /api/companies/{company_id}/plan-provisions/
Plan Configuration Fields
FieldDescription
plan_namePlan name
plan_type401K / 403B / Starter-K
plan_effective_datePlan start date
auto_enrollBoolean; enables auto-enrollment
auto_enroll_percentInitial deferral percentage
auto_increase_byAuto-increase percentage
auto_increase_capMaximum deferral percentage
compensation_definitionDefines compensation calculation
eligibility_delayEligibility delay rule
eligibility_delay_rollingRolling eligibility rules
hours_of_serviceRequired hours for eligibility
minimum_ageMinimum participant age
match_eligibility_delayMatch eligibility delay
profit_share_eligibility_delayProfit share eligibility delay
entry_date / match_entry_date / profit_share_entry_dateEntry date rules
vestingVesting schedule type
vesting_requires_1000_hoursBoolean
profit_share_vestingProfit share vesting schedule
profit_share_requires_last_dayBoolean
deferral_change_frequencyHow often deferrals can change
match_frequencyEmployer match frequency
loans_permittedBoolean; allows participant loans
exclude_highly_compensated_and_key_employeesSafe harbor exclusion
agreed_to_edocsBoolean
allow_self_direct_for_participantsBoolean
allow_permissible_withdrawalBoolean
auto_rolloverBoolean
allow_roth_basis_contributionsBoolean
activeBoolean; plan active status
plan_cancellation_dateIf plan is terminated

GET /api/companies/{company_id}/matches/
FieldDescription
plan_matchesArray of match tiers (rate and max %)
discretionary_matchesArray of discretionary matches
discretionary_nonelectiveDiscretionary non-elective contributions
nondiscretionary_nonelectiveNon-discretionary non-elective contributions

4. Receiving Deduction Updates

GET /participants/{participant_id}/deferrals/
FieldDescription
amountDeferral amount or percentage
is_percentBoolean; true if percentage
timestampLast update timestamp
active_traditionalActive traditional deferrals
active_rothActive Roth deferrals
change_frequencyChange frequency allowed
is_eligibleBoolean; if participant is eligible
hit_maxBoolean; if annual max reached

GET /participants/{participant_id}/loan-requests/

Returns active loans needing deductions:

  • todays_payment — Amount due per payroll

GET /participants/{participant_id}/payroll-lines/

Returns historical payroll lines for previous deductions.


5. Participant Updates via Payroll

When submitting payroll, participant records can be automatically updated:

FieldDescription
hours_ytdUpdates hours_worked_ytd in participant record
gross_pay_ytdUpdates compensation_ytd in participant record

Note: These are write-only fields within the PayrollLine.


6. Integration Workflow Summary

  1. Sync Census - Import all participants using the participants endpoints
  2. Retrieve Plan Provisions - Get plan configuration and match details
  3. Get Deferrals - Fetch current deferral elections for each participant

Data Flow Diagrams

Flow 1 — Initial Setup & Data Sync

┌──────────────┐                                    ┌──────────────┐
│   PARTNER    │                                    │    401GO     │
│   SYSTEM     │                                    │              │
└──────┬───────┘                                    └──────┬───────┘
       │                                                   │
       │ 1. Retrieve companies and plan info               │
       │────────────────────────────────────────────────>  │
       │                                                   │
       │ 2. Cache plan provisions, match formulas,         │
       │    and eligibility rules                          │
       │ <──────────────────────────────────────────────   │
       │                                                   │
       │ 3. Retrieve and sync participant census data      │
       │────────────────────────────────────────────────>  │
       │                                                   │
       │ 4. Maintain updated employee records locally      │
       │ <──────────────────────────────────────────────   │
       │                                                   │

Flow 2 — Per-Participant Deduction Retrieval

┌──────────────┐                                    ┌──────────────┐
│   PARTNER    │                                    │    401GO     │
│   SYSTEM     │                                    │              │
└──────┬───────┘                                    └──────┬───────┘
       │                                                   │
       │ 1. Retrieve each participant's deferral & loan    │
       │    information                                    │
       │────────────────────────────────────────────────>  │
       │                                                   │
       │ 2. Calculate deductions and verify eligibility    │
       │ <──────────────────────────────────────────────   │
       │                                                   │

Flow 3 — Submitting Payroll Data

┌──────────────┐                                    ┌──────────────┐
│   PARTNER    │                                    │    401GO     │
│   SYSTEM     │                                    │              │
└──────┬───────┘                                    └──────┬───────┘
       │                                                   │
       │ 1. Submit payroll file with employee deductions   │
       │────────────────────────────────────────────────>  │
       │                                                   │
       │ 2. 401GO validates, processes, and calculates ACH │
       │    contribution amounts                           │
       │ <──────────────────────────────────────────────   │
       │                                                   │
       │ 3. Partner stores payroll reference for tracking  │
       │                                                   │