Plan-Owned Programs Quick Start
This guide covers everything you need to enroll members into plan-owned benefit programs — FSA, HRA, LPFSA, ICHRA, Commuter, and similar employer or health plan-sponsored benefits.
What Makes Plan-Owned Programs Different
- The plan (employer or health plan) owns the funds, not the member
- No KYC required — enrollment is approved immediately
- No SSN required
- Funds are held in an omnibus FBO account; members see their own sub-ledger balance
- Funding comes from the plan via:
- Good Faith Funding
- Payroll deduction
- Lump sum
- Election amounts may be required (FSA, LPFSA, Commuter)
- Unused funds typically do not belong to the member (exceptions may apply)
Who This Guide Is For
- TPAs and CDH administrators managing FSA, HRA, LPFSA
- ICHRA platforms managing employer groups
- Employers offering plan-sponsored benefits directly
- Health plans offering HRA alongside medical coverage
If managing multiple employer groups, see Client Org Management Guide.
Products Covered
| Product | Description | Election Amount Required |
|---|---|---|
| FSA | Flexible Spending Account | Yes (if configured) |
| LPFSA | Limited Purpose FSA | Yes (if configured) |
| HRA | Health Reimbursement Arrangement | No |
| ICHRA | Individual Coverage HRA | No |
| ICHRA_PREM_ONLY | Premium-only ICHRA | No |
| ICHRA_PREM_PLUS | Premium + expenses ICHRA | No |
| Commuter | Transit and parking benefits | Yes (if configured) |
| DCFSA | Dependent Care FSA | Yes (if configured) |
Prerequisites
Before enrolling members, it is important to understand how products are funded:
Understand Your Funding Model
| Model | Description | Common Use |
|---|---|---|
| Good Faith Funding | Plan fronts a % of full year benefit amount for member population; scheduled 'top-up' funding once live | FSA, HRA |
| Fully Funded | Plan funds before usage (FBO Contribution Account) | Employer-funded accounts |
Your funding model is configured at the Product level during implementation. Confirm with your Implementation Manager.
Know If Election Amounts Are Required
For FSA, LPFSA, and Commuter, the Client Org may be configured to require election amounts at enrollment. Check your plan summary or confirm with your Implementation Manager.
Required Fields
| Field | Required | Notes |
|---|---|---|
| clientMemberId | Yes | Unique member ID |
| clientOrg.name | Yes | Client org |
| firstName | Yes | |
| lastName | Yes | |
| dateOfBirth | Yes | |
| addresses | Yes | At least one |
| phones | Yes | At least one |
| emails | Optional | Must be primary if provided |
| ssn | No | Not required |
| memberProducts | Yes | |
| memberAccounts | Depends | Required if election needed |
| memberCardPreferences.planName | Yes | |
| memberCardPreferences.cardPackageName | Yes | |
| idempotencyKey | Yes |
Enroll a Member: FSA
FSA is the most common plan-owned product. This example shows enrollment with an election amount.
Note on election amounts:
- electionAmount is the member's annual election
- IRS limits apply: FSA max is $3,200 for 2024 (check current year limits)
- If election amount exceeds the limit, enrollment will fail with ELECTION_EXCEEDS_LIMIT
curl -X POST "https://sandbox.lynx-fh.co/api/v1/member" \
-H "Authorization: Bearer {your_api_token}" \
-H "Content-Type: application/json" \
-d '{
"clientMemberId": "EMP-001",
"clientOrg": { "name": "ACME_CORP" },
"firstName": "John",
"lastName": "Smith",
"addresses": [{
"addressLine1": "456 Oak Ave",
"city": "Chicago",
"state": "IL",
"postalCode": "60601",
"country": "US",
"type": "mailing",
"primaryIndicator": true
}],
"phones": [{
"number": "+13125551234",
"type": "mobile",
"primaryIndicator": true
}],
"memberProducts": [{
"product": { "name": "FSA" },
"effectiveDate": "2026-01-01"
}],
"memberAccounts": [{
"product": { "name": "FSA" },
"electionAmount": 2850.00
}],
"memberCardPreferences": {
"planName": "ACME_PLAN_2026",
"cardPackageName": "ACME_CARD_STANDARD"
},
"idempotencyKey": "enrollment-john-smith-001"
}'Enroll a Member: HRA
HRA doesn't require an election amount — the employer defines the benefit structure.
curl -X POST "https://sandbox.lynx-fh.co/api/v1/member" \
-H "Authorization: Bearer {your_api_token}" \
-H "Content-Type: application/json" \
-d '{
"clientMemberId": "EMP-002",
"clientOrg": { "name": "ACME_CORP" },
"firstName": "Sarah",
"lastName": "Johnson",
"addresses": [{
"addressLine1": "789 Pine St",
"city": "Austin",
"state": "TX",
"postalCode": "78701",
"country": "US",
"type": "mailing",
"primaryIndicator": true
}],
"phones": [{
"number": "+15125551234",
"type": "mobile",
"primaryIndicator": true
}],
"memberProducts": [{
"product": { "name": "HRA" },
"effectiveDate": "2026-01-01"
}],
"memberCardPreferences": {
"planName": "ACME_PLAN_2026",
"cardPackageName": "ACME_CARD_STANDARD"
},
"idempotencyKey": "enrollment-sarah-johnson-001"
}'Enroll a Member: ICHRA
ICHRA members typically receive a virtual card to pay health insurance premiums. No election amount — the employer defines allowance tiers by employee class.
ICHRA-specific considerations
- Members typically get virtual cards (no physical card)
- Card is used to pay insurance premiums directly
- Allowance tiers are configured at the Client Org or plan level, not per-member at enrollment
- For ICHRA platforms managing multiple employer groups, each employer group should be a separate child Client Org
curl -X POST "https://sandbox.lynx-fh.co/api/v1/member" \
-H "Authorization: Bearer {your_api_token}" \
-H "Content-Type: application/json" \
-d '{
"clientMemberId": "EMP-003",
"clientOrg": { "name": "EMPLOYER_GROUP_A" },
"firstName": "Michael",
"lastName": "Chen",
"addresses": [{
"addressLine1": "321 Elm Rd",
"city": "Seattle",
"state": "WA",
"postalCode": "98101",
"country": "US",
"type": "mailing",
"primaryIndicator": true
}],
"phones": [{
"number": "+12065551234",
"type": "mobile",
"primaryIndicator": true
}],
"memberProducts": [{
"product": { "name": "ICHRA_PREM_PLUS" },
"effectiveDate": "2026-01-01"
}],
"memberCardPreferences": {
"planName": "ZORRO_PLAN_2026",
"cardPackageName": "ZORRO_VIRTUAL_CARD"
},
"idempotencyKey": "enrollment-michael-chen-001"
}'Enrolling a Member with Multiple Products
A single enrollment request can include multiple products.
Common combinations
- FSA + LPFSA
- FSA + Commuter
- HRA + Commuter
curl -X POST "https://sandbox.lynx-fh.co/api/v1/member" \
-H "Authorization: Bearer {your_api_token}" \
-H "Content-Type: application/json" \
-d '{
"clientMemberId": "EMP-004",
"clientOrg": { "name": "ACME_CORP" },
"firstName": "Emily",
"lastName": "Davis",
"dateOfBirth": "1990-04-22",
"addresses": [{
"addressLine1": "555 Market St",
"city": "San Francisco",
"state": "CA",
"postalCode": "94102",
"country": "US",
"type": "mailing",
"primaryIndicator": true
}],
"phones": [{
"number": "+14155551234",
"type": "mobile",
"primaryIndicator": true
}],
"memberProducts": [
{ "product": { "name": "FSA" }, "effectiveDate": "2026-01-01" },
{ "product": { "name": "Commuter" }, "effectiveDate": "2026-01-01" }
],
"memberAccounts": [
{ "product": { "name": "FSA" }, "electionAmount": 2000.00 },
{ "product": { "name": "Commuter" }, "electionAmount": 315.00 }
],
"memberCardPreferences": {
"planName": "ACME_PLAN_2026",
"cardPackageName": "ACME_CARD_STANDARD"
},
"idempotencyKey": "enrollment-emily-davis-001"
}'What Happens Next
Unlike HSA, plan-owned enrollments don't go through KYC. The flow is immediate:
- Lynx validates the request — checks required fields, product configuration, election limits
- Member created — status
ACTIVE - Member product(s) created — status
Account_Active - Member account(s) created — balance set based on funding model
- Card issued — physical or virtual based on card package configuration
Typical timeline
- Enrollment submitted → Member active: Immediate
- Card issued: Within minutes (virtual) or 5-7 business days (physical via USPS)
Funding: How Members Get Access to Funds
Plan-owned accounts don't have member contributions like HSA. Funds come from the plan.
Good Faith Funding
Lynx loads the member's full election amount on day one. The member can spend up to their full annual election immediately, even though the employer hasn't fully funded it yet.
Example: Member elects $2,400 FSA. On January 1, member can spend up to $2,400 even though employer has only contributed $200 via payroll so far.
How it works
- Member enrolls with election amount
- Lynx makes full election available to member
- Employer submits contributions each pay period
- Lynx reconciles contributions against member spend
- If member leaves mid-year with negative balance, employer is responsible
Your responsibility
- Submit contribution files via SFTP or API on a regular cadence
- Ensure omnibus FBO account maintains sufficient balance for aggregate member spend
Fully Funded
Plan funds the member's benefit amount upfront before member can spend. Plan would fund the FBO Contribution account and transfer funds from the FBO Contribution to the Client Org Omnibus and associated member account.
How it works
- Member enrolls
- Plan funds the member's account
- Member can spend once funds are posted
Your responsibility
- Fund member accounts before members expect to transact
- Monitor account balances
Payroll Deduction
Common for FSA and Commuter. Contributions come in regularly based on payroll.
How it works
- Member enrolls with election amount
- Each pay period, employer submits contribution file with per-member amounts
- Lynx posts contributions to member accounts
- If Good Faith is enabled, member can spend ahead of contributions
Your responsibility
- Submit contribution files each pay period
- File format and SFTP details provided during implementation
For TPAs: Managing Multiple Employer Groups
If you're a TPA or ICHRA platform, each employer group should be a separate child Client Org.
Workflow
1. Create child Client Org for the employer group
curl -X POST "https://sandbox.lynx-fh.co/api/v1/clientOrg" \
-H "Authorization: Bearer {your_api_token}" \
-H "Content-Type: application/json" \
-d '{
"clientOrg": {
"name": "EMPLOYER_ABC_2026",
"clientOrgParent": { "name": "YOUR_TPA_ORG" }
},
"clientOrgProducts": [
{ "product": { "name": "FSA" } },
{ "product": { "name": "LPFSA" } }
],
"addresses": [{
"addressLine1": "100 Corporate Blvd",
"city": "New York",
"state": "NY",
"postalCode": "10001",
"country": "US",
"type": "business",
"primaryIndicator": true
}],
"clientOrgContacts": [{
"firstName": "HR",
"lastName": "Admin",
"primaryIndicator": true,
"emails": [{ "address": "[email protected]", "primaryIndicator": true }],
"phones": [{ "number": "+12125551234", "type": "work", "primaryIndicator": true }]
}],
"idempotencyKey": "create-employer-abc-001"
}'2. Wait for Client Org to be active
Check status via GET /clientOrg/{name}.
3. Retrieve plan summary for the child org
curl -X GET "https://sandbox.lynx-fh.co/api/v1/clientorg/EMPLOYER_ABC_2026/plan/summary" \
-H "Authorization: Bearer {your_api_token}"4. Enroll members into the child org
curl -X POST "https://sandbox.lynx-fh.co/api/v1/member" \
-H "Authorization: Bearer {your_api_token}" \
-H "Content-Type: application/json" \
-d '{
"clientMemberId": "ABC-EMP-001",
"clientOrg": { "name": "EMPLOYER_ABC_2026" },
"firstName": "Tom",
"lastName": "Wilson"
}'Key points for TPAs
- Each employer group = one child Client Org
- Child orgs inherit parent's program but can have different products enabled
- Members are enrolled into the child org, not the parent
- Contributions are submitted per child org
- Reporting can be aggregated at parent level or segmented by child
See Client Org Management Guide for full details.
Also Offering HSA?
Many TPAs and employers offer both HSA and FSA/HRA. You can enroll a member into both in a single request.
Important: When combining HSA with plan-owned products, include all HSA-required fields (SSN, DOB, healthPlanCoverageType) since HSA is more restrictive.
curl -X POST "https://sandbox.lynx-fh.co/api/v1/member" \
-H "Authorization: Bearer {your_api_token}" \
-H "Content-Type: application/json" \
-d '{
"clientMemberId": "EMP-005",
"clientOrg": { "name": "ACME_CORP" },
"firstName": "Lisa",
"lastName": "Park",
"ssn": "111-11-1111",
"dateOfBirth": "1988-07-30",
"healthPlanCoverageType": "Family",
"addresses": [{
"addressLine1": "999 Health Way",
"city": "Denver",
"state": "CO",
"postalCode": "80202",
"country": "US",
"type": "mailing",
"primaryIndicator": true
}],
"phones": [{
"number": "+17205551234",
"type": "mobile",
"primaryIndicator": true
}],
"emails": [{
"address": "[email protected]",
"primaryIndicator": true
}],
"memberProducts": [
{ "product": { "name": "HSA" }, "effectiveDate": "2026-01-01" },
{ "product": { "name": "LPFSA" }, "effectiveDate": "2026-01-01" }
],
"memberAccounts": [
{ "product": { "name": "LPFSA" }, "electionAmount": 2850.00 }
],
"memberCardPreferences": {
"planName": "ACME_PLAN_2026",
"cardPackageName": "ACME_CARD_STANDARD"
},
"idempotencyKey": "enrollment-lisa-park-001"
}'What happens
- Lynx separates products: HSA (KYC required) vs. LPFSA (no KYC)
- LPFSA is approved immediately
- HSA goes through KYC
- If KYC passes, both products are active
- If KYC fails, LPFSA remains active but HSA is denied
See Consumer-Owned Accounts Quick Start for HSA-specific details.
Sandbox Testing
No special test data is needed for plan-owned products since there's no KYC. Any valid data will result in immediate approval.
Tips
- Use realistic but fake member data
- Test with different election amounts to verify limits
- Test multi-product enrollment
- Test the contribution flow
After Enrollment
| Next Step | Section |
|---|---|
| Submit contributions (payroll, employer funding) | Contribution / Member Payments |
| Display card details to member | Cards |
| Add another employer group (TPAs) | Client Org Management Guide |
Updated 8 days ago
