How to Extract Data from KoreanPayslips into Excel

Open a Korean payslip (급여명세서) exported from Douzone Smart A next to one saved from ECOUNT, and you'll see the same ten fields that Article 27-2 of the Enforcement Decree of Korea's Labor Standards Act (근로기준법 시행령 제27조의2) requires. But you won't find them in the same place. Base Pay (기본급) sits vertically stacked on one, horizontally spread on the other. The four social insurance deductions (4대보험)—National Pension, Health Insurance, Employment Insurance, Long-term Care—might appear as a single grouped section or as four separately indented rows, depending on which software generated the file. If you are extracting this data into Excel for payroll reconciliation each month, the variation across providers is what turns a copy-paste task into an hour of hunting per payslip.

Korean payslip data extraction to Excel spreadsheet for payroll reconciliation

Key Takeaways

  1. 90 minutes every month vanishes into typing the same ten payroll fields from each employee's payslip into your spreadsheet — and the Korean Labor Standards Act that mandates those ten fields never defined where they belong on the page, so Douzone, ECOUNT, and PAYZON each arrange them differently.
  2. Template-based extraction tools fail at Korean payslips because they hunt by page coordinates — every HR software (Douzone, ECOUNT, PAYZON, Shiftee) places "National Pension" (국민연금) on a different row, so one template cannot survive the first vendor switch.
  3. The same 2026 social insurance rates that make Korean payslip reconciliation complex also give you a built-in verification formula — ImageToTable.ai extracts fields by meaning instead of by position, and checking National Pension against ~4.75% of Base Pay catches errors before payroll closes.

A Payslip that Compliance Built — and Extraction Left Behind

The Korean payslip was redesigned by regulation, not by convenience. When the National Assembly amended Article 48 of the Labor Standards Act (근로기준법) in May 2021—effective November 19 of that year—it elevated the payslip from an optional courtesy to a mandatory document backed by penalties of up to 5 million KRW per violation. Suddenly, every employer in Korea, including businesses with fewer than five employees, had to issue an itemized statement containing ten specific data points for every worker every pay period.

The compliance outcome was swift: virtually every employer in Korea now issues payslips. The data extraction outcome is less obvious. Unlike a Korean tax invoice (세금계산서), which follows a heavily standardized format under Article 32 of the VAT Act, a Korean payslip has no government-prescribed layout—only prescribed content. The same ten fields can appear in radically different arrangements depending on which software the employer uses.

Douzone Smart A (더존 스마트A), the dominant ERP in Korea's mid-market, places deduction items (공제내역) in a compact two-line block after earnings. ECOUNT (이카운트), widely adopted by smaller firms for its web-based accessibility, spreads deductions across a wider grid with sub-section headers. PAYZON, Shiftee (시프티), flex, and a dozen other HR platforms each render the payslip differently. Even within the same software, upgrades change the layout. The result: what looks like a single document type to an HR manager is actually a family of visually distinct layouts to a computer.

Most Korean SERP content on "급여명세서 + Excel" teaches you how to create payslips inside Excel—building VLOOKUP formulas, linking 간이세액표 tables, embedding VBA macros to auto-generate PDFs. That solves the generation problem. It does not solve the aggregation problem: you already have the payslips. You need the data out of them and into one spreadsheet.

The Ten Fields the Law Requires — and Why They Matter for Extraction

Before building an extraction workflow, you need to know exactly what you are looking for. Under Article 27-2 of the Enforcement Decree of the Labor Standards Act (근로기준법 시행령 제27조의2), every Korean payslip must contain ten items. Missing even one exposes the employer to progressive fines. For extraction purposes, these ten items define your target columns.

#Mandatory ItemKorean TermExtraction Column NameNotes
1Employee Name성명Employee NameMust identify the worker uniquely
2Worker-identifying Info생년월일, 사원번호Employee IDDate of birth or employee number; daily workers (<30 days) exempt
3Pay Date임금지급일Pay DateActual date wages were paid
4Working Days근로일수Working DaysDays worked in the pay period
5Total Working Hours총 근로시간수Total HoursIncluding overtime if applicable
6OT/Night/Holiday Hours연장·야간·휴일근로시간OT Hours, Night Hours, Holiday HoursEach category listed separately; firms with ≤4 employees exempt
7Total Gross Pay임금 총액Gross PaySum before any deductions
8Pay Components with Amounts기본급, 수당, 상여금, 성과금Base Pay, Allowance Name, BonusEvery component listed individually with its amount
9Calculation Method per Component항목별 계산방법— (for verification)e.g., "Overtime = 12 hrs × 12,000 KRW × 1.5"
10Deduction Items and Total공제 항목별 금액과 총액Income Tax, National Pension, Health Insurance, LTC Insurance, Employment Insurance, Local Income Tax, Total Deductions, Net PayEvery deduction itemized; net pay (차인지급액) = gross − total deductions

