Menu

Mã số đăng ký công ty theo từng quốc gia

Mã số đăng ký công ty do cơ quan đăng ký của mỗi nước cấp, nên không có định dạng chung. Bài này nói rõ những hình dạng thường gặp, cách tra cứu ở nguồn chính thức và cách thiết kế trường dữ liệu không bị bó hẹp.

Đăng ngày

  • đăng ký doanh nghiệp
  • dữ liệu thử
  • kiểm thử

Mã số đăng ký công ty là dãy ký tự mà cơ quan đăng ký doanh nghiệp của một quốc gia hoặc vùng lãnh thổ gán cho mỗi chủ thể khi nó được ghi nhận. Nghe thì đơn giản, nhưng đây là trường dữ liệu gây lỗi nhiều nhất trong các biểu mẫu xuyên biên giới, vì không tồn tại một chuẩn chung nào để bám vào. Bài này giải thích vì sao, và cách xử lý cho đúng.

Mã số đăng ký công ty là gì?

Đây là định danh nội bộ của một sổ đăng ký. Cơ quan đăng ký dùng nó để phân biệt hai doanh nghiệp trùng tên, để liên kết hồ sơ pháp lý của một chủ thể qua nhiều năm, và để công chúng tra cứu. Vì vậy mã này chỉ có nghĩa trong phạm vi sổ đăng ký đã cấp nó. Nếu bạn đưa một mã ra khỏi bối cảnh đó mà không kèm theo quốc gia và cơ quan cấp, nó gần như vô nghĩa.

Cần phân biệt mã số đăng ký với vài mã hay bị gộp chung. Mã số thuế và mã VAT là định danh phục vụ nghĩa vụ thuế, do cơ quan thuế quản lý. Mã định danh pháp nhân quốc tế là một hệ thống riêng, độc lập với sổ đăng ký. Một doanh nghiệp có thể có nhiều mã cùng lúc, và các mã đó không suy ra được từ nhau.

Vì sao không có một định dạng chung cho mọi quốc gia?

Vì hình dạng của mã do luật và thực tiễn hành chính của từng nơi quyết định, không do một tổ chức quốc tế nào đặt ra. Mỗi sổ đăng ký ra đời ở một thời điểm khác nhau, phục vụ một hệ thống thuế và một hệ thống toà án khác nhau. Khi số lượng doanh nghiệp tăng, có nơi thêm tiền tố theo loại hình, có nơi thêm chữ số kiểm tra, có nơi đổi hẳn cách đánh số nhưng vẫn phải giữ các mã cũ để tra cứu hồ sơ lịch sử.

Hệ quả là bất kỳ câu khẳng định kiểu “mã đăng ký công ty có đúng bao nhiêu ký tự” đều sai ở phần lớn quốc gia. Ngay cả trong một quốc gia, độ dài cũng có thể khác nhau giữa các giai đoạn. Vì vậy khi bạn gặp một tài liệu nói rằng mã đăng ký luôn có một độ dài cố định, khả năng cao tài liệu đó chỉ đang nói về một quốc gia cụ thể.

Những hình dạng thường gặp

Bảng dưới đây gom các kiểu phổ biến. Đây là mô tả định tính, không phải bảng tra cứu cho từng nước.

Kiểu Mô tả Điều cần lưu ý khi xử lý
Chữ cái rồi tới số Một tiền tố ngắn chỉ loại hình hoặc khu vực, theo sau là một nhóm chữ số Đừng cắt bỏ tiền tố khi chuẩn hoá, vì nó là một phần của mã
Số thuần Một dãy chữ số, đôi khi chia thành nhóm bằng dấu gạch hoặc dấu chấm Dấu phân nhóm là quy ước trình bày, không phải một phần dữ liệu
Có chữ số kiểm tra Những chữ số cuối được tính từ các chữ số trước theo một quy tắc công bố Chỉ kiểm tra được nếu bạn có quy tắc chính thức của nơi đó
Có năm trong mã Mã gắn với năm thành lập hoặc năm đăng ký Năm trong mã không đồng nghĩa với ngày hoạt động thực tế

Điểm chung duy nhất là mỗi mã chỉ có nghĩa khi đi kèm quốc gia. Trong cơ sở dữ liệu, hãy coi quốc gia đăng ký là một phần của khoá, chứ không phải một cột trang trí.

Tra cứu một mã ở đâu mới đúng?

