Skip to main content

Extract data from payroll registers

A payroll register is the employer's one-page summary of a single pay run. Where a pay stub belongs to one employee and shows that person's gross, withholdings, and year-to-date totals, the register lists every employee paid in the period side by side, with a column for gross pay, one for each tax and deduction, and one for the net that reaches each bank account. Payroll and finance teams read it to post the pay-run journal entry, to fund the direct-deposit file, and to reconcile the totals before the money leaves; an auditor reads it to tie wages expense back to the general ledger. The register total is the figure they all check, because it has to foot to the sum of the net pays. The arithmetic runs both across each row and down each column. For the period ending 2026-06-30, Cedar & Vine Hospitality LLC pays three people: gross of 2,600.00, 3,200.00, and 4,400.00 USD, totaling 10,200.00 USD. Statutory withholding follows fixed rates, Social Security at 6.2% and Medicare at 1.45%, so the 4,400.00 USD earner has 272.80 USD and 63.80 USD taken for those two lines, and federal and state income tax withholding sit beside them. Total deductions of 614.90, 788.80, and 1,172.60 USD leave net pays of 1,985.10, 2,411.20, and 3,227.40 USD, which sum to a register total of 7,623.70 USD, exactly the 10,200.00 USD gross less the 2,576.30 USD withheld. A tax summary rolls the same withholding up by type across all three employees. Talonic reads the register and returns the employer, the pay period, the payment date, and the register total as fields, keeping the per-employee payroll entries, the deductions, and the tax summary as tables. The net pays are summed and checked against the register total, so the 7,623.70 USD total is verified to foot rather than trusted. A register generated 2026-06-30 for Cedar & Vine Hospitality LLC, covering the 2026-06-16 to 2026-06-30 period and paid 2026-07-03 by ACH, loads into an accounting system so the pay-run journal entry and the tax liabilities read as fields rather than a retyped grid. Talonic captures the figures as written and does not compute payroll or file the associated returns.

What gets extracted from payroll registers

Register NumberPR-2026-0630
EmployerCedar & Vine Hospitality LLC
Pay Period2026-06-16 to 2026-06-30
Payment Date2026-07-03
Total Gross Pay10,200.00 USD
Total Deductions2,576.30 USD
Register Total7,623.70 USDFoots to the sum of net pays
Employee Count3
Payment MethodACH direct deposit
CurrencyUSD

How extraction works for payroll registers

Payroll registers come out of platforms such as ADP, Gusto, Paychex, and Workday as period summaries, and the column order of earnings, taxes, and deductions shifts from one system to the next. Talonic classifies the register and maps it to the payroll schema in the Field Registry, which separates the header, employer, pay period, payment date, and currency, from the per-employee detail. The payroll entries return as a table with each employee id, name, department, gross pay, hours, total deductions, and net pay, the employee deductions as a table of type and amount, and the tax summary as a table that rolls federal, state, Social Security, and Medicare up by type with the count of employees subject to each. Statutory lines are recognized by name, so Social Security at 6.2% and Medicare at 1.45% are not mixed with voluntary benefit deductions. The register total is reconciled two ways: the net pays are summed and checked against the printed total, and gross less total deductions is checked to the same figure, so a 7,623.70 USD total either foots or is flagged. Every value carries a confidence score and a pixel-region pointer under DIN SPEC 91491, so a payroll auditor can verify a net figure against the source register. Talonic reports the run as printed and does not recompute the payroll or file the returns.

Sample extraction

A bi-weekly payroll register for a three-person employer

{
  "document_number": "PR-2026-0630",
  "document_date": "2026-06-30",
  "pay_period_start": "2026-06-16",
  "pay_period_end": "2026-06-30",
  "payment_date": "2026-07-03",
  "employer": "Cedar & Vine Hospitality LLC",
  "currency": "USD",
  "payment_method": "direct_deposit",
  "payment_terms": "Bi-weekly",
  "gross_pay": 10200,
  "tax_amount": 2576.3,
  "total_deductions": 2576.3,
  "net_pay": 7623.7,
  "total_amount": 7623.7,
  "payroll_entries": [
    {
      "employee_id": "E-1001",
      "employee_name": "Maria Alvarez",
      "department": "Front of House",
      "gross_pay": 2600,
      "regular_hours": 80,
      "overtime_hours": 0,
      "total_deductions": 614.9,
      "net_pay": 1985.1,
      "payment_method": "direct_deposit"
    },
    {
      "employee_id": "E-1002",
      "employee_name": "David Okoro",
      "department": "Kitchen",
      "gross_pay": 3200,
      "regular_hours": 80,
      "overtime_hours": 4,
      "total_deductions": 788.8,
      "net_pay": 2411.2,
      "payment_method": "direct_deposit"
    },
    {
      "employee_id": "E-1003",
      "employee_name": "Sarah Kim",
      "department": "Management",
      "gross_pay": 4400,
      "regular_hours": 80,
      "overtime_hours": 0,
      "total_deductions": 1172.6,
      "net_pay": 3227.4,
      "payment_method": "direct_deposit"
    }
  ],
  "employee_deductions": [
    {
      "employee_id": "E-1001",
      "deduction_type": "federal_income_tax",
      "deduction_amount": 312
    },
    {
      "employee_id": "E-1001",
      "deduction_type": "state_income_tax",
      "deduction_amount": 104
    },
    {
      "employee_id": "E-1001",
      "deduction_type": "social_security",
      "deduction_amount": 161.2
    },
    {
      "employee_id": "E-1001",
      "deduction_type": "medicare",
      "deduction_amount": 37.7
    },
    {
      "employee_id": "E-1002",
      "deduction_type": "federal_income_tax",
      "deduction_amount": 416
    },
    {
      "employee_id": "E-1003",
      "deduction_type": "federal_income_tax",
      "deduction_amount": 660
    }
  ],
  "tax_summary": [
    {
      "tax_type": "federal_income_tax",
      "tax_amount": 1388,
      "employee_count": 3
    },
    {
      "tax_type": "state_income_tax",
      "tax_amount": 408,
      "employee_count": 3
    },
    {
      "tax_type": "social_security",
      "tax_amount": 632.4,
      "employee_count": 3
    },
    {
      "tax_type": "medicare",
      "tax_amount": 147.9,
      "employee_count": 3
    }
  ]
}

Frequently asked

How is a payroll register different from a pay stub?

A pay stub is one employee record for one paycheck, with that person current and year-to-date amounts, and it is used for income verification. A payroll register is the employer summary of the whole pay run, listing every employee gross, withholdings, and net for the period, and it is used to post the journal entry and fund the deposits. Talonic reads each on its own schema and keeps their distinct fields.

Does the register total foot to the net pays?

Yes. The net pays are summed and checked against the printed register total, and gross less total deductions is checked to the same figure, so the 1,985.10, 2,411.20, and 3,227.40 USD net pays are verified to total the 7,623.70 USD register total.

Are the payroll taxes rolled up by type?

Yes. The tax summary table rolls federal income tax, state income tax, Social Security, and Medicare up across employees with the count subject to each, so the 632.40 USD of Social Security and 147.90 USD of Medicare are legible for the tax deposit without re-adding each row.

Does Talonic calculate the payroll?

No. It reads the gross, the withholdings, and the net as printed and links each to its source region. Computing the withholding, matching the employer taxes, and filing the returns are for the payroll system and the employer, not the extraction.

Author note

Reviewed by Talonic engineering, payroll schema review · last reviewed 2026-07-08