The deduction section is where the heaviest lifting happens during extraction. Korean payslips carry five to seven deduction line items, each calculated against a different rate. The 2026 rates—effective January 1 of this year—are:

InsuranceKorean NameTotal RateEmployee Share2025 → 2026 Change
National Pension국민연금9.50%4.75%+0.50pp (from 9.0%)
National Health Insurance건강보험7.19%3.595%+0.10pp (from 7.09%)
Long-term Care Insurance장기요양보험0.9448%0.4724%+0.0266pp (from 0.9182%)
Employment Insurance고용보험1.80%0.90%Frozen (same as 2025)
Industrial Accident Insurance산재보험Varies by industry; employer pays 100%

Source: 2026 Korean Social Insurance Rates (HRSide). Income tax (소득세) uses an eight-bracket progressive schedule from 6% to 45%; local income tax (지방소득세) is a flat 10% surcharge on the income tax amount.

These rates are not background trivia—they are your post-extraction sanity check. If your extracted National Pension amount for an employee earning 3,000,000 KRW/month is not within a few thousand won of 142,500 KRW (3,000,000 × 4.75%), you know something went wrong upstream—either the extraction missed a digit or the payslip itself contains an error. More on this verification step later.

Step 1: Collect Your Payslip Files — from Douzone, ECOUNT, Paper, or Camera

Korean payslips arrive in HR departments through three main channels, each with different extraction characteristics.

Software-generated PDFs. Douzone Smart A, ECOUNT, Shiftee, and PAYZON all produce payslips as downloadable PDFs. These are your best-case scenario for extraction—text is machine-readable, layout is consistent within a given software version, and you can batch-download a month's worth of payslips at once. In Douzone, navigate to 인사급여 → 근로/연말 → 근로소득관리 → 급여대장(명세), then use 기능모음 → 일괄인쇄 and select PDF as the output. In ECOUNT, the payroll report can be saved as Excel, though the layout still varies by your template settings.

Employee-submitted files. Some employers email payslips as PDFs; some still hand out printed copies. If your workforce includes part-time or contract workers paid through multiple channels, you'll receive a mix of crisp PDFs, smartphone photos of printed pages, and screenshots from mobile banking apps showing the deposit notice (입금확인증). All of these can be extracted—but a clear, straight-on photo will always yield better results than a tilted, low-light shot.

Scanned or photographed printouts. Smaller businesses that use in-house Excel templates often generate payslips as printed paper. A flatbed scan at 200–300 DPI produces extractable text; a shaky smartphone photo at an angle may drop recognition accuracy by 15–20 percentage points. If you expect to process scans regularly, investing in a document scanner with auto-feed (ADF) pays for itself in extraction quality within the first batch.

Step 2: Define Your Columns Once — Let the AI Handle the Rest

This is where the extraction approach diverges from traditional OCR. Template-based tools—the kind that ask you to draw bounding boxes around where each field appears on a page—fail at Korean payslips because the layout changes between Douzone, ECOUNT, and PAYZON. You would need a separate template for every software output your company receives.

Instead, you define your columns by what they mean, not where they sit. Type the field names you want into the column definition panel, and the AI locates each value by understanding the semantics of the payslip—reading "기본급" as Base Pay, "국민연금" as National Pension, "차인지급액" as Net Pay—regardless of whether those labels appear top-left, center-stacked, or nested inside a sub-table. This is Custom Column Extraction: the column names you enter become the headers of your final Excel sheet, and the AI fills the rows by matching meaning to content, not coordinates to pixels.

Here are the columns a typical Korean payroll reconciliation workflow needs:

