Workforce, chapter 05 of 63
PEOs & Co-Employment
The client service agreement, worksite employees, master health plans as MEWAs, CPEO certification and bonds, state licensing, wage base restarts and exits.
A professional employer organization takes a small business's employees onto its own payroll, its own benefit plans and often its own workers' compensation policy, while the business keeps directing the work. The worker has two employers at once, for different purposes, and the contract between them says which one does what. The bargain is scale: a 25-person company gets the health plan, the 401(k) and the HR staff of a PEO with hundreds of thousands of worksite employees, and the PEO earns a markup on everything it pays. NAPEO counts 502 PEOs serving about 233,000 client businesses, with $446 billion of industry revenue (its page updated September 28, 2026), and the largest are public: Insperity averaged 310,089 worksite employees paid a month in 2025, TriNet 333,886, and ADP TotalSource had more than 770,000 at June 30, 2026.
Co-employment splits every employer duty in this volume between two parties, and each law draws the line in its own place. For federal employment taxes, an IRS-certified PEO is "the employer" of its worksite employees "and no other person"; a PEO without certification is a payer jointly liable with its client. For ERISA, a PEO health plan covering two or more clients is a multiple employer welfare arrangement whatever the contract says. For state unemployment insurance, some states put the worker on the PEO's account and some keep the client's account alive under the PEO's name. For state licensing, 42 states have a PEO statute. This chapter works through the client service agreement and its allocation of duties, the worksite employee and the 85% rule, master health plans, workers' compensation in a sentence, CPEO certification and the bond, state licensing, unemployment accounts and wage base restarts, and the ASO and EOR contrasts, ending with what leaving a PEO takes. Who Runs Payroll: Agents & Liability covers the IRS arrangements side by side, and How Payroll Providers Make Money covers PEO revenue and margins.
How the Platforms Do It#
As of November 2026, from 10-Ks, the IRS's active CPEO list "as of August 2026," the Justworks registration statement and pricing pages:
| PEO | Scale | CPEO status | Benefits and risk | How it reports revenue |
|---|---|---|---|---|
| ADP TotalSource | More than 19,000 clients and 770,000 worksite employees in all 50 states (June 30, 2026) | ADP TotalSource entities on the IRS list, effective January 1, 2017 | Workers' compensation through ADP Indemnity, "deductible reimbursement insurance protection" up to $1 million per occurrence | PEO revenue "net of direct pass-through costs, primarily consisting of payroll wages and payroll taxes," including $4,607.3 million of zero-margin benefits pass-throughs |
| Insperity | 310,089 average worksite employees paid per month (2025); client retention 83% | "Our two primary PEO subsidiaries are CPEOs" | Payroll taxes, benefits and workers' compensation as direct costs | Revenue is gross billings less worksite employee payroll cost, "solely of the markup" |
| Justworks | More than 9,000 customers and over 160,000 worksite employees (May 31, 2022, the last public figure) | Justworks Employment Group entities on the IRS list since January 1, 2017; certification suspended November 15, 2019 and restored as of September 30, 2020 | Per employee per month pricing | Withdrew its IPO registration in July 2022; no current filings |
| Paychex PEO | Part of 2.6 million worksite employees supported by HR Outsourcing Solutions (May 31, 2026) | Paychex PEO entities on the IRS list | Assumes "the risks and rewards of certain workers' compensation insurance and certain health insurance offerings" | PEO and Insurance Solutions revenue of $1,433.2 million, with $563.2 million of PEO direct insurance costs |
| TriNet | 333,886 average and about 323,200 year-end worksite employees (2025); about 39,700 ASO users | TriNet HR entities on the IRS list | "Fully insured risk-based, and fully insured guaranteed-cost" health policies; workers' compensation risk "up to $1 million per claim occurrence" | Professional service revenues ($719 million) and insurance service revenues ($4,224 million) as separate lines |
| Deel | US PEO offered alongside its EOR | Not stated on its pricing page | Priced at $125 per employee per month | Private |
Three patterns run through the table:
- The big PEOs are certified. The IRS's August 2026 active list has about 120 legal entity rows, many of them several entities of one PEO group (ADP TotalSource alone has about 20). Certification is what lets a PEO tell clients the federal employment tax liability is the PEO's.
- Insurance is most of the money. TriNet's insurance service revenues are 84% of its total; ADP's zero-margin benefits pass-throughs are 65% of its PEO revenue; Paychex books PEO insurance costs against PEO revenue. A PEO is an insurance buyer and, through deductibles, partly an insurer.
- Counts aren't comparable. Paychex's 2.6 million "worksite employees" is HR Outsourcing Solutions overall, broader than co-employment; Insperity counts worksite employees paid per month; TriNet reports average and year-end; ADP gives a year-end count. A system storing PEO metrics stores the definition with the number.
The Client Service Agreement#
Every PEO relationship is a written contract, and the law in each layer requires one. IRC 7705(e)(2) requires a CPEO's service contract to cover wages, tax withholding and payment, benefits, hiring and firing, employee records and the CPEO's treatment as employer, and the regulations define a CPEO contract as "a service contract between a CPEO and a customer that is in writing." Florida requires a written client agreement, written notice to workers, and a reserved right of direction and control including the "authority to hire, terminate, discipline, and reassign" (Fla. Stat. 468.525). Texas defines both parties: "'Coemployer' means a professional employer organization or a client that is a party to a coemployment relationship" (Tex. Lab. Code 91.001).
The agreement's working core is an allocation table: for each duty, whether the PEO, the client or both are responsible. A representative split, with the anchor for each line:
| Duty | Typically allocated to | Why |
|---|---|---|
| Paying wages from the PEO's accounts | PEO | IRC 7705(e)(2) and the CPEO contract; the PEO remits the wages |
| Federal income tax withholding, FICA and FUTA | PEO, under its EIN | IRC 3511 for a CPEO; Treas. Reg. 31.3504-2 for other PEOs, jointly with the client |
| State unemployment insurance | Depends on the state | Texas, Florida, Washington and Minnesota each differ (see Unemployment Accounts) |
| Workers' compensation | PEO's master policy or the client's own, by election | Texas lets "a license holder or client" elect the coverage (91.042); Florida makes it the leasing company's responsibility (468.529) |
| Health, dental, vision, life and disability plans | PEO's plans | Plans sponsored by the PEO, under ERISA's MEWA rules |
| Hiring, firing, discipline, scheduling and supervision | Client, with the PEO's reserved right in some states | The client directs the work; Florida reserves the leasing company's right of direction and control |
| Form I-9, wage-hour compliance on the floor, workplace safety | Client, often shared | The client controls the worksite and the hours; the PEO pays from the client's time records |
| Personnel records and the W-2 | PEO for payroll records and W-2s; client for workplace records | 7705(e)(2) names records; the PEO files the W-2s under its EIN |
The table is negotiable within the law, which is why it belongs in data: a duty the client keeps (say, a 401(k) plan it already sponsors) changes what the PEO's payroll deducts and remits, and a duty the PEO takes on is one its operations team must perform for that client.
Worksite Employees and the 85% Rule#
The unit a PEO counts, prices and files for is the worksite employee. For a CPEO, a work site employee is "a covered employee who performs services for such customer at a work site" where "at least 85 percent of the individuals performing services for the customer are covered employees" (Treas. Reg. 301.7705-1(b)(17)). Self-employed individuals count toward the 85%, and a self-employed person with net earnings from the customer's business, such as a partner in a customer partnership, isn't a worksite employee for what the CPEO pays them (IRC 3511(f)).
The 85% test is per work site, and it is a reason to count:
- An invented example. A customer has 40 people at its one site: 34 on the CPEO's payroll, 4 contractors and 2 partners. Covered employees are 34 of 40, or 85%: the site passes, and the 34 are worksite employees whose federal employment tax is the CPEO's alone.
- One more contractor. Hire a fifth contractor and the site has 34 of 41 covered, 82.9%. The 34 are still covered employees, but not worksite employees; for them, IRC 3511(c) makes the CPEO liable as employer for the wages it remits, and the customer may be liable too, which is exactly what certification was supposed to remove.
A PEO that sells certification's liability shift needs the denominator, not only its own payroll: everyone performing services at each site, including people the client pays outside the PEO.
Master Health Plans as MEWAs#
A PEO's own health plan is the product most clients join for, and ERISA classifies it by whose employees it covers. Section 3(40) defines a multiple employer welfare arrangement as a plan or arrangement "established or maintained for the purpose of offering or providing any benefit ... to the employees of two or more employers." The DOL's MEWA guide (updated April 2022) applies it directly: "A PEO plan or arrangement that offers or provides health coverage to employees of two or more client employers, or employees of both the PEO and one or more client employers, is a MEWA under Section 3(40)," and "A PEO's status or responsibilities as 'co-employer' under laws other than ERISA are not determinative." If the client employers "remain, in any respect, employers of the employees covered by the PEO's plan," the plan covers two or more employers' employees.
Three consequences follow:
- State insurance law reaches the plan. A fully insured MEWA that is itself an ERISA plan is subject to state law on reserves and contributions; one that isn't fully insured is subject to any state insurance law not inconsistent with ERISA; and a PEO arrangement that isn't an ERISA plan at all isn't preempted. Florida bars a licensed employee leasing company from sponsoring "a plan of self-insurance for health benefits" except as its insurance code or ERISA permits (468.529). TriNet describes its health coverage as fully insured.
- Form M-1. "The administrator of a MEWA regardless of whether the entity is a group health plan" files Form M-1 "on or before each March 1," registers "30 days prior to operating in any State," and files again within 30 days of operating in a new state or a material change (29 CFR 2520.101-2).
- The plan is the PEO's, the participation is the client's. A client joins the master plan for a period, its employees enroll under the plan's rules, and when the client leaves, its employees' coverage ends with its participation. Enrollment & Life Events covers enrollment; the plan's carrier side is Health Tech's.
Workers' compensation works the same way in outline: a PEO's master policy or deductible program covers clients' worksite employees, the PEO reports their payroll by class code to the carrier, and ADP and TriNet each disclose about $1 million per occurrence of retained risk. The Insurance volume's Workers' Compensation covers master policies and Rating Workers' Comp & Premium Audit covers premium audits; this volume's side is the payroll data that feeds them.
CPEO Certification#
Congress created certification in the Tax Increase Prevention Act of 2014 (P.L. 113-295, section 206), which "requires the IRS to establish a voluntary certification program," for wages paid on or after January 1, 2016. IRC 7705 sets the requirements and Treas. Reg. 301.7705-2 sets the mechanics. A CPEO applies through the IRS Online Registration System: identity verification, a responsible individual personal attestation, the controlled group, then the application, with fingerprints and background, FBI and credit checks for its responsible individuals, a majority of whom "must be citizens or residents of the United States." The ongoing obligations are what a CPEO's finance and tax teams calendar:
| Obligation | Rule | When |
|---|---|---|
| Bond | The greater of 5% of the prior calendar year's section 3511 liability, capped at $1,000,000, or $50,000, from a Treasury-approved surety "without posting collateral" | Bond period April 1 to March 31 |
| Audited financial statements | GAAP statements with a CPA's opinion and a statement on working capital; negative working capital allowed for at most "two consecutive fiscal quarters" at the IRS's discretion | "By the last day of the sixth month after the end of each fiscal year" |
| Quarterly assertion and examination | A responsible individual asserts, "under penalties of perjury," that federal employment taxes were withheld and deposited and working capital was positive; a CPA gives an examination-level attestation | "By the last day of the second month after the end of each calendar quarter" |
| Form 8973 | Notice of each customer contract starting or ending | Within 30 days |
| Electronic aggregate returns | Forms 941 and 940 with Schedule R, e-filed | With each return; waivers requested at least 45 days before the due date |
The bond, worked, with invented liabilities: a CPEO with $600,000 of section 3511 liability in 2025 owes the greater of 5% x $600,000 = $30,000 or $50,000, so $50,000. One with $12,000,000 owes 5% = $600,000. One with $30,000,000 would owe $1,500,000 at 5%, but the cap holds it to $1,000,000. Between $1,000,000 and $20,000,000 of liability the bond scales; above $20,000,000 it is flat, which is why the bond protects the IRS far more for a small CPEO than for ADP TotalSource.
The IRS "will suspend or revoke certification if the IRS determines, in its sole discretion" that a failure is a material risk to collection, with other discretionary grounds (taxes, criminal matters, false information), and a revoked organization "may not reapply ... until one year has passed." The IRS publishes active, suspended and revoked lists, updated "by the 15th day of the first month of each calendar quarter." Suspension happens to large PEOs too: Justworks disclosed that its certification was suspended on November 15, 2019 and that lifting the suspension as of September 30, 2020 "fully restored our status as a CPEO." A system serving CPEO customers checks the list each quarter and treats a suspension as a change in arrangement, not a footnote.
The Liability Shift, and What Doesn't Shift#
For worksite employees' wages, IRC 3511(a) moves federal employment tax liability to the CPEO alone. Everything else stays split:
- Non-certified PEOs. A PEO that "assert[s] that it is the employer or co-employer" and pays the client's workers is a designated payer under Treas. Reg. 31.3504-2, reporting under its own EIN; the client "remains subject" to the employer's obligations. A client of a non-certified PEO that fails to deposit can be assessed for the taxes.
- Credits. The research credit, the work opportunity credit and others stay with the customer (IRC 3511(d)).
- Related parties. A customer related to the CPEO under the 10% test gets no shift (3511(e)).
- State taxes and wage law. Certification is federal. State withholding, unemployment, paid leave contributions, wage-hour liability and final pay rules follow state law and the agreement.
State Licensing and Registration#
Insperity's 10-K counts "42 states have enacted legislation" recognizing PEOs or requiring licensing, registration or certification. The statutes differ in what they demand, and two large ones show the range:
- Texas (Labor Code chapter 91, administered by TDLR). A full license, or a limited license for a PEO that "employs fewer than 50 covered employees in this state at any one time" with no Texas-domiciled clients, office or solicitation (91.019). Positive working capital of $50,000 for fewer than 250 covered employees, $75,000 for 250 to 750 and $100,000 above 750, shown on statements "audited by an independent certified public accountant" without a going-concern qualification (or CPA-reviewed for a PEO with less than 12 months of operations), with guarantees, letters of credit or a bond allowed to cover a shortfall (91.014). The license is issued within 90 days of a complete application, lasts one year, and a new controlling person must be disclosed within 45 days (91.016). A license is required for each name and isn't transferable.
- Florida (chapter 468 part XI, "employee leasing"). An initial "tangible accounting net worth of not less than $50,000," ongoing net worth and positive working capital, and statements audited by an independent CPA with the application and within 120 days of fiscal year end, with a review allowed under $2.5 million of gross Florida payroll (468.525). "A licensed employee leasing company is the employer of the leased employees" for reemployment tax and workers' compensation (468.529).
For a PEO's compliance system, licensing is a registration per state with its own renewal date, financial tests and reporting, and the client's location decides which ones apply: a client with a remote employee in a new state can put the PEO into that state's regime.
Unemployment Accounts#
State unemployment insurance is where co-employment is least uniform, and the difference reaches the data model: whose account number goes on the wage report, whose experience sets the rate, and what happens when the client leaves.
| State | Model | Rule |
|---|---|---|
| Texas | PEO's account, client-level detail | The license holder is the employer for unemployment tax and "shall report quarterly to the Texas Workforce Commission" with each client's federal tax ID and industry code; it may count the client's earlier wages in the year toward the wage cap; when the contract ends the client "shall be treated as a new employer without a previous experience record" unless otherwise eligible (91.044) |
| Florida | PEO's account, with a one-time election | Leased workers "are considered employees of the employee leasing company," which "may make a separate one-time election to report and pay contributions under the tax identification number" of its clients, and the election "applies to all of the employee leasing company's current and future clients" (443.1216) |
| Washington | Client's account | "PEOs need to file quarterly tax and wage reports for each client company," per client or as a bulk file of separate reports, under the client's number; "both the PEO and the client company need to register" |
| Minnesota | Client's account assigned to the PEO | The client's tax account is assigned to the leasing company for the contract, "considered that person's account for all purposes," kept "separate and distinct," and "immediately assigned to the taxpaying employer" at termination (268.046) |
Insperity describes the consequence for its costs: some of its unemployment rates are "determined, in part, by each client's own compensation and unemployment experience," while others reflect Insperity's own. A system has to store, per client and per state, whether wages are reported under the client's account, the PEO's or a client account assigned to the PEO, because that decides the account number, the rate notice that applies, the wage base already used, and what the client's account looks like on the day it leaves. A 50-state map of these rules isn't published by an agency I could find; each state's workforce agency states its own.
Wage Base Restarts#
Social Security and FUTA wage bases are per employer: "the annual wage limitation does not apply to the aggregate remuneration received from all of such employers," and each employer's wages count up to the base separately (26 CFR 31.3121(a)(1)-1(a)(3)). The only general exception is a successor that acquires "substantially all the property used in a trade or business" and keeps its workers, which may count the predecessor's wages (31.3121(a)(1)-1(b)). Joining a PEO isn't an acquisition of the client's property, so whether the year's bases carry over turns on certification:
- CPEO. IRC 3511(b) treats the CPEO and customer as successor and predecessor during the contract and in reverse when it ends, so wages already paid by the client count toward the base the CPEO applies, and the CPEO's wages count when the client takes payroll back.
- Non-certified PEO. No such rule. A PEO reporting under its own EIN starts each worker's federal wage bases at zero, by my reading of the regulation; the IRS pages I opened don't state the conclusion for PEOs directly.
- State bases. Texas lets the PEO count the client's earlier wages in the year toward the unemployment wage cap (91.044); other states follow their own successor and PEO rules.
Worked, with invented numbers, using the 2026 Social Security wage base of $184,500: an employee paid $20,000 a month moves with the client to a PEO on July 1, 2026. The client paid $120,000 from January through June.
| Social Security wages, employer side | Employer Social Security at 6.2% | |
|---|---|---|
| One employer all year | $184,500 (the base; $55,500 untaxed) | $11,439.00 |
| CPEO from July 1 (successor) | $120,000 + $64,500 = $184,500 | $11,439.00 |
| Non-certified PEO from July 1 (restart) | $120,000 + $120,000 = $240,000 | $14,880.00 |
The restart costs the employer side $3,441.00 for this one employee, and the employee has the same amount withheld again; FUTA restarts too, $7,000 a second time at the 0.6% net rate after the 5.4% credit, $42.00. Across 40 such employees, the employer side is $139,320 of avoidable tax. Certification's successor rule removes that cost, and without it my default is to start a client with a PEO on January 1.
ASO and EOR, the Contrasts#
| PEO (co-employment) | ASO | EOR | |
|---|---|---|---|
| Legal employer | Both; the PEO for payroll taxes and benefits, the client for directing work | The client alone | The EOR alone, abroad |
| EIN on federal returns | The PEO's (aggregate) | The client's | The EOR's local registrations |
| Benefit plans | The PEO's master plans | The client's own plans | The country's statutory benefits and the EOR's plans |
| Workers' compensation | The PEO's master policy, by election | The client's policy | Local statutory coverage |
| Unemployment account | By state | The client's | Local |
| Typical price | A markup or PEPM over the full employment cost | PEPM for software and service | A flat monthly fee per worker |
ASO is the PEO's software and service without co-employment; TriNet reports its ASO users separately. An EOR is a single employer in a country where the client has no entity, and Employer of Record & Global Employment covers it; Deel and others also sell a US PEO alongside their EOR, priced per employee per month.
Leaving a PEO#
An exit unwinds each layer, and each has its own clock:
- Federal taxes. The CPEO files Form 8973 within 30 days of the contract ending. IRC 3511(b) reverses the successor rule, so the client's own payroll continues the year's wage bases from the CPEO's wages. The client deposits under its own EIN again, on its own lookback history (Who Runs Payroll: Agents & Liability works the schedule change), and the wages the CPEO paid were reported under the CPEO's EIN on its aggregate returns.
- Unemployment. In Minnesota the client's account comes back "immediately"; in Texas the client is "a new employer without a previous experience record" unless it qualifies otherwise, which can mean a different rate; in Washington the client's account never left.
- Benefits. The client's participation in the master plan ends, and it needs its own plans in force on the exit date with enrollments loaded, or coverage lapses for every employee at once.
- Workers' compensation. Coverage under the PEO's master policy ends with the contract, and the client needs its own policy bound for the same date.
- Records and year to date. The new provider needs year-to-date wages, taxes and deductions by employee, split by the EIN they were reported under. Changing Providers Mid-Year covers loading them.
My default for an exit is January 1 for the same reason: it avoids mid-year state account, wage base and benefits transitions.
How to Build It#
The agreement, its allocation of duties, each worker's assignment to a client, and each client's participation in the PEO's plans extend employers, workers, tax_registrations and benefit_plans:
CREATE TABLE client_service_agreements ( -- the co-employment contract, one per client employer
id UUID PRIMARY KEY DEFAULT uuidv7(),
peo_employer_id UUID NOT NULL REFERENCES employers (id), -- the PEO's filing entity
client_employer_id UUID NOT NULL REFERENCES employers (id), -- the client's own EIN
arrangement TEXT NOT NULL CHECK (arrangement IN ('cpeo', 'designated_payer', 'aso')),
related_party BOOLEAN NOT NULL DEFAULT FALSE, -- the 10% test in 3511(e)
form_8973_start_filing_id UUID REFERENCES filings (id),
form_8973_end_filing_id UUID REFERENCES filings (id),
document_id UUID NOT NULL REFERENCES documents (id),
status TEXT NOT NULL CHECK (status IN ('proposed', 'signed', 'active',
'terminating', 'terminated')),
valid_during DATERANGE NOT NULL,
EXCLUDE USING GIST (client_employer_id WITH =, valid_during WITH &&)
);
CREATE TABLE duty_allocations ( -- who does what, per agreement and jurisdiction
agreement_id UUID NOT NULL REFERENCES client_service_agreements (id),
duty TEXT NOT NULL CHECK (duty IN ('wage_payment', 'federal_withholding',
'fica_futa', 'state_withholding', 'state_unemployment', 'paid_leave',
'workers_comp', 'health_plan', 'retirement_plan', 'i9', 'new_hire_report',
'hiring_firing', 'supervision', 'wage_hour', 'cobra', 'w2')),
jurisdiction_id UUID REFERENCES tax_jurisdictions (id), -- null when not jurisdictional
responsible TEXT NOT NULL CHECK (responsible IN ('peo', 'client', 'shared')),
basis TEXT NOT NULL, -- 'irc_3511', 'tx_lab_91_042', 'contract', ...
valid_during DATERANGE NOT NULL,
EXCLUDE USING GIST (agreement_id WITH =, duty WITH =,
COALESCE(jurisdiction_id, '00000000-0000-0000-0000-000000000000'::UUID) WITH =,
valid_during WITH &&)
);
CREATE TABLE worksite_employee_assignments ( -- a PEO worker assigned to a client's site
id UUID PRIMARY KEY DEFAULT uuidv7(),
worker_id UUID NOT NULL REFERENCES workers (id), -- the worker at the PEO employer
agreement_id UUID NOT NULL REFERENCES client_service_agreements (id),
work_location_id UUID NOT NULL REFERENCES work_locations (id),
is_worksite_employee BOOLEAN NOT NULL, -- covered employee at a site passing the 85% test
valid_during DATERANGE NOT NULL,
EXCLUDE USING GIST (worker_id WITH =, valid_during WITH &&)
);
CREATE TABLE site_coverage_tests ( -- the 85% rule, per site and period
agreement_id UUID NOT NULL REFERENCES client_service_agreements (id),
work_location_id UUID NOT NULL REFERENCES work_locations (id),
period DATERANGE NOT NULL,
covered_count INT NOT NULL, -- on the PEO's payroll
total_count INT NOT NULL, -- everyone performing services, incl. contractors
passes BOOLEAN GENERATED ALWAYS AS (covered_count * 100 >= total_count * 85) STORED,
PRIMARY KEY (agreement_id, work_location_id, period)
);
CREATE TABLE master_plan_participations ( -- a client in the PEO's plans
id UUID PRIMARY KEY DEFAULT uuidv7(),
agreement_id UUID NOT NULL REFERENCES client_service_agreements (id),
benefit_plan_id UUID NOT NULL REFERENCES benefit_plans (id), -- sponsored by the PEO
valid_during DATERANGE NOT NULL,
ends_reason TEXT CHECK (ends_reason IN ('agreement_ended', 'client_withdrew',
'plan_ended', 'nonpayment')),
EXCLUDE USING GIST (agreement_id WITH =, benefit_plan_id WITH =, valid_during WITH &&)
);
ALTER TABLE benefit_plans
ADD COLUMN sponsor_employer_id UUID REFERENCES employers (id), -- the PEO for a master plan
ADD COLUMN is_mewa BOOLEAN NOT NULL DEFAULT FALSE,
ADD COLUMN funding TEXT CHECK (funding IN ('fully_insured', 'self_funded',
'level_funded'));
ALTER TABLE tax_registrations
ADD COLUMN reporting_model TEXT NOT NULL DEFAULT 'own'
CHECK (reporting_model IN ('own', 'peo_account', 'client_account_by_peo',
'client_account_assigned')),
ADD COLUMN client_employer_id UUID REFERENCES employers (id); -- whose account it is
Design notes:
- Two employers, two rows. The PEO's filing entity and the client are both
employersrows; the worker belongs to the PEO's employer for payroll (itsworkersrow), and the assignment ties that worker to the client and the site by date. A client's own direct employees (people the client pays outside the PEO) are workers of the client employer, which is what the 85% test's denominator needs. - Allocations are rules, read by the engine. Payroll consults
duty_allocationsto decide whether to withhold, deposit and file a tax for a client in a state, and onboarding consults it to decide who completes the I-9 and the new hire report. A contract change is a new effective-dated row (Rules as Data). - The 85% test is computed and stored. Each period's counts and result are kept, so a worker's
is_worksite_employeeflag can be explained and a later IRS question about a site answered with the numbers. - Unemployment reporting is per registration.
reporting_modelsays whether a state account is the PEO's own, a client's account the PEO reports under, or a client account assigned to the PEO, andclient_employer_idsays whose, so wage reports, rate notices and exits route correctly. - Wage bases follow the arrangement. The accumulator key for a CPEO customer's worker includes the predecessor's year-to-date under 3511(b); for a designated payer it starts at the PEO, and the engine reads the agreement's arrangement to choose (The Core Data Model).
- Exits are workflows with dated steps. Terminating an agreement opens the Form 8973 filing, ends plan participations, reassigns unemployment accounts, ends the workers' comp coverage and exports year to date, each with its date and owner (Workflows).
Auditing#
- The agreement and its allocations as of any date, with the signed contract, so a dispute over who owed a duty reads the row in force.
- The CPEO's certification evidence: the bond and its period, the audited statements and their filing date, each quarter's assertion and attestation, and each Form 8973, against the dates in the regulations.
- Each site's 85% test with counts per period, and the workers it classified.
- Plan participation and MEWA filings: which clients were in which master plans when, and each Form M-1 with its date.
- State registrations and licenses: each state's license or registration, renewal and financial filing, and each unemployment account's reporting model and owner.
- Exits: the date each layer unwound and the records handed to the client (Audit Trails).
What This Means for the System You Build#
- Model the PEO and the client as two employers joined by a dated agreement, with each worker assigned to a client and a site.
- Store the allocation of duties as effective-dated rules the engine reads, per duty and jurisdiction.
- Compute the 85% test per site and period, including people the client pays outside the PEO.
- Treat master plans as MEWAs with participations per client and the Form M-1 calendar.
- Record each state's unemployment reporting model per registration, and plan exits around it.
- Choose wage base carryover from the arrangement: successor treatment for a CPEO, a restart for a designated payer.
- Check the IRS CPEO list every quarter and treat a suspension as a change in arrangement.
- Run exits as workflows across federal filings, state accounts, plans, workers' comp and year-to-date exports.
References#
Law and regulation
- 26 USC 3511, the CPEO as employer and no other person, the successor rule, liability for non-worksite employees, credits, related parties and self-employed individuals
- 26 USC 7705, certification requirements, the bond, financial review, the work site employee and contract requirements, the 85% rule, suspension and the public list
- 26 CFR 301.7705-1, the CPEO contract in writing and the work site employee and 85% definitions
- 26 CFR 301.7705-2, the bond and its period, audited statements and working capital, quarterly assertions and examinations, responsible individuals, suspension, revocation and reapplication
- 26 CFR 31.3504-2, the designated payor under a service agreement and joint liability
- 26 CFR 31.3121(a)(1)-1, the wage base per employer and the successor employer rule
- 29 USC 1002, ERISA section 3(40), the definition of a multiple employer welfare arrangement
- 29 CFR 2520.101-2, Form M-1 by MEWA administrators, the March 1 deadline and the 30-day registration
- Texas Labor Code 91.001, coemployer and PEO definitions
- Texas Labor Code 91.014, working capital tiers and audited statements
- Texas Labor Code 91.016, license issuance, term and change of control
- Texas Labor Code 91.019, the limited license
- Texas Labor Code 91.042, workers' compensation election
- Texas Labor Code 91.044, unemployment reporting by the license holder, the wage cap and the client as a new employer at termination
- Florida Statutes 468.525, employee leasing net worth, audited statements, the client agreement and the right of direction and control
- Florida Statutes 468.529, the leasing company as employer for reemployment tax and workers' compensation, and self-insured health plans
- Florida Statutes 443.1216, leased employees and the one-time election to report under clients' numbers
- Minnesota Statutes 268.046, the client account assigned to the PEO and returned at termination
Agency guidance and forms
- IRS: Certified Professional Employer Organization, the 2014 Act, the online registration steps and fingerprinting
- IRS: CPEO public listings, active, suspended and revoked lists and the quarterly update
- IRS: Active CPEOs (as of August 2026), the entity rows and effective dates for ADP TotalSource, Insperity, Justworks, Paychex PEO and TriNet entities
- IRS: Instructions for Form 8973, the 30-day notice of contract start and end
- IRS: Publication 15 (2026), CPEO e-filing and Schedule R, FUTA, and the 2026 Social Security wage base and rates
- DOL EBSA: MEWAs, A Guide to Federal and State Regulation, PEO plans as MEWAs, co-employer status not determinative, and state insurance law
- Texas TDLR: Professional Employer Organizations, full and limited licenses and working capital
- Washington ESD: Professional employer organizations, quarterly reports for each client company and registration by both
Filings
- ADP: Form 10-K for the fiscal year ended June 30, 2026, ADP TotalSource clients and worksite employees, PEO revenue net of pass-throughs, zero-margin benefits pass-throughs and ADP Indemnity
- Insperity: Form 10-K for 2025, average worksite employees, retention, CPEO subsidiaries, revenue as markup, direct costs, the 42 states with PEO laws and unemployment rates by client experience
- TriNet: Form 10-K for 2025, worksite employees, ASO users, revenue lines, fully insured health policies and the workers' compensation deductible layer
- Paychex: Form 10-K for the fiscal year ended May 31, 2026, co-employment, insurance risks, HR Outsourcing worksite employees and PEO revenue and insurance costs
- Justworks: Form S-1/A (June 27, 2022), customers, worksite employees, CPEO status and the 2019 to 2020 suspension
- Justworks: Registration withdrawal request (July 13, 2022), the withdrawn IPO
Vendor documentation
- Deel: Pricing, the US PEO at $125 per employee per month
In practice
- NAPEO: Industry statistics, 502 PEOs, about 233,000 clients and $446 billion of industry revenue, updated September 28, 2026