Skip to main content
Ink·tab

10-digit checksum + type guess

Verify a Korean BRN's format and checksum on the spot. Single or bulk.

Mode

Checksum + type inference only. For actual business existence, active/closed status, and tax classification, use Hometax.

When to use it

A new vendor sends over their Korean Business Registration Number (BRN) and you want to confirm in ten seconds that the format is right. Or you have a 200-row spreadsheet of BRNs and need to spot the typos, format errors, and duplicates in one pass.

What this checks

Only the checksum. Whether the last digit of the 10-digit BRN matches the value derived from the first nine. Whether the business actually exists, whether it's open or closed, whether it's standard / simplified / exempt for VAT — this tool cannot tell you that. For status, use Hometax → '사업자상태 조회'.

Algorithm

weights = [1, 3, 7, 1, 3, 7, 1, 3, 5]
sum = Σ digits[i] * weights[i]   (i = 0..8)
sum += floor(digits[8] * 5 / 10)   // 9th-digit correction
checkDigit = (10 - sum mod 10) mod 10
valid = checkDigit == digits[9]

The National Tax Service's standard. Zero external libraries.

Type inference (4·5 digits)

| 4·5 digits | Inferred type | |---|---| | 01–79 | Sole proprietor | | 80 | MLM / trust operator | | 81–84 | Corporate HQ (for-profit) | | 85 | Unit-tax taxpayer | | 86–87 | Corporate branch | | 89 | Non-profit HQ | | 90–99 | Non-profit branch |

Edge cases exist (the table evolves and partial overlaps are possible), so the result is labeled "inferred."

Bulk mode

One per line, or separated by comma, semicolon, or whitespace. The results table copies to CSV (paste directly into Excel). Keep it under ~1,000 rows for UI responsiveness.

Privacy

Vendor lists, bulk BRNs, and validation results are not transmitted — the algorithm is just multiplication and modulo. Zero external calls, including no Hometax API.

Not the right tool when

  • Confirming a business is actually registered — checksum is form only. For real existence, active/closed status, and tax type, use Hometax or call ARS 1588-0560.
  • Verifying invoice eligibility — separate concern. Ask the vendor or check Hometax directly.
  • Resident-registration number validation — intentionally not offered. Personal-information territory, and a checksum doesn't equal identity verification.
  • Foreigner-registration or corporate-registration numbers — those use different algorithms and are not supported here.

BRNs stay on the page

Vendor lists, bulk BRNs, and validation results are not transmitted. The check is just weighted multiplication and modulo arithmetic — zero external libraries. Hometax's business-status API is never called.

Frequently asked questions

Does this tell me if a business is currently active?
No. This validates only the *checksum* (formal correctness) of a 10-digit BRN. For actual existence, active/closed status, and tax classification, use Hometax → '사업자상태 조회'.
How does the checksum algorithm work?
Multiply digits 1–9 by weights [1,3,7,1,3,7,1,3,5], add floor(digit_9 × 5 / 10), then (10 - sum mod 10) mod 10 must equal the 10th digit. Same algorithm the National Tax Service uses.
What does the 4·5 digit type inference mean?
01–79: sole proprietor, 80: MLM / trust operator, 81–84: corporate HQ (for-profit), 85: unit-tax taxpayer, 86–87: corporate branch, 89: non-profit HQ, 90–99: non-profit branch. Marked as 'inference' since edge cases exist.
How many entries does bulk mode take?
No hard limit — anything you paste is validated. For UI responsiveness, keep it under ~1,000 lines. Copy results as CSV to bring into Excel or a spreadsheet.
Does this validate Korean resident-registration numbers (13 digits) too?
No. This is BRN-only (10 digits). Resident-number validation is intentionally not offered — it's personal-information territory, and validation does not equal identity verification.