Recommended Column NameWhat It ExtractsWhy You Need It
Employee NameWorker's name (성명)Row identifier for consolidation
Employee IDDate of birth or employee number (생년월일/사원번호)Disambiguates employees with identical names
Pay DatePayment date (임금지급일)Groups payslips into pay periods
Base PayBase monthly salary (기본급)Core payroll figure; basis for social insurance calculation
Overtime PayOvertime allowance (연장근로수당)Tracks variable labor cost
BonusBonus or performance pay (상여금/성과금)Separates fixed vs. variable pay
Gross PayTotal before deductions (지급총액)Sum check; verify against line items
National PensionNational Pension deduction (국민연금)Should equal ~4.75% of base monthly wage (2026 rate)
Health InsuranceHealth Insurance deduction (건강보험)Should equal ~3.595% of base monthly wage
LTC InsuranceLong-term Care Insurance (장기요양보험)Calculated on health insurance premium × 0.9448% / 7.19%
Employment InsuranceEmployment Insurance deduction (고용보험)Should equal ~0.9% of base wage
Income TaxEarned income tax withholding (소득세)Check against 간이세액표 (simplified tax table)
Local Income TaxLocal income tax surcharge (지방소득세)Should be exactly 10% of 소득세
Net PayTake-home amount (차인지급액/실수령액)Verify: Net Pay = Gross Pay − Total Deductions

You can also add inferred columns—fields the AI derives from context that may not appear explicitly on the payslip. For example, a column defined as Pay Frequency (options: Monthly/Weekly/Biweekly) lets the AI determine whether the employee is paid monthly (월급) or weekly (주급) based on the pay period and wage structure on the document. Another useful inferred column is Deduction Verification (options: OK/Warning)—the AI can flag rows where the extracted social insurance amounts deviate significantly from the expected rates.

If your reconciliation spreadsheet already has formulas that reference specific column names downstream, using these exact column names in the extraction means the extracted data feeds directly into your existing calculations. No column renaming, no re-mapping. Payroll register reconciliation is a common downstream use case that benefits from this kind of direct integration.

Step 3: Batch Process and Sanity-Check with Social Insurance Rates

Upload all the payslips from one pay period in a batch. The AI processes each file independently, populating the same set of columns regardless of whether one file came from Douzone and the next from ECOUNT. When processing completes, you export one merged Excel file—one row per employee, all columns populated.

Processing speed: approximately 5–10 seconds per page. Manual data entry, by comparison, averages about 3 minutes per payslip—and that's before you double-check the numbers. For a 30-employee company, batch extraction turns a monthly 90-minute data entry session into roughly 3–5 minutes of processing time, plus a verification pass.

Your verification pass is where the social insurance rates earn their keep. Add a quick formula column in Excel:

  • =ABS([National Pension] − [Base Pay]*0.0475) — should be under 1,000 KRW for standard monthly wage earners. If it is off by orders of magnitude, check the extraction for that row.
  • =[Local Income Tax] / [Income Tax] — should equal exactly 0.1. Korean local income tax is a flat 10% surcharge on earned income tax. If the ratio is anything else, one of the two numbers was misread.
  • =[Gross Pay] − SUM([all deduction columns]) — should equal [Net Pay] within ±1 KRW rounding. A mismatch larger than a few won means either the extraction captured a wrong line item or the payslip has a calculation error.

These three checks catch the vast majority of extraction anomalies before they propagate into your payroll reconciliation or tax filing. The 2026 rate increases—0.5pp for National Pension, 0.1pp for Health Insurance—make this verification step more important now than it was last year, since some software packages may have updated their formulas while others still use 2025 rates.

Try It: Extract a Sample Korean Payslip

The demo below loads with payslip-specific extraction columns pre-configured. Upload a sample Korean payslip—a Douzone PDF, a screenshot, or any format—and watch the AI pull Base Pay (기본급), National Pension (국민연금), Net Pay (차인지급액), and all other deduction fields into a structured table. No login required.

JPG/PNG/PDF AI Extraction

Files are processed securely and not stored.

What Changes After Extraction: Reconciliation, Audit Prep, and Year-End Filing

Once the data is in Excel, the bottleneck shifts from "getting numbers into a spreadsheet" to "doing something useful with them." For most Korean HR and payroll teams, the downstream tasks fall into three buckets.

Monthly payroll reconciliation (급여대사). The extracted spreadsheet becomes your truth table. Compare each employee's extracted gross pay against the payroll register exported from your accounting software. If Douzone says the total payroll outflow was 45,230,000 KRW and your extracted spreadsheet sums to 45,228,500 KRW, the 1,500 KRW gap points to a specific row—and a specific field on that row—rather than requiring you to re-trace the entire payslip stack. Pay stub extraction with side-by-side comparison columns turns reconciliation from a needle-in-a-haystack problem into a sort-by-difference exercise.

