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 normalizes pay stub data into consistent 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.
ADP uses one layout. Paychex another. Gusto, QuickBooks, and in-house payroll systems each invent their own. Sensible adapts to each provider while outputting the same JSON schema: gross pay, deductions, net pay, YTD totals.
One employer labels it '401(k)'. Another says 'Retirement Plan'. A third uses a payroll code. Sensible normalizes deduction labels across employers into consistent categories that your downstream systems can process without custom mapping.
Every pay stub shows both current-period and year-to-date figures, often in adjacent columns with similar labels. Extracting the wrong column produces silently incorrect data: a YTD gross of $45,000 where a current-period gross of $3,750 was expected. Sensible distinguishes the two and validates the math between them.
Fields we extract
Default fields cover income verification. Customize the schema for your lending or payroll audit workflow.
Employee name, employer name, pay period dates, pay date, gross pay, regular hours/rate, overtime hours/rate, bonuses, commissions
Federal tax, state tax, local tax, Social Security, Medicare, health insurance, dental, vision, 401k, HSA, garnishments
Net pay, current period totals, YTD gross, YTD net, YTD federal tax, YTD state tax, YTD Social Security, YTD Medicare
Intuit QuickBooks payroll stub with customizable earnings categories.
Non-standard employer-generated pay stub with variable formatting.
Gusto-generated pay statement with earnings breakdown and tax withholdings.
ADP-generated pay stub with earnings, deductions, taxes, and YTD totals.
Paychex format covering gross pay, net pay, and benefit deductions.
Supported pay stub formats
Pre-built templates cover major payroll providers. Any employer or provider format can be configured using SenseML. The hybrid approach handles layout variation while deterministic rules enforce output accuracy.
ADP, Paychex, Gusto, QuickBooks, Paylocity, Rippling, custom employer formats
Salaried, hourly, commission-based, mixed compensation, contractor payment summaries



Common Questions
Answers about payroll provider support, deduction normalization, and YTD validation.
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.
Yes. Pay stubs vary by payroll provider and employer. Pre-built pay stub templates are available in the configuration library. Sensible adapts to any format and outputs consistent JSON.
Yes. Sensible captures current period and YTD totals for gross pay, net pay, federal tax, state tax, Social Security, Medicare, and each deduction line.
Sensible extracts each deduction line with type (health insurance, 401k, HSA, garnishment), current period amount, and YTD total.
Yes. Sensible sends extraction results to your webhook endpoint when processing completes. You can also poll the API for status.
Yes. Sensible flags extractions with low confidence for human review. You can configure review thresholds and workflows.
Sensible is SOC 2 Type II certified and HIPAA compliant. Data is encrypted in transit and at rest.
Document data is stored indefinitely by default. Custom retention policies are available and can be configured for same-day deletion if needed.
Yes. Sensible offers a 14-day free trial on the Growth plan. No credit card required to start.
Sensible uses per-document pricing for predictable costs. No token-based billing or usage surprises. Volume discounts are available for higher throughput.
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.
Sensible processes PDFs (native or scanned), Microsoft Word (DOC, DOCX), spreadsheets (XLSX, XLS, CSV), single-page images (JPEG, PNG), multi-page images (TIFF), and email bodies with attachments.
Accuracy depends on document quality and configuration. Most production deployments achieve 95%+ accuracy with proper validation rules and confidence signals.
Processing speed depends on document size, page count, OCR requirements, and which extraction methods are used. Simple single-page documents process in seconds. Larger or more complex documents that use LLM-based extraction take longer.
