Collect a clean W-9 the first time.
Plain Dot requests, validates, and stores W-9s — running IRS TIN matching on every one before it lands in your system. No PDF chaos, no chasing contractors in December.


Three consequences, mapped to real exposure.
Backup withholding (IRC §3406), §6721 penalties on the 1099, and B-Notice fines months later. They stack.
Forgotten W-9s become real money fast. Collect them once, verify them at the moment of collection, and the exposure goes to whatever the IRS rejects on its own.
Get your custom quoteTwo ways to collect. One clean record.
Send it from us or embed it in your product. Either way, the same validation and same TIN match runs before the W-9 lands in your system.
We run the entire request.
We send the W-9 request from a branded URL, run the reminder cadence, validate the form, and deliver the clean record to your system via API or webhook.
- Branded request page — your logo, your domain
- Reminder cadence built and tuned for completion
- TIN match and validation before delivery
- Webhook or API delivery of the clean record
Drop our component into your flow.
Drop our W-9 component into your existing onboarding flow. Same validation, same TIN match, your branding.
- Lightweight React component, themeable end-to-end
- Lives inside your contractor onboarding screens
- Validation and TIN match identical to hosted
- Audit log delivered back through the same API
Built for the teams onboarding the most contractors.
Verified W-9 before the first payout.
Seller onboarding gated by a clean, TIN-matched W-9.
KYB plus W-9 in a single flow.
Same data, single review — no second onboarding round.
Contractor onboarding done right.
W-9 capture as a required step in your existing flow.
Vendors verified before invoices clear.
No more chasing a W-9 the day before a payment goes out.
Subcontractor onboarding at scale.
Annual re-verification handled without spreadsheets.
Disbursement-ready records.
Settlement payouts and provider payments with clean W-9s on file.
Keep collecting, even when contractors go quiet.
Reminders survive failed sends, bounced emails, and contractor email changes. TIN match results queue through IRS outages and never get lost. You set the retention policy. We enforce it.
- Automatic reminder cadenceConfigurable per workflow — daily, weekly, custom.
- Expiration trackingWe flag W-9s before they go stale and trigger re-verification.
- Annual re-verificationOne-click flow for high-volume contractor bases.
- Audit-ready storageRetention controls you configure, that we enforce.
From request to clean record on file.
Send the W-9 link your way.
By email, SMS, or embedded directly in your product. One request, one link, one record.
Mobile-first form, digitally signed.
The contractor fills the form on a clean mobile-first page, signs digitally, and submits.
Format checks and IRS TIN match.
We run format checks and an IRS TIN match in real time. Bad data never lands in your system.
Clean record delivered.
Via API, webhook, or CSV export. Audit log on every action, retention controls you configure.
A clean API for requesting W-9s.
REST endpoints, idempotent by default, sandbox included. Available as an MCP server for agents and internal tools — API Rails.
const request = await api.requestW9({
contractor: { email: "jane@example.com", name: "Jane Smith" },
reminderCadence: "weekly",
callbackUrl: "https://api.example.com/w9-complete"
});
// Webhook payload when the W-9 is validated:
// { status: "VALIDATED", tinMatch: "MATCH", w9Url: "https://..." }Pay for what you collect.
TIN matching is included on every W-9, on every plan — not a separate line item.
For small contractor bases.
- 50 W-9s per month
- Hosted or embedded
- TIN match included
- Email support
For finance teams onboarding monthly.
- 500 W-9s per month
- Reminder automation
- Annual re-verification
- Priority support
For high-volume contractor platforms.
- 5,000 W-9s per month
- SLA-backed
- Dedicated CSM
- Custom retention
Custom volume, SLAs, and contracts.
- Unlimited volume
- SSO + audit log
- Custom integrations
- Private cloud option
Real teams, real completion rates.
"Our completion rate went from 47% to 89% in the first quarter."
"What used to take us two months of email chasing now closes in under two weeks."
"Annual re-verification used to be a 60-day project. It's now a button."
Stop chasing W-9s. Start collecting them clean.
Tell us your contractor volume and we'll get you onboarded fast.