Year-end tax settlement prep (연말정산). Korea's year-end tax reconciliation in January/February requires aggregating twelve months of income, deductions, and social insurance contributions per employee. If each month's payslip data lives in a separate PDF, assembling the annual picture means opening 144 files (12 months × 12 employees) and transcribing values. With extracted data, you already have twelve monthly sheets—merge them into one annual summary with a pivot table, and the 연말정산 preparation that used to take a full day takes the length of a coffee break.

Audit and compliance documentation. Under the Labor Standards Act, employers must retain payslip records for three years. An auditable trail of extracted data—with source filenames, extraction timestamps, and the original payslip files archived alongside—satisfies both the recordkeeping requirement and any future labor board inquiry. If the audit question is "show us the gross pay, deductions, and net pay for employee X across all of 2025," you have it in one Excel file instead of a filing cabinet.

These three use cases share one property: they require the data to be portable. You can answer payroll questions, run year-end calculations, or satisfy an auditor only if the values can move freely between software systems. Extraction creates that portability. The cost of not having portability—measured in reconciliation hours, missed filing deadlines, and audit prep scrambling—is the hidden line item on every manual payroll department's budget.

Frequently Asked Questions

Does this work with payslips written entirely in Korean?

Yes. The AI reads the semantic meaning of Korean-language field labels—"기본급," "국민연금," "공제내역"—and maps them to whatever English column names you define. The language on the document does not need to match the language of your column headers. This is especially relevant for Korean companies whose HR teams define columns in Korean while extracting from payslips that use the same Korean terms.

What about handwritten payslips or small-business formats?

Handwritten text (수기 기입) has a lower recognition ceiling than printed text—expect roughly 80–90% accuracy for clear handwriting in dark ink on a clean background, versus up to 99% for printed fields. If your company receives handwritten payslips from part-time or daily workers, batch them separately and schedule extra review time for those rows. The same verification formulas (rate proportion checks for social insurance, net pay = gross − deductions) remain your best quality guard.

Can I process payslips from both Douzone and ECOUNT in the same batch?

Yes. The column definitions are source-agnostic—you define "National Pension" once, and the AI locates the corresponding value whether it appears on a Douzone PDF, an ECOUNT spreadsheet export, or a Shiftee electronic payslip. This is the practical advantage of semantic extraction over template-based approaches: adding a new payslip source does not require a new template.

How do I handle employees with the same name?

Include the Employee ID column (사원번호 or 생년월일) in your extraction definition. Dong-soo Kim from the engineering team and Dong-soo Kim from the sales team will be disambiguated by their employee numbers. If the payslip uses birth dates instead, define Employee DOB as a separate column. The extracted table then contains enough identifying information to correctly assign each row to the right person in your downstream spreadsheet.

What if the social insurance rates change mid-year?

Korean social insurance rates are announced annually and take effect January 1. The 2026 rates listed in this article (National Pension 9.5%, Health Insurance 7.19%) apply to all payslips with a pay date from January 1, 2026 onward. If a rate change occurs mid-year—rare but possible through emergency legislation—update your verification formulas and re-check any flagged rows. The extraction itself does not need recalibration; the AI reads the actual printed amounts, not the expected amounts.

Can the Google Sheets add-on handle this workflow?

Yes. ImageToTable.ai's Google Sheets add-on extracts payslip data directly into your active spreadsheet tab, eliminating the download-upload-reimport cycle entirely. Define your columns once in the sidebar, upload payslip files, and the extracted rows append directly below your existing reconciliation formulas. For companies already running payroll in Google Sheets, the add-on reduces the extraction workflow to a single platform.

A Korean payslip contains more data than most HR teams ever actually use—but every field on it is mandatory for a reason. The National Pension deduction is not just a number being subtracted from your pay; it is one half of a statutory obligation that funds the retirement of 22 million enrolled workers. The Health Insurance premium is not an arbitrary line item; it is the funding mechanism for a single-payer system covering 51 million people. Understanding what each field represents makes you better at verifying it. And having that data in Excel—instead of trapped inside a PDF exported from Douzone—makes it actionable.

Test the extraction on your own payslips. If 3 minutes per slip drops to 5 seconds, you reclaim roughly 11 working hours per year for every 30 employees on payroll.

📮 contact email: [email protected]