Skip to main content

Extract data from payroll tax filings

A payroll tax filing is the return an employer files with the tax authority to report the wages it paid and the taxes it withheld across its whole workforce for a period. In the United States the quarterly version is IRS Form 941, and it aggregates every employee into a handful of totals. It is not a pay stub, which shows one employee's pay for one period, and it is not an individual tax return like Form 1040, which a person files on their own annual income. The 941 is the employer's report on the payroll as a whole. Riverside Manufacturing Inc., EIN 87-1234567, files one for the second quarter of 2026 covering 42 employees. The return is a chain of arithmetic that has to close. Total wages, tips, and other compensation of 1,050,000 USD produce 141,750 USD of federal income tax withheld. Social security tax is the taxable social security wages times 12.4 percent, the 6.2 percent employee and 6.2 percent employer shares combined, giving 130,200 USD, and Medicare tax is 2.9 percent of Medicare wages, another 30,450 USD. Those three add to a total tax liability of 302,400 USD. Against that sits what the employer already sent the IRS through EFTPS during the quarter, and the difference is either a balance due or an overpayment. A semiweekly or monthly depositor has to show the deposit schedule, because the IRS matches the liability to the deposits. Talonic reads the return and returns the form number, the ein, the employer_name, the tax_year and quarter, the total_wages, and each tax line as fields, with the tax_summary, the deposit_schedule, and the employee_list as tables. The 302,400 USD total tax liability is checked against its parts, 141,750 USD of income tax withheld plus 130,200 USD of social security tax plus 30,450 USD of Medicare tax, and against the 302,400 USD of deposits, so the balance_due of 0 USD is verified rather than trusted. Amounts are typed as numbers in USD and the period dates parse to ISO 8601. Every value returns with a confidence score and a source-region pointer under DIN SPEC 91491, so a payroll accountant can verify the liability against the filed form. Talonic captures the return as filed and does not recompute the tax or check it against the payroll ledger.

What gets extracted from payroll tax filings

Form Number941
Employer EIN87-1234567
Employer NameRiverside Manufacturing Inc.
Tax Year / Quarter2026 Q2
Number of Employees42
Total Wages1,050,000 USD
Federal Income Tax Withheld141,750 USD
Social Security Tax130,200 USD12.4% of taxable SS wages
Medicare Tax30,450 USD2.9% of Medicare wages
Total Tax Liability302,400 USDFoots to the three tax lines
Balance Due0 USDLiability equals deposits

How extraction works for payroll tax filings

Payroll tax returns arrive as filed 941 PDFs, MeF acknowledgements, and payroll-provider exports, and the same figure sits on a different line depending on the form revision. Talonic classifies the return and maps it to the tax-form schema in the Field Registry, which follows the IRS MeF layout, so ein, employer_name, quarter, total_wages, social_security_tax, medicare_tax, and total_tax_liability each resolve to a field while tax_summary, deposit_schedule, and employee_list return per row. Amounts are typed as numbers in USD, the tax lines are checked to foot to the total tax liability, and the deposit_schedule is checked to foot to total_deposits so the balance_due or overpayment can be reconciled. The tax_year, quarter, and period dates parse to ISO 8601, and the filing_status enum is preserved. Each value carries a confidence score and pixel-region provenance so a payroll accountant can verify a tax line against the source form. Talonic returns the return as filed and does not recompute the employer's liability.

Sample extraction

A quarterly Form 941 employer payroll tax return

{
  "document_number": "941",
  "document_date": "2026-07-28",
  "tax_year": "2026",
  "quarter": "Q2",
  "ein": "87-1234567",
  "employer_name": "Riverside Manufacturing Inc.",
  "employer.address": "2200 Foundry Rd, Riverside, CA 92507",
  "number_of_employees": 42,
  "total_wages": 1050000,
  "federal_income_tax_withheld": 141750,
  "taxable_social_security_wages": 1050000,
  "social_security_tax": 130200,
  "taxable_medicare_wages_tips": 1050000,
  "medicare_tax": 30450,
  "total_tax_liability": 302400,
  "total_taxes_after_adjustments": 302400,
  "total_deposits": 302400,
  "balance_due": 0,
  "overpayment": 0,
  "authorized_representative.name": "Karen Liu",
  "authorized_representative.title": "Controller",
  "filing_status": "filed",
  "currency": "USD",
  "effective_date": "2026-04-01",
  "expiration_date": "2026-06-30",
  "tax_summary": [
    {
      "wage_category": "Wages, tips, and other compensation",
      "wages_amount": 1050000,
      "tax_withheld": 141750,
      "tax_rate": "graduated"
    },
    {
      "wage_category": "Taxable social security wages",
      "wages_amount": 1050000,
      "tax_withheld": 130200,
      "tax_rate": "12.4%"
    },
    {
      "wage_category": "Taxable Medicare wages and tips",
      "wages_amount": 1050000,
      "tax_withheld": 30450,
      "tax_rate": "2.9%"
    }
  ],
  "deposit_schedule": [
    {
      "deposit_date": "2026-04-30",
      "deposit_amount": 100800,
      "deposit_method": "EFTPS",
      "reference_number": "EFT-0426-8841"
    },
    {
      "deposit_date": "2026-05-29",
      "deposit_amount": 100800,
      "deposit_method": "EFTPS",
      "reference_number": "EFT-0526-9127"
    },
    {
      "deposit_date": "2026-06-30",
      "deposit_amount": 100800,
      "deposit_method": "EFTPS",
      "reference_number": "EFT-0626-9663"
    }
  ],
  "employee_list": [
    {
      "employee_id": "E-001",
      "employee_name": "Aggregated (42 employees)",
      "wages_paid": 1050000,
      "federal_tax_withheld": 141750,
      "social_security_wages": 1050000,
      "medicare_wages": 1050000
    }
  ]
}

Frequently asked

How is a payroll tax filing different from a pay stub or an individual tax return?

A pay stub is one employee for one pay period. An individual return like Form 1040 is one person for a year. A payroll tax filing such as Form 941 is the employer aggregating the whole workforce for a quarter: total wages, withholding, and the combined Social Security and Medicare tax. Talonic reads each on its own schema.

Does it reconcile the tax lines to the total liability?

Yes. The federal income tax withheld, the Social Security tax, and the Medicare tax are checked to foot to total_tax_liability, so 141,750 USD plus 130,200 USD plus 30,450 USD is verified to equal 302,400 USD, and a return that does not add up is flagged.

Does it read the deposit schedule and balance due?

Yes. The deposit_schedule table returns each EFTPS deposit with its date, amount, and reference, and the deposits are checked to foot to total_deposits, so the balance_due or overpayment against the 302,400 USD liability can be reconciled.

Does Talonic recompute the tax?

No. It captures the wages, the withholding, and the tax lines as filed, and checks that the printed figures foot. It does not recalculate the employer's liability or reconcile the return against the underlying payroll ledger; that is the employer's and its accountant's work.

Author note

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