Câu chuyện bắt đầu từ một lô hàng bị trả về kho
Một khách hàng của chúng tôi làm hàng thực phẩm khô, đóng gói theo thùng 24 gói, xếp pallet 40 thùng để giao cho một chuỗi siêu thị. Lần đầu xuất hàng, đội kho bên siêu thị quét mã trên pallet, hệ thống báo lỗi "không nhận diện được đơn vị logistics", và cả xe hàng phải quay đầu chờ dán lại nhãn. Vấn đề không phải vì mã vạch in sai hay mờ. Vấn đề là công ty in đúng một mã ITF-14 duy nhất, dán lên cả thùng lẫn pallet, trong khi hệ thống kho tự động của siêu thị chỉ chấp nhận mã SSCC dạng GS1-128 cho cấp độ pallet.
Đây là kiểu lỗi rất hay gặp, vì phần lớn tài liệu tiếng Việt về ITF-14 chỉ dừng ở mức định nghĩa — nó là gì, dùng để làm gì — mà không nói rõ ranh giới: ITF-14 sinh ra cho thùng carton (case), không phải cho pallet. Bài này sẽ đi thẳng vào phần bị bỏ sót đó, cộng với cách tự đọc và tự kiểm tra một mã ITF-14 mà không cần máy quét.
ITF-14 là gì, và vì sao lại là con số 14
ITF-14 là tên của kiểu ký hiệu vạch (symbology), viết tắt của Interleaved 2 of 5 phiên bản 14 chữ số. Dữ liệu nó mang theo gọi là GTIN-14 — Global Trade Item Number 14 chữ số, do GS1 quản lý cấu trúc. Nói đơn giản: GTIN-14 là con số, ITF-14 là cách vẽ con số đó thành các vạch để máy quét đọc được.
So với EAN-13 in trên bao bì lẻ mà người tiêu dùng quét ở quầy thu ngân, ITF-14 to hơn, vạch dày hơn, và quan trọng nhất là được thiết kế để in trực tiếp lên bề mặt thùng carton gợn sóng — bề mặt xốp, dễ nhòe mực, khó in sắc nét như giấy tráng phủ. Máy quét công nghiệp ở băng chuyền kho vận cần một mã chịu được sai số in ấn đó, và ITF-14 làm đúng việc này.
Cấu trúc 14 chữ số: không phải bốc thêm số ngẫu nhiên
GTIN-14 không phải EAN-13 cộng thêm một số 0 cho đủ 14 chữ số như nhiều người vẫn nghĩ. Cấu trúc thật sự gồm ba phần ghép lại:
Chữ số đầu tiên gọi là chữ số chỉ thị bao bì (packaging indicator), giá trị từ 0 đến 9. Đây là phần hay bị giải thích mơ hồ nhất trên các trang khác. Giá trị từ 1 đến 8 không có quy định cứng về ý nghĩa — mỗi doanh nghiệp tự chọn một con số để đại diện cho một cấp đóng gói cụ thể của mình, miễn là nhất quán. Ví dụ phổ biến trong thực tế: 1 cho gói lốc nhỏ (inner pack), 2 cho thùng carton tiêu chuẩn, 3 cho thùng lớn hơn gồm nhiều thùng con. Giá trị 0 có ý nghĩa đặc biệt: nó báo rằng mã 14 số này chính là GTIN của đơn vị bán lẻ, chỉ được biểu diễn ở dạng 14 số cho đồng bộ hệ thống, không đại diện cho một cấp đóng gói mới. Giá trị 9 cũng đặc biệt: dùng cho các mặt hàng có số đo thay đổi — variable measure — như thịt, hải sản, nông sản cân theo trọng lượng thực tế từng thùng, và luôn phải đi kèm mã GS1-128 mang thêm dữ liệu trọng lượng, hạn dùng.
Sau chữ số chỉ thị là 12 chữ số kế thừa nguyên vẹn từ tiền tố công ty GS1 (GS1 Company Prefix) và mã phân định vật phẩm (item reference) của chính sản phẩm bán lẻ bên trong — tức là lấy GTIN-13 gốc của sản phẩm, bỏ chữ số kiểm tra cuối, rồi gắn chữ số chỉ thị vào đầu. Đây là lý do vì sao khi cầm mã ITF-14 trên thùng và mã EAN-13 trên gói lẻ bên trong, bạn sẽ thấy 12 số ở giữa gần như trùng khớp — chỉ khác số đầu và số cuối.
Chữ số cuối cùng, thứ 14, là chữ số kiểm tra (check digit), tính lại từ 13 số đứng trước theo thuật toán riêng — không phải chép lại chữ số kiểm tra của GTIN-13 gốc.
Tự tính chữ số kiểm tra: làm một lần để hiểu, không cần làm lại
Hầu hết bài viết chỉ nói "có thuật toán mod 10" rồi dừng lại, không ai chỉ ra cách làm cụ thể. Thử với một ví dụ số thật.
Giả sử sản phẩm có GTIN-13 gốc là 8938502001237 (tiền tố GS1 Việt Nam 893, phần còn lại doanh nghiệp tự cấp). Bỏ chữ số kiểm tra cuối (số 7), còn lại 12 số: 893850200123. Gắn chữ số chỉ thị 1 (đại diện cho thùng carton) vào đầu, ta có 13 số: 1893850200123.
Bây giờ tính chữ số kiểm tra thứ 14. Đếm từ phải sang trái, nhân lần lượt các vị trí lẻ (1, 3, 5...) với 3 và vị trí chẵn (2, 4, 6...) với 1, rồi cộng tất cả lại. Với dãy 1893850200123, tổng có trọng số ra 86. Lấy 86, làm tròn lên bội số 10 gần nhất là 90, hiệu số là 4. Vậy chữ số kiểm tra là 4, và mã ITF-14 hoàn chỉnh là 18938502001234.
Điều đáng nhớ ở đây không phải là nhớ thuộc lòng thuật toán — phần mềm in tem sẽ tự tính — mà là hiểu nguyên lý để biết cách tự soát lỗi khi máy quét báo "invalid": nếu mã bạn nhập tay bị lệch một số, chữ số kiểm tra gần như chắc chắn sẽ không khớp, và đó là cách nhanh nhất để phát hiện gõ nhầm mã thủ công trong hệ thống ERP hay WMS.
Khi nào thật sự dùng ITF-14 — và khi nào không
Dùng ITF-14 khi bạn cần định danh một nhóm hàng hóa giống hệt nhau, đóng gói cố định, không đi qua quầy thu ngân bán lẻ. Điển hình nhất là thùng carton chứa N sản phẩm giống nhau — ví dụ thùng 24 lon nước ngọt, thùng 12 hộp bánh cùng loại cùng hạn dùng. Chừng nào nội dung bên trong thùng còn cố định về số lượng và mã sản phẩm, GTIN-14 của thùng đó không đổi, và bạn có thể in sẵn hàng loạt.
Nhưng có ba tình huống ITF-14 không phải lựa chọn đúng, và đây chính là phần các bài viết khác thường bỏ sót:
Thứ nhất, khi đơn vị đóng gói là pallet chứ không phải thùng đơn lẻ. Pallet thường không cố định nội dung — có thể chứa hỗn hợp nhiều loại thùng khác nhau, số lượng thùng thay đổi theo lần xếp, và quan trọng nhất là mỗi pallet cần được truy vết như một thực thể vật lý duy nhất, có số sê-ri riêng, không lặp lại. Đây là việc của SSCC — Serial Shipping Container Code, một mã 18 chữ số luôn được mang bởi ký hiệu GS1-128 chứ không phải ITF-14. SSCC hoạt động như một "biển số xe" cho từng pallet cụ thể: pallet giao ngày hôm nay và pallet giao ngày mai dù cùng loại hàng vẫn có hai SSCC khác nhau, trong khi hai thùng carton cùng loại hàng lại mang chung một GTIN-14. Nhầm lẫn hai khái niệm này — dùng GTIN-14 tĩnh để đại diện cho một pallet vốn cần định danh động — chính là lỗi khiến lô hàng ở đầu bài bị từ chối.
Thứ hai, khi hàng hóa có số đo biến đổi theo từng đơn vị đóng gói, như thủy sản đông lạnh cân theo kg thực tế mỗi thùng. Trường hợp này dùng chữ số chỉ thị 9 kết hợp GS1-128 mang thêm mã ứng dụng (Application Identifier) cho trọng lượng thực và ngày sản xuất, vì bản thân ITF-14 không có chỗ chứa dữ liệu biến đổi.
Thứ ba, khi bạn cần mang theo dữ liệu ngoài định danh — lô sản xuất, hạn sử dụng, ngày đóng gói — trên chính nhãn thùng. ITF-14 chỉ mã hóa được đúng 14 chữ số định danh, không nhét thêm được gì khác. Muốn có lô và hạn dùng đi cùng mã thùng, bắt buộc phải chuyển sang GS1-128, dùng chung với hoặc thay cho ITF-14 trên cùng nhãn.
Đọc một mã ITF-14 mà không cần máy quét
Khi cầm một nhãn thùng in ITF-14 trong tay, cách đọc nhanh không cần thiết bị: nhìn chữ số đầu tiên để biết cấp đóng gói doanh nghiệp đó quy ước (tra trong tài liệu nội bộ hoặc catalogue sản phẩm của nhà cung cấp), bỏ qua để đọc 12 số giữa — đó chính là phần lõi trùng với GTIN-13 của sản phẩm bên trong, dùng để đối chiếu nhanh xem thùng này có đúng chứa sản phẩm bạn nghĩ hay không — và chữ số cuối chỉ dùng để máy tự kiểm tra lỗi, không mang thông tin nghiệp vụ.
Một mẹo thực tế: khi nhận hàng ở kho mà máy quét báo lỗi liên tục trên cùng một lô thùng, trước khi nghi ngờ máy hỏng, hãy nhìn vào phần bearer bar — khung viền bao quanh toàn bộ mã ITF-14. GS1 yêu cầu bắt buộc phải có khung viền này khi in trực tiếp lên bề mặt carton gợn sóng, vì nó giữ cho các vạch không bị biến dạng do độ nhòe của mực trên giấy xốp. Thùng nào thiếu khung viền, hoặc khung bị cắt do đặt nhãn quá sát mép thùng, tỷ lệ quét lỗi tăng rõ rệt dù mắt thường nhìn vẫn thấy các vạch đọc được.
Về vị trí dán, quy chuẩn phổ biến là dán trên ít nhất hai mặt bên liền kề của thùng, không dán trên mặt đáy hay mặt sẽ bị pallet khác che khuất khi xếp chồng, và giữ vùng trắng yên tĩnh (quiet zone) hai bên mã tối thiểu bằng khoảng 10 lần bề rộng vạch mảnh nhất — thiếu vùng trắng này là nguyên nhân phổ biến thứ hai gây lỗi quét, sau lỗi thiếu bearer bar.
Một quy tắc GS1 hay bị bỏ qua: đổi nội dung, phải đổi mã
Rất nhiều doanh nghiệp coi GTIN-14 của một mã thùng là cố định vĩnh viễn, dùng lại cho mọi lần đóng gói miễn là tên sản phẩm không đổi. Đây là sai lầm âm thầm gây rối cho cả hệ thống kho lẫn hệ thống truy xuất nguồn gốc. Theo quy tắc phân định của GS1, bất kỳ thay đổi nào ảnh hưởng đến số lượng đơn vị bên trong thùng, kích thước thùng, hoặc thành phần sản phẩm bên trong đều bắt buộc phải cấp một GTIN-14 mới. Đổi từ thùng 24 gói sang thùng 20 gói mà vẫn dùng chung một mã ITF-14 cũ nghĩa là hệ thống kho của đối tác không có cách nào phân biệt được hai cấu hình đóng gói khác nhau — họ sẽ tính sai số lượng tồn kho thực tế mỗi khi nhận hàng, và nếu công ty bạn đang chạy hệ thống truy xuất nguồn gốc theo chuẩn EPCIS, sự kiện đóng gói (packing event) sẽ bị gắn sai vào một mã sản phẩm không còn phản ánh đúng thực tế lô hàng đó.
Đăng ký và cấp mã ở Việt Nam
Doanh nghiệp muốn có ITF-14 hợp lệ phải bắt đầu từ việc đăng ký tiền tố GS1 Việt Nam qua GS1 Việt Nam (thuộc Ủy ban Tiêu chuẩn Đo lường Chất lượng Quốc gia), nhận về một tiền tố công ty mang mã quốc gia 893 ở đầu. Từ tiền tố này, doanh nghiệp tự cấp mã phân định vật phẩm cho từng sản phẩm bán lẻ để có GTIN-13, rồi tự thêm chữ số chỉ thị và tính lại chữ số kiểm tra để có GTIN-14 cho từng cấp đóng gói lớn hơn — thùng, lốc, kiện — mà không cần xin cấp mã riêng cho mỗi cấp. Đây là phần thường bị hiểu nhầm: doanh nghiệp không cần đăng ký thêm với GS1 mỗi lần tạo một GTIN-14 mới, việc cấp phát nằm trong quyền tự quản của doanh nghiệp trên nền tiền tố đã được cấp, miễn tuân thủ đúng cấu trúc và quy tắc đổi mã khi thay đổi nội dung đóng gói.
Đặt ITF-14 vào bức tranh truy xuất nguồn gốc đầy đủ
Nếu doanh nghiệp đang vận hành hệ thống truy xuất nguồn gốc bằng QR code cho từng sản phẩm, ITF-14 chính là mắt xích còn thiếu ở tầng logistics. Một chuỗi cung ứng vận hành đầy đủ thường có ba tầng định danh xếp lồng nhau: mã QR hoặc DataMatrix mang GTIN-13 và số sê-ri riêng cho từng đơn vị bán lẻ, ITF-14 cố định cho cấp thùng carton chứa nhiều đơn vị giống nhau, và SSCC động qua GS1-128 cho từng pallet vật lý cụ thể khi xuất kho. Ba tầng này liên kết với nhau qua sự kiện đóng gói và sự kiện tổng hợp (aggregation event) trong chuẩn EPCIS — khi quét một SSCC ở cổng kho, hệ thống phải lần ngược được xuống đúng những thùng nào, và từ mỗi thùng lần tiếp xuống đúng những đơn vị bán lẻ nào đang nằm trong đó. Thiếu tầng ITF-14 ở giữa, hoặc dùng sai ITF-14 thay cho SSCC ở tầng pallet, chuỗi liên kết này đứt gãy ngay từ khâu xuất kho, và mọi nỗ lực truy xuất ở tầng người tiêu dùng phía sau đều mất đi phần dữ liệu logistics quan trọng nhất — hàng đi qua kho nào, ngày nào, lô nào.
Danh sách kiểm tra trước khi in nhãn thùng
Trước khi đưa file thiết kế nhãn ITF-14 ra nhà in, đáng để rà lại vài điểm: chữ số chỉ thị đã được quy ước nhất quán trong toàn bộ hệ thống nội bộ chưa, 12 số giữa có đúng khớp với GTIN-13 sản phẩm bên trong không, chữ số kiểm tra đã được phần mềm tính lại đúng cho tổ hợp 13 số mới hay vẫn đang bị copy nhầm từ mã gốc, khung viền bearer bar và vùng trắng yên tĩnh có đủ theo thông số in trực tiếp lên carton gợn sóng, và quan trọng nhất — nếu đơn hàng sẽ được xếp pallet giao cho nhà phân phối hoặc siêu thị có hệ thống kho tự động, nhãn pallet có đang dùng đúng SSCC qua GS1-128 thay vì lặp lại ITF-14 của thùng hay không. Bỏ qua bước cuối này là nguyên nhân phổ biến nhất khiến cả một xe hàng phải quay đầu ở cổng nhận kho.

Tác giả
VNCX Team
Bắt đầu với VNCX
Cần tư vấn giải pháp truy xuất nguồn gốc?
Đội ngũ VNCX sẵn sàng hỗ trợ bạn triển khai truy xuất nguồn gốc



