Payslip Parser

Extract earnings, deductions, and net pay from payslips.

Drag & drop your document here

Supports PDF, JPG, PNG, WEBP

A payslip packs a lot of figures into a small space — gross pay, a column of earnings, a column of deductions, and the net amount that actually reaches the bank. Docyield reads a payslip from a PDF or a photo and returns all of it as structured data: the employee and employer, the pay period and pay date, the gross and net totals, the currency, and itemised earnings and deductions. Export the result as JSON, CSV, Excel, or XML and the numbers arrive ready to use.

Payroll runs on repetition, and repetition is where manual data entry costs the most. Re-keying payslip figures for accounting, expense claims, or a mortgage application is slow and easy to get wrong. Pulling each line into its own field means earnings and deductions stay separate and properly signed, so the breakdown reconciles to the totals automatically instead of being something you tally by hand.

Inputs
PDF, JPG, PNG, WEBP
Outputs
JSON · CSV · Excel · XML
Price
Free · no signup

What a payslip parser captures

A payslip parser converts a pay statement into a consistent set of fields. At the top sit the identifying details — who was paid, by whom, for which period, and on what date. Below that sit two breakdowns: the earnings that build up to gross pay, and the deductions that are taken from it. The parser separates those two lists, keeps the headline gross and net figures, and records the currency the slip is denominated in.

The value is in the line-level detail. A payslip might show base salary, overtime, a bonus, and a shift allowance as separate earnings, and income tax, social contributions, a pension contribution, and a student-loan repayment as separate deductions. Docyield returns each as a named line with its own amount, so you get the full structure rather than just the two summary numbers at the bottom.

Why structured payroll data beats retyping

Reading a payslip into a spreadsheet by hand means transcribing a dozen or more figures, each of which has to be right. A single transposed digit in a deduction throws off the net, and the error is easy to miss because every number on the page looks plausible. Structured extraction removes the keying entirely and, with it, the most common source of payroll data mistakes.

Because the output follows a fixed schema, the same field always carries the same meaning. Net pay is net pay on every slip, whether the employer labelled it "take-home", "net", or "amount paid". That consistency is what lets you compare pay across periods, aggregate across employees, or import a batch of slips without re-checking what each column means.

Who uses payslip parsing

  • Payroll and HR teams reconciling pay runs and keeping employee records up to date.
  • Accountants and bookkeepers posting payroll figures into the ledger.
  • Employees compiling earnings for a loan, mortgage, visa, or tax-return application.
  • Lenders and letting agents verifying income from submitted payslips.
  • Finance teams analysing labour costs by breaking out earnings and deductions across staff.
  • HR and fintech products that let users upload a payslip to populate a profile.

Reconciling earnings, deductions, and net pay

Keeping earnings and deductions as separate, itemised lists makes the slip self-checking. The earnings should sum to gross pay, and gross pay minus the deductions should equal net pay. With every line in its own field, that relationship is trivial to verify in a formula — a quick reconciliation that catches a mis-read figure before it reaches your books or a payroll record.

The same structure supports analysis you cannot easily do on paper. Pivoting deductions across a workforce shows total tax or pension contributions for a period; comparing earnings lines across months reveals overtime or bonus trends. None of that is practical while the data is locked inside PDFs, and all of it falls out naturally once the figures are in columns.

Accuracy and what to verify

Payslips are usually clean digital documents, which helps, but no extraction is perfect and we will not claim it is. Faint payroll-system fonts, dense multi-column layouts, and photographed slips taken at an angle are where character recognition can slip. A straight, sharp scan reads better than a quick phone snapshot, and it is worth taking the clearer image when you can.

Where a line is genuinely not present on a slip, the field comes back empty rather than being filled with a guessed amount — a blank is far safer than a wrong figure in a pay record. The most reliable check is to confirm that gross pay minus total deductions equals net pay; if it reconciles, the breakdown is almost certainly complete, and if it does not, you know exactly which line to review.

Proving income from a payslip

Beyond payroll back-office work, payslips are the document people are asked for whenever they need to prove income — a mortgage or loan application, a rental agreement, a visa, or a benefits claim. The party reviewing them wants the same handful of figures every time: who the employer is, the pay period, gross pay, and net pay. Extracting those into consistent fields turns a pile of submitted slips into a comparable dataset a lender or agent can assess quickly.

For the employee, the same extraction makes it easy to compile several months of pay into a single spreadsheet for an application, rather than transcribing each slip by hand. Because the figures come out typed and itemised, a reviewer can average earnings across periods or confirm that take-home pay is stable without re-reading every document — the kind of check income verification depends on.

Output formats, API, and batch

Every parse is available as JSON, CSV, Excel, or XML from the same result. CSV and Excel suit payroll reconciliation and ledger posting; JSON suits developers wiring payslips into an HR system; XML covers older payroll software. The free tool reads one slip at a time, which fits an individual checking a payslip or an occasional reconciliation.

When you are processing a whole pay run or onboarding historical slips, the Docyield API and batch dashboard run the same extraction at scale, with webhook delivery and your own validation rules. The schema does not change between the free tool and the API, so what you test here is what you receive in production.

What the payslip parser extracts

Each payslip is returned against a fixed schema. Lines that are not present on the slip come back empty rather than guessed.

Employee name
The name of the employee being paid.
Employer name
The name of the employer or company.
Pay period
The period the payslip covers.
Pay date
The date the payment was made.
Gross pay
Total earnings before deductions for the period.
Net pay
Take-home pay after all deductions.
Currency
The currency code or symbol used on the slip.
Earnings
Each earning line — base pay, overtime, bonus, allowances — with its name and amount.
Deductions
Each deduction line — tax, contributions, pension, repayments — with its name and amount.

How to extract data from a payslip

  1. 1Upload the payslip — drop a PDF, PNG, JPG, or WEBP onto the box above, or click to choose a file.
  2. 2Wait a few seconds while Docyield reads the slip and itemises the earnings and deductions.
  3. 3Check that gross pay minus deductions equals net pay to confirm the breakdown is complete.
  4. 4Choose your output tab — JSON, CSV, Excel, or XML.
  5. 5Download the file or copy the data into your payroll system, ledger, or spreadsheet.

Frequently asked questions

Processing documents at scale?

Batch upload, an extraction API, and webhooks for 100+ documents a month.

View the API

Related tools