Extract pay stubs to structured JSON

Pay stubs detail earnings, deductions, taxes, and net pay for a given pay period. Every employer and payroll provider formats them differently. Sensible extracts pay stub data into validated JSON for income verification, lending decisions, and payroll auditing.

Why pay stubs resist standardized extraction

Thousands of employer formats and inconsistent deduction labels make pay stubs a normalization problem.

Payroll Provider Variation

ADP, Paychex, Gusto, and others each generate different layouts and field labels. Sensible handles all major providers and custom formats.

Bundled Applications

Pre-tax and post-tax deductions use different labels per employer. Sensible normalizes categories across formats.

Dense Checkbox Grids

Year-to-date totals must reconcile with current period amounts. Sensible extracts both and validation rules flag inconsistencies.

Fields we extract

Extract any data you need from pay stubs into your desired output schema

Earnings

Employee name, employer name, pay period dates, pay date, gross pay, regular hours/rate, overtime hours/rate, bonuses, commissions

Deductions and taxes

Federal tax, state tax, local tax, Social Security, Medicare, health insurance, dental, vision, 401k, HSA, garnishments

Net pay and YTD

Net pay, current period totals, YTD gross, YTD net, YTD federal tax, YTD state tax, YTD Social Security, YTD Medicare

QuickBooks Pay Stub

Intuit QuickBooks payroll stub with customizable earnings categories.

Generic Employer Pay Stub

Non-standard employer-generated pay stub with variable formatting.

Gusto Pay Stub

Gusto-generated pay statement with earnings breakdown and tax withholdings.

ADP Pay Stub

ADP-generated pay stub with earnings, deductions, taxes, and YTD totals.

Paychex Pay Stub

Paychex format covering gross pay, net pay, and benefit deductions.

Supported pay stub formats

Sensible processes pay stubs from any employer or payroll provider, many of which can be found in Sensible's template library. Any format can be custom configured within hours.

By payroll provider

ADP, Paychex, Gusto, QuickBooks, Paylocity, Rippling, custom employer formats

By pay type

Salaried, hourly, commission-based, mixed compensation, contractor payment summaries

Trusted by operations and engineering teams at

Common Questions

How Sensible extracts data from any pay stub.

Can Sensible validate pay stub calculations?

Yes. Validation rules can check that gross minus deductions equals net, that YTD totals are consistent, and that tax withholding percentages fall within expected ranges.

Does Sensible handle pay stubs from any employer?

Yes. Pay stubs vary by payroll provider (ADP, Paychex, Gusto, QuickBooks) and employer. Sensible adapts to any format and outputs consistent JSON.

Does Sensible extract year-to-date (YTD) totals?

Yes. Sensible captures current period and YTD totals for gross pay, net pay, federal tax, state tax, Social Security, Medicare, and each deduction line.

What deduction details does Sensible extract?

Sensible extracts each deduction line with type (health insurance, 401k, HSA, garnishment), current period amount, and YTD total.

Do you support webhooks?

Yes. Sensible sends extraction results to your webhook endpoint when processing completes. You can also poll the API for status.

Does Sensible support human review?

Yes. Sensible flags extractions with low confidence for human review. You can configure review thresholds and workflows.

What security certifications does Sensible have?

Sensible is SOC 2 Type II certified and HIPAA compliant. Data is encrypted in transit and at rest.

How long is document data retained?

Documents are deleted after 30 days by default. You can configure shorter retention periods or request immediate deletion via API.

Is there a free trial?

Yes. Sensible offers a free tier with 50 documents per month. No credit card required to start.

How is pricing structured?

Sensible uses per-document pricing for predictable costs. No token-based billing or usage surprises. Volume discounts are available for higher throughput.

How do I integrate with Sensible?

Sensible provides REST APIs and SDKs for Python and Node.js. Most integrations take a few hours. Webhooks, Zapier, and direct API calls are all supported.

What file formats does Sensible support?

Sensible processes PDF, PNG, JPG, and TIFF files. PDFs can be native or scanned.

How accurate is the extraction?

Accuracy depends on document quality and configuration. Most production deployments achieve 95%+ accuracy with proper validation rules and confidence scoring.

How fast is document processing?

Most documents process in 2 to 10 seconds depending on complexity and page count.