Complete the Finch Connect flow for each employer to obtain an employer-scoped access token
Request pay statements for a specific pay period: POST /employer/pay-statement with the payment_id values from the prior GET /employer/payment call
Finch may return a 202 Accepted with a job_id for large datasets — poll the job status endpoint until the status is complete
Once complete, retrieve the pay statement data which includes gross pay, net pay, taxes, and pre- and post-tax deductions per employee
Normalize the Finch common data model fields to your internal schema, handling provider-specific quirks via the remote_data field
Store pay statement snapshots for compliance and audit purposes, keyed by payment_id and individual_id
Known gotchas
Pay statement retrieval is a POST, not a GET, because it requires payment IDs as input — do not attempt to GET pay statements directly without first retrieving payment IDs from /employer/payment
Not all payroll providers expose line-item deduction details through Finch; some return only gross and net — check provider support in the Finch documentation before promising deduction-level data to downstream consumers
Finch has no batch-ID cap on the payment IDs array submitted to the pay-statement endpoint — submit all payment IDs in a single request to minimize API calls
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp