UK Payslip Extraction

Read a UK Payslip Screenshot from Sage or Xero — Gross Pay, PAYE Tax & Tax Code

Manually typing seven fields from a UK payslip into a spreadsheet takes about 2 minutes per slip — this reads the same seven in 5 seconds (24× faster), across Sage's dense grid and Xero's card layout, in one batch.

~5s per payslip · Up to 99% accuracy on printed payroll figures

Gross · Net · NI
PAYE + Tax Code
Pension + Employer NI
Sage + Xero Batch

Seven Fields That Make a UK Payslip Different from a US Paystub

The Employment Rights Act 1996 requires every UK employer to issue a payslip showing gross pay, fixed and variable deductions, and net pay. Type these seven column names — the AI pairs each with its label on any Sage or Xero payslip screen.

Gross Pay

Earnings before any deduction — base salary, overtime, bonus, commission

PAYE Tax (Pay As You Earn)

Income tax withheld monthly, set by the employee's tax code (e.g. 1257L)

National Insurance (NI)

Employee NI — category letter determines rate; shown separately from employer NI

Pension Contribution

Auto-enrolment employee contribution — minimum 5% of qualifying earnings

Employer NI (National Insurance)

Employer-side NI — a reference line that looks like a deduction but is not taken from your pay

Tax Code

1257L, BR, D0, or emergency codes (W1/M1) — the master key for verifying PAYE

Pay Period

Tax month/week number, pay date, and frequency (M1/W1)

One Sage or Xero payslip screenshot produces a row like this — including employer NI, which US stubs never show:

Gross PayPAYE TaxNIPensionEmployer NINet PayTax CodePay Period
£3,250.00£448.20£215.64£162.50£381.74£2,423.661257LMonth 4

Same HMRC Rules, Two Completely Different Payslip Layouts

A UK payslip carries more deduction categories than any US stub — PAYE (Pay As You Earn) income tax driven by a tax code, National Insurance (NI) contributions, pension auto-enrolment, and employer-side NI shown as a reference line. Sage renders this as a dense grid of rows and columns; Xero displays it in modern summary cards. Same legal data, entirely different visual structures.

"First pay day in the UK.. I don't understand."

r/UKPersonalFinance thread on a first UK payslip

That thread fills with the same confusion every month: what PAYE means, whether the NI line is the employee's share or the employer's, why the tax code is 1257L and not something else. The payslip is legally mandated but visually unconstrained — an employee who changed payroll software mid-year may hold payslips in two completely different formats.

Why UK Payslips Break Template-Based Extraction

01

Employer NI looks like a deduction but is not taken from your pay. Sage and Xero both print employer National Insurance as a separate line in the deductions block. A row-anchored parser copies both the employee NI and employer NI into the same column, inflating deductions by £300-400 per payslip.

02

Tax codes change between pay periods — and the code controls the entire PAYE calculation. A new job triggers an emergency code (1257L W1 or M1). A benefits-in-kind adjustment from HMRC changes the code mid-year. Template tools that ignore the tax code field lose the single field that explains why the PAYE amount changed.

03

Sage and Xero arrange the same fields in opposite layouts. Sage prints a dense table — labels on the left, values on the right, everything in rows. Xero uses summary cards with the same labels placed above each value. A positional template built on Sage's grid fails on every Xero payslip, and vice versa.

How Semantic Extraction Reads the UK Gross-to-Net Chain

01

Name the column, the AI finds the label-value pair. Type "PAYE Tax (Pay As You Earn)" and the model locates the figure paired with PAYE on a Sage row or a Xero card — without knowing that Sage uses a table and Xero uses cards. The label defines the field; the layout stops mattering.

02

Employer NI is kept separate by naming it explicitly. Define one column as "National Insurance (NI)" and another as "Employer NI (National Insurance)." The AI distinguishes the two by reading which line comes with "Employer" or "ER" in its label — the same way a human payroll clerk does.

03

Tax codes and emergency markers are captured verbatim. Whether the code is 1257L, BR, D0, K-code, or 1257L W1, the AI reads the exact string from the payslip header. One batch across Sage and Xero fills the same seven columns — the Sage payslip row and the Xero payslip row land side by side in one spreadsheet.

From a Sage Grid or Xero Card to a Payroll Row in Three Steps

1

Capture the Payslip While You Have Portal Access

In Sage, open the payslip from the employee self-service portal. In Xero, open it from My Payroll → Payslips. Screenshot the full document — Sage typically lays out the payslip as one long scrollable page, Xero uses a card-based view. If the payslip spans two screen heights, capture each section. Leaving a company deactivates both portals, so screenshot before your last day. JPG, PNG, or WebP.

2

Name the Seven Columns Once

Type Gross Pay, PAYE Tax (Pay As You Earn), National Insurance (NI), Pension Contribution, Employer NI (National Insurance), Tax Code, Pay Period. The AI locates each label on either Sage's dense grid or Xero's card layout, keeps employee NI and employer NI in separate columns, and captures the tax code exactly as printed — 1257L, BR, or an emergency code with its W1/M1 suffix.

3

Download One Row per Payslip or Pay Run

Each screenshot becomes one eight-column row — twelve months of Sage or Xero payslips become a clean salary history you can filter by tax code, compare gross-to-net ratios across pay periods, and hand to a mortgage broker or HMRC inquiry. About 5 seconds per payslip versus 2 minutes of manual entry (24× faster). Export as XLSX or CSV.

What a UK Payslip Screenshot Can Prove — and What It Cannot Do

The extracted spreadsheet is a faithful record of what the payslip shows. Here is where that is sufficient — and where the payslip still needs a payroll professional.

When It Works Best

Clear, full-resolution screenshots of Sage or Xero payslip pages. Machine-rendered payroll figures reach up to 99% accuracy on printed numbers and tax codes.

Sage and Xero payslips mixed in one batch. The same seven column names work across Sage's dense grid and Xero's card UI — the AI reads by label meaning, not by layout.

Building a multi-month payslip history for mortgage or visa applications. Batch twelve monthly captures and produce a spreadsheet showing gross pay, PAYE, NI, and net pay month over month.

When to Be Cautious

The tool does not compute tax liability or verify whether your PAYE deductions are correct. It extracts what the payslip shows — it cannot confirm whether your tax code should be 1257L, whether HMRC owes you a refund, or whether employer NI has been calculated at the correct rate.

Scrolled or truncated payslip screens lose lines below the fold. Sage often renders the full payslip on one long page — if your screenshot only captures the top half, the Net Pay line at the bottom is missing from the image and cannot be extracted.

Student loan and attachment-of-earnings deductions are extracted as shown, not reconciled. Postgraduate loan (PGL) and Plan 1/2/4 student loan repayments appear as separate deduction lines with no standardised label. Name the column precisely to capture them — the AI does not calculate whether the repayment amount is correct for your plan type.

Frequently Asked Questions

Can I extract the tax code like 1257L as a separate column from a Sage or Xero payslip screenshot?

Yes. Name a column Tax Code and the AI picks the code wherever it appears — Sage usually prints it in the top personal-details block alongside the NI number; Xero places it near the pay period header. The number portion multiplied by 10 gives your tax-free Personal Allowance (1257 × 10 = £12,570 for 2026/27). Emergency codes like 1257L W1 or 1257L M1 are captured verbatim, including the non-cumulative suffix. This is the field that explains why your PAYE deduction changed between pay periods.

Will Employer NI and my National Insurance (NI) be captured as separate columns?

Yes, if you name them precisely. A UK payslip shows employer National Insurance as a separate reference line that looks nearly identical to your employee NI deduction — same format, same abbreviation, same position in the deductions block. Define one column as "National Insurance (NI)" and another as "Employer NI (National Insurance)." The AI distinguishes them by reading which line carries the "Employer" or "ER" label — the same distinction a payroll clerk makes by eye. A loosely named single NI column may copy whichever line the label pairs with first.

What happens when my payslip shows an emergency tax code like 1257L W1 instead of the standard 1257L?

The AI extracts the code exactly as printed. Emergency codes — typically applied when HMRC has not yet confirmed your correct tax code after starting a new job without a P45 — appear with a W1 (week 1), M1 (month 1), or X suffix. The AI captures the full code string including the non-cumulative marker, so your spreadsheet records whether each pay period was taxed on a cumulative basis or in isolation. The tool does not diagnose whether the code should have been updated or whether you are owed a refund — it records what the payslip shows.

Does the tool verify whether my PAYE Tax deductions are correct?

No. The tool extracts the PAYE amount, tax code, and pay period from the payslip screenshot — it does not calculate whether the deduction matches what HMRC's tables say for your tax code, cumulative earnings, and pay frequency. If you suspect an over-deduction, the extracted spreadsheet gives you the raw figures to check against an HMRC calculator or to take to your employer's payroll department. The tool records what the payslip states; it is not a tax computation engine.

Can I batch Sage and Xero payslips in one run even though they look completely different?

Yes. Define the same seven column names once — Gross Pay, PAYE Tax (Pay As You Earn), National Insurance (NI), Pension Contribution, Employer NI (National Insurance), Tax Code, Pay Period — and process Sage and Xero payslips in one batch. Each screenshot produces one row. A Sage row fills the same columns as a Xero row regardless of the layout difference. Screenshots that do not contain a given field — for example, a Sage payslip that does not show employer NI — leave that column empty rather than guessing. Export as one XLSX or CSV covering both payroll systems.

Return to the work & HR app screenshot overview for paystub, PTO, benefits, and attendance extraction across ADP, Workday, Sage, and Japanese/Korean HR apps.

The US equivalent uses the same column-name approach on a shorter deduction list — gross pay, deductions, and YTD from ADP and Gusto paystub screenshots extract with far fewer tax and social lines than a UK payslip.

For the German side of the same payroll record, Bruttogehalt, Lohnsteuer, and social insurance from Personio and DATEV screenshots carry a similar density of deduction lines — but the tax code field is uniquely UK.

📮 contact email: [email protected]