Muốn biết một mã có thật hay không, nguồn duy nhất đáng tin là sổ đăng ký doanh nghiệp của quốc gia đã cấp nó, hoặc cổng công bố thông tin doanh nghiệp của nước đó. Nhiều nơi cho tra cứu miễn phí theo tên hoặc theo mã; một số nơi thu phí với bản trích lục đầy đủ. Nếu bạn làm việc với dữ liệu châu Âu, việc tra theo cổng công bố của từng nước thường hiệu quả hơn là tìm một công cụ tổng hợp, vì công cụ tổng hợp có độ trễ cập nhật.

Khi cần đối chiếu với thông tin địa chỉ của một chủ thể, bạn có thể bắt đầu từ các trang quốc gia của trang này, ví dụ Đức hoặc Nhật Bản, để biết cách trình bày địa chỉ và mã bưu chính mà nơi đó dùng. Những trang này giúp bạn kiểm tra xem dữ liệu của mình có khớp với quy ước địa phương hay không, chứ không thay thế được sổ đăng ký.

Vì sao mã đúng định dạng vẫn chưa chắc tồn tại?

Vì định dạng chỉ nói lên hình dạng, còn sự tồn tại phải do cơ quan cấp xác nhận. Một người dùng có thể gõ đúng cấu trúc của mã nhưng nhập nhầm một chữ số, và hệ thống của bạn sẽ không phát hiện được nếu chỉ kiểm tra bằng biểu thức chính quy. Ngay cả khi mã có chữ số kiểm tra, việc kiểm tra đó cũng chỉ loại được lỗi gõ tay, không chứng minh doanh nghiệp đang hoạt động, không chứng minh tên đi kèm là đúng, và càng không chứng minh người đang nhập có quyền đại diện cho chủ thể đó.

Trong dữ liệu thử, đây lại là điểm hữu ích: bạn có thể tạo mã đúng hình dạng để chạy hết các nhánh của biểu mẫu mà không chạm tới bất kỳ mã thật nào. Bài kiểm tra mã số thuế đi sâu vào việc phân biệt kiểm tra định dạng với kiểm tra sự tồn tại, còn bài mã số VAT theo quốc gia bàn về trường hợp mã VAT có dịch vụ tra cứu công khai.

Phần dành cho nhà phát triển

Sai lầm phổ biến nhất là dùng định dạng của quốc gia mình để chặn dữ liệu của mọi quốc gia còn lại. Một biểu thức chính quy hẹp, viết từ một ví dụ duy nhất, sẽ âm thầm từ chối khách hàng hợp lệ ở nơi khác, và lỗi đó thường chỉ lộ ra ở bước cuối của luồng thanh toán.

Vài lựa chọn nên chốt ngay từ đầu:

  • Cho trường mã số là chuỗi tự do có độ dài rộng, chỉ giới hạn ở mức chống lạm dụng, chứ không giới hạn theo một quốc gia.
  • Lưu quốc gia và cơ quan cấp cùng với mã, vì nếu thiếu hai thông tin đó thì việc tra cứu về sau sẽ phải đoán.
  • Tách việc chuẩn hoá khỏi việc xác minh. Chuẩn hoá chỉ nên làm những việc có thể hoàn tác, như bỏ khoảng trắng thừa; đừng tự thêm hay bớt tiền tố.
  • Đừng dùng một mẫu kiểm tra chung cho nhiều quốc gia nếu bạn không có căn cứ cho từng nước; thà chấp nhận rộng còn hơn từ chối sai.
  • Ghi lại nguồn và thời điểm tra cứu, để khi một mã bị từ chối bạn biết đó là do quy tắc nào.

Nếu bạn cần dữ liệu để thử, trình tạo dữ liệu công ty để thử nghiệm của trang này sinh một bộ hồ sơ công ty tổng hợp theo quốc gia bạn chọn, gồm cả mã số đăng ký và mã VAT, kèm một khoá danh tính để bạn sinh lại đúng bộ đó khi cần. Các ví dụ trong bài đều là chủ thể đặt kiểu mẫu, chỉ nhằm phục vụ thử nghiệm và trình diễn, và không nên được dùng cho bất kỳ thủ tục nào có hiệu lực thật.

Bước tiếp theo

Hãy rà lại danh sách quốc gia trong sản phẩm của bạn và xếp chúng thành nhóm theo kiểu mã số, rồi viết một bài thử cho mỗi nhóm chứ không cho mỗi nước. Sau đó thêm hai tình huống dễ bị bỏ sót: doanh nghiệp đăng ký ở một nước nhưng giao dịch ở nước khác, và doanh nghiệp có mã cũ được cấp trước khi quy tắc đánh số thay đổi.

Đọc tiếp

Bài viết về Trình tạo dữ liệu công ty để thử nghiệm