ACA filings, done right. Not bolted onto a benefits vendor.
Plain Dot prepares, e-files, and corrects ACA Forms 1095-B and 1095-C through IRIS — for self-insured employers, ALEs, and the carriers behind them. We reconcile payroll, benefits, and time tracking to catch eligibility errors before the IRS does.


Three penalty regimes stack on top of each other.
Most companies only see the bill after the IRS sends a 226-J letter. With Plain Dot, the eligibility logic runs before the filing goes out — not after.
Up to $310 per incorrect 1095 filed.
Doubled for intentional disregard. Multiplied by employee count — the per-form penalty most companies don't see until the IRS notice arrives.
Employer shared responsibility.
Assessed against ALEs that didn't offer minimum essential coverage to enough full-time employees. Often six figures, on a single tax year.
Coverage offered, but not affordable.
Assessed when coverage was offered but didn't meet affordability or minimum value. Smaller per-employee, but accrues monthly.
Two ways to file. Same eligibility engine.
Hand it to us, or run it yourself on our rails. Either way, the eligibility logic runs before the filing goes out — not after the 226-J arrives.
Send us the exports. We run the season.
Send us your payroll, benefits, and time-tracking exports. We reconcile, run eligibility logic, file, and deliver to recipients.
- Reconciliation across payroll, benefits, and time tracking
- Eligibility, Line 14 / Line 16, and affordability computed
- IRIS submission with corrections on demand
- Recipient delivery — email, mail, or both
Import the data. Review what we computed.
Import via API or CSV. Review the eligibility logic and the offer / safe-harbor codes we computed. Submit on your timeline.
- REST API or CSV import — same eligibility engine
- Per-employee, per-month code review before filing
- Idempotent IRIS submission, webhooks on every state
- Corrections and prior-year amendments on demand
Built for the teams the IRS is actually looking at.
Multi-state, variable-hour workforces.
50+ FTE employers where eligibility — not the forms — is the hard part.
1095-Cs across hundreds of client EINs.
Controlled group rules, aggregated reporting, per-client delivery.
1095-B regardless of size.
Member-level coverage reporting, PHI-grade controls, BAA-ready.
1095-B at scale.
Fully-insured group plans, high-volume member files, IRIS A2A.
Controlled group aggregation.
Aggregated ALE determination across §414(b), (c), (m), (o) entities.
Variable-hour and seasonal employees.
Look-back measurement, stability periods, admin periods handled end-to-end.
The edges where most ACA filings break.
Codes, safe harbors, look-back periods, and controlled group rules — handled end-to-end, not bolted on at the end of the year.
- Line 14 offer codes (1A–1S)We compute the right code for every employee, every month. No more spreadsheet logic that breaks at the edges.
- Line 16 safe-harbor codes (2A–2H)Affordability safe harbors — Form W-2, rate of pay, federal poverty line — applied per the employee's actual facts.
- Variable-hour and seasonalLook-back measurement, stability periods, and admin periods handled end-to-end.
- New hires and mid-year changesWaiting periods, partial-month coverage, COBRA, terminations — coded correctly without manual review.
- Controlled groupsAggregated ALE determination across related entities under §414(b), (c), (m), and (o).
From scattered exports to clean 1095s on file.
Pull from payroll, benefits, time, and HRIS.
Direct integrations with Gusto, Rippling, ADP, Paychex, Workday — plus benefits admin, time tracking, and HRIS. Or CSV upload.
Match employees across systems.
Detect missing coverage data, plan offering gaps, and employees who appear in payroll but not benefits. Flagged before they become 1095 errors.
Eligibility, affordability, look-back, TIN match.
Full-time / variable-hour / part-time status. Affordability safe harbors. Look-back measurement. Controlled group aggregation. TIN match every recipient.
Deterministic IRIS XML, A2A submission.
Idempotent retries. Recipient delivery via email or print. Corrections handled on demand.
Filings that survive IRIS outages and last-minute corrections.
Submissions queue and replay automatically. Corrections cycle on demand. Prior-year amendments any time the data changes.
- Queued through IRIS outagesSubmissions replay automatically — no manual retry.
- Idempotent retriesDuplicate submissions collapse to one filing.
- Webhooks for every stateIngested · validated · filed · accepted · corrected · delivered.
- Prior-year amendmentsAvailable any time the underlying data changes.
A clean API for filing 1095s.
REST endpoints, idempotent by default, sandbox included. Available as an MCP server for agents and internal tools — see /api-rails.
const filing = await api.create1095C({
employer: {
ein: "12-3456789",
name: "Acme Corporation",
applicableLargeEmployer: true
},
employees: [{
tin: "123-45-6789",
name: "Jane Smith",
monthlyOfferCodes: ["1A","1A","1A","1A","1A","1A",
"1A","1A","1A","1A","1A","1A"],
safeHarborCodes: ["2C","2C","2C","2C","2C","2C",
"2C","2C","2C","2C","2C","2C"],
employeeRequiredContribution: 0
}]
});
if (filing.status === "ACCEPTED") {
console.log("Submitted to IRIS:", filing.submissionId);
}Pay for what you file.
Eligibility logic, TIN matching, and IRIS submission are included on every plan — not a separate line item.
For small 1095-C filers.
- 50 1095s per year
- 1095-C only
- TIN match included
- Email support
For ALEs and self-insured employers.
- 500 1095s per year
- Both 1095-B and 1095-C
- Full eligibility logic
- Corrections included
For PEOs and multi-entity groups.
- 5,000 1095s per year
- Recipient delivery
- Controlled group aggregation
- Dedicated CSM
For carriers and large self-insured employers.
- Unlimited volume
- SLA-backed · SSO
- BAA for PHI
- Private cloud option
Real teams, real ACA seasons.
"Our previous vendor treated each subsidiary as its own ALE. Plain Dot flagged the controlled group on day one. That alone saved us a 226-J letter."
"Our HR team used to spend every weekend in January and February on ACA. This year they didn't touch it."
"Since the rules came in we'd had at least one correction cycle every year. First year with Plain Dot, no corrections."
Stop dreading ACA season. Start one filing on us.
Tell us your filer profile — ALE, PEO, self-insured employer, or carrier — and we'll route you to the right person.