50 Korean Payslips,
One Spreadsheet
A mid-sized Korean manufacturer with 47 employees spends roughly 14 hours each month transferring payroll data from individual payslip PDFs into the company-wide payroll register (급여대장). Not because the data is complex—because each employee's payslip sits in a separate file, exported from Douzone Smart A or ECOUNT, and no button in those systems merges them into one table.
Key Takeaways
- Processing one Korean payslip takes two minutes — but processing 47 burns 14 hours, because batch introduces four problems that single-document extraction never faces: employee matching, format heterogeneity across payroll providers, social insurance rate caps, and verification that doesn't scale.
- The real bottleneck isn't typing speed — it's that Korean payroll software (Douzone, ECOUNT, flex) generates payslips as individual PDFs per employee but doesn't merge them, and a single missing field among the 10 mandatory items under Article 48 risks a ₩500,000 fine per employee.
- Custom Column Extraction reads each payslip by what a field means, not where it sits — drag all 47 PDFs from any payroll provider into one queue and ImageToTable.ai produces one consolidated spreadsheet, where verification shifts from checking all 47 rows to scanning the output for outliers.
The Scale Problem No One Talks About
Processing one Korean payslip (급여명세서) takes about two minutes when you know which fields to pull and where they sit. Processing 47 of them is not 94 minutes. It's closer to four hours, because batch processing introduces four problems that don't exist at single-document scale:
Employee matching. Each PDF needs to end up in the right row. If the file is named "2026_05_급여명세서.pdf" or "May payroll Kim.pdf" or the Douzone default of "[사번]_급여명세서_202605.pdf," you can't rely on filenames alone to guarantee correct association. An extraction tool that doesn't include the employee name or ID in each output row leaves you manually cross-referencing afterward.
Format heterogeneity. A company that uses Douzone Smart A for permanent staff but receives outsourced payroll PDFs for contract workers ends up with two structurally different payslip formats in the same batch. One has "지급항목" as the section header; the other uses "급여 내역." A rigid template-based tool breaks. A tool that reads by meaning doesn't.
Rate variance. The four major social insurances (4대보험)—National Pension (국민연금), Health Insurance (건강보험), Employment Insurance (고용보험), and Industrial Accident Insurance (산재보험)—are deducted at different absolute amounts for different employees because the rates apply to each person's salary bracket. A batch extraction that silently copies a formula across rows will produce errors for employees in higher brackets.
Verification at scale. You can spot-check one payslip. You cannot spot-check 47 in any reasonable time. The question becomes: how do you trust the batch output without redoing the work?
The manual route—open each PDF, locate each field, type it into Excel—burns roughly 80 hours per year for a 50-employee company processing 12 payroll cycles. At Korea's 2026 minimum wage of ₩10,320/hour, that's ₩825,600 in pure labor cost. At actual HR staff wages, the figure is closer to ₩2.2 million. And that's before factoring in risk: the Labor Standards Act (근로기준법) Article 48, Paragraph 2 has made payslip delivery mandatory since November 2021, and missing even one field from the ten required items in Enforcement Decree Article 27-2 (시행령 제27;조의2) risks a fine of up to ₩500,000 per employee.
What's Actually Different About Batch Processing Korean Payslips
Single-document extraction tutorials focus on one question: can you pull the right numbers? Batch processing asks three harder questions:
- Can you pull the right numbers for the right person? With 47 files in a queue, the extraction output must preserve row-level identity—every row needs a column that maps back to a specific employee, whether by name, employee number (사번), or both.
- Can you handle payslips from different payroll providers in one run? Korean SMEs often mix systems: Douzone (더존) for permanent employees, ECOUNT (이카운트) for project-based hires, and outsourced payroll firms that generate their own bespoke PDF formats. The batch tool can't demand that all 47 files share the same layout.
- Can you verify correctness without checking every row? A batch output that forces you to open 47 PDFs to confirm the data is batch in name only. The tool needs to produce output that makes anomalies visible at a glance—a missing deduction row, a negative net pay, a total that doesn't sum—so verification shifts from spot-checking individual files to scanning for outliers.
These three questions separate batch-capable tools from single-document tools masquerading as batch. And they're especially pronounced with Korean payslips because of the regulatory structure. An employee's gross pay (지급 총액) breaks into anywhere from five to fifteen line items—base salary (기본급), overtime (연장수당), meal allowance (식대), position allowance (직책수당), and more—followed by an equally detailed deduction block covering income tax, resident tax, and the four insurances. Each line item matters for compliance and employee trust. A batch tool that collapses these into "Total Deductions" loses the transparency that Article 48 was written to enforce.
How to Batch Process Korean Payslips into One Consolidated Table
Instead of template matching, which requires each payslip format to be pre-configured, ImageToTable.ai uses Custom Column Extraction: you type the field names you want—Employee Name, Basic Salary, National Pension, Health Insurance, Net Pay—and the AI locates each value in every document by understanding what it means, not where it sits on the page. When you upload 47 PDFs, the tool reads all of them against the same column definitions, row by row, producing a single Excel file with one row per employee.
The batch workflow breaks into five steps:
Files are processed securely and not stored.
Handling Compensation-Dependent Social Insurance Rates
The single most common error in batch payroll processing is treating deductions as formulas. In a spreadsheet, it's tempting to write =Gross_Pay * 4.5% in the National Pension column and drag it down. This is correct when all 47 employees earn less than the upper earnings cap of ₩6,370,000/month (2025 upper limit for National Pension). It is wrong as soon as one managerial salary crosses that threshold, because contributions are capped—the rate applies to the capped amount, not the actual gross.
The four insurances interact differently with salary levels:
| Insurance (보험) | Total Rate (2025) | Employee Share | Upper Cap (Monthly) |
|---|---|---|---|
| National Pension (국민연금) | 9.0% | 4.5% | ₩6,370,000 |
| Health Insurance (건강보험) | 7.09% | 3.545% | ₩9,008,340 |
| Long-Term Care (장기요양) | 12.95% of health insurance contribution | 50% of premium | (same as Health Insurance) |
| Employment Insurance (고용보험) | 1.8% (unemployment portion) | 0.9% | No income cap |
| Industrial Accident (산재보험) | Varies by industry | 0% (employer only) | N/A |
Because extraction-based batch processing reads the actual deduction amounts printed on each payslip rather than computing them from a rate formula, it produces the correct values for every employee regardless of salary bracket. The employee earning ₩2.5 million/month and the director earning ₩8 million/month both get their actual printed contributions—capped where appropriate, uncapped where not—without a single formula error. This matters especially during year-end settlement (연말정산), when discrepancies between extracted figures and reported figures trigger correction requests from the National Tax Service (국세청).
Year-End Settlement and the True Value of a Digital Payroll Registry
Each January, Korean employers must conduct year-end tax settlement for every employee—reconciling the monthly withholdings against the actual annual tax liability. This requires the employer to aggregate 12 months of payroll data per employee: total gross pay, total deductions, total taxable income. For a 50-person company, that's 600 payslip records to consolidate.
If you've been batch-processing monthly, you already have a digital register. Each month's export becomes one sheet or one appended table. By January, opening 12 files and running a pivot table takes minutes. If you've been entering data manually, year-end settlement is a multi-day project of digging through paper files and PDF folders, re-entering 600 rows, and hoping the numbers reconcile with what was reported to the tax office each month.
The labor cost difference is instructive. Batch extraction monthly: roughly 10 minutes of setup and review per month, or 2 hours per year. Manual entry: roughly 14 hours per month or 168 hours per year. At even minimum wage, that's a ₩1.7 million gap. At HR staff rates, it's substantially more. But the larger cost is accuracy risk—each manually entered digit is an opportunity for a transposition error that surfaces months later in a tax audit.
Beyond Monthly Payroll: Other Uses for Batch Payslip Processing
Once you can batch-extract payroll data, the workflow extends to several less obvious scenarios:
Payroll provider transitions. When a company switches from Douzone to flex, or from an outsourced accountant using 세무사랑 Pro to an in-house ECOUNT setup, historical payslips from the old provider are trapped in their PDF format. Batch extraction turns years of legacy PDFs into a structured Excel archive in one processing run, so the transition doesn't orphan your payroll history.
M&A payroll due diligence. An acquiring company reviewing a target's payroll data typically receives scanned payslip PDFs or exported reports. Verifying total compensation costs across even 30 employees requires extracting and summing salary, allowance, and deduction data from hundreds of files. Batch extraction compresses what would be a week-long data entry task into an afternoon of review.
Multi-year salary growth analysis. With annual batch exports, HR can analyze trends—salary growth by department, overtime patterns by season, insurance expense trajectory—directly in Excel, using data extracted from payslips rather than approximate figures from the general ledger.
For a deeper look at extracting individual payslip data fields, see our guide on extracting Korean payslip data into Excel, which covers the ten mandatory fields under Article 27-2 of the Enforcement Decree in detail. And if you handle tax documents as well, batch processing Korean tax invoices for VAT reporting follows the same principle for a different document type.
FAQ
Does batch extraction handle payslips from different payroll software in the same run?
Yes. Because the AI reads by understanding what each field means—not where it appears on a fixed template—a Douzone-exported PDF, an ECOUNT-generated payslip, and a mobile screenshot from flex's employee app can all sit in the same upload queue. The AI locates "Base Salary (기본급)" in each document regardless of layout.
What if two employees have the same name?
Include the Employee Number (사번) as a column. The AI extracts both Name and ID from each payslip, producing unambiguous rows even with identical names. For companies that don't use employee numbers, the National Pension number (appearing on most payslips) can serve as a unique identifier.
How accurate is extraction for Korean text and numeric amounts?
Printed Korean characters and numeric figures achieve up to 99% accuracy. Handwritten annotations on printed payslips—common when accountants note corrections—are recognized but may have lower accuracy. For a batch run, the recommended practice is to export the result, sort by the highest-risk columns (Net Pay, National Pension), and verify the two to three most extreme values against their source PDFs.
Can I add computed columns to the batch output?
Yes. With Computed Columns, you can define calculations that run during extraction. For example, a column named "Deduction Total (National Pension + Health Insurance + Long-Term Care + Employment Insurance + Income Tax + Resident Tax)" will sum those six fields per row and output the result as a new column. Or a column named "Actual Take-Home Rate % (Net Pay / Gross Pay * 100)" calculates the net-to-gross ratio for every employee in one pass, without a separate Excel formula step.
Does this replace the payroll software?
No. Batch extraction complements payroll software like Douzone, ECOUNT, and flex. Those systems calculate salaries, apply tax tables, and generate payslip PDFs. Batch extraction takes the output PDFs from those systems and consolidates them into one spreadsheet for reporting, archiving, and analysis—a step that payroll software itself often doesn't perform across individual employee files.
What about scanned paper payslips from historical records?
Scanned payslips and even photos of printed payslips work with batch extraction. The AI reads the visual content of the page—text, tables, numbers—not the underlying text layer of a PDF. This means legacy paper records, once scanned, can join the same batch queue as native digital PDFs.
The difference between processing one payslip and processing 47 is the difference between extracting pay stub data into Excel as a one-off task and building a sustainable monthly system. The extraction mechanism is the same. What changes is everything else—the naming, the matching, the verification, the archival structure. Batch processing forces you to think about those things. And once they're in place, the 14-hour monthly payroll reconciliation becomes a 10-minute review of AI-generated output, with the confidence that every employee's ten mandatory fields are pulled and accounted for.