> For the complete documentation index, see [llms.txt](https://huongdan.cnvloyalty.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://huongdan.cnvloyalty.com/tinh-nang/cau-hinh/cong-ket-noi-du-lieu/import-du-lieu-cu.md).

# Import dữ liệu cũ

Lưu ý khi import dữ liệu

<table data-header-hidden><thead><tr><th width="124">File</th><th width="71" align="center">STT</th><th>Thông tin import</th><th>Giải pháp</th><th>Lỗi thường gặp</th></tr></thead><tbody><tr><td><strong>File</strong></td><td align="center"><strong>STT</strong></td><td><strong>Thông tin import</strong></td><td><strong>Giải pháp</strong></td><td><strong>Lỗi thường gặp</strong></td></tr><tr><td></td><td align="center">1</td><td>Khuyến khích Merchant import dữ liệu cũ</td><td><p>Merchant vẫn quản lý đơn hàng ở POS đang dùng</p><p>Import đầy đủ dữ liệu khách hàng để Merchant có thể chăm sóc, gửi ưu đãi, khai thác hiệu quả</p></td><td>Tránh mất thời gian, tốn tài nguyên và hạn chế sai sót khi đồng bộ dữ liệu cũ</td></tr><tr><td></td><td align="center">2</td><td>Thông tin dữ liệu</td><td><p>Không nên chứa các dấu như dấu <strong>, ; ‘ ’ “ ”</strong></p><p>Đặc biệt <mark style="color:red;"><strong>KHÔNG được chứa dấu ,</strong></mark> (phẩy)</p></td><td>Tránh xảy ra lỗi khi import lên hệ thống</td></tr><tr><td></td><td align="center">3</td><td>Số lượng dữ liệu</td><td>Chỉ nhập tối đa <mark style="color:red;"><strong>5000 dòng dữ liệu</strong></mark> / 01 file hoặc 01 sheet</td><td><p>Tránh lỗi kết nối giữa chừng</p><p>➝ Khó kiểm tra dữ liệu đã dừng ở dòng nào</p></td></tr><tr><td></td><td align="center">4</td><td>Các cột <mark style="color:red;"><strong>BẮT BUỘC</strong></mark></td><td>Phải nhập đủ thông tin</td><td>Nếu bỏ trống thông tin ở cột Bắt Buộc sẽ không thể import dữ liệu</td></tr><tr><td><p>Customer</p><p>và Order</p></td><td align="center">5</td><td>Khi Merchant muốn import cả 02 file Customer và Order</td><td><p><strong>Total_Amount</strong> (của file Customer) và</p><p><strong>Point</strong> (của file Order)</p><p>nên nhập bằng 0</p></td><td>Tránh double dữ liệu</td></tr><tr><td>Customer</td><td align="center">6</td><td><p>Cột <strong>Phone</strong></p><p>Cột <strong>Email</strong></p></td><td>Cần kiểm tra kỹ</td><td>Tránh sai sót khi import File ở hệ thống</td></tr><tr><td>Customer</td><td align="center">7</td><td>Nếu khách hàng không có số điện thoại (ở cột <strong>Phone</strong>)</td><td><p>Có thể thay thế bằng số khác nhưng <mark style="color:red;"><strong>không được trùng nhau</strong></mark></p><p>Ví dụ: 04 khách hàng A, B, C, D đều không có số điện thoại</p><p>➝ Nhập số điện thoại theo thứ tự 1, 2, 3, 4 tương ứng với mỗi khách hàng</p></td><td><p>Nếu dữ liệu trong cột <strong>Phone</strong> trùng nhau</p><p>➝ Hệ thống tính là cùng 01 khách hàng</p><p>➝ Hệ thống chỉ import 01 khách hàng có trước và bỏ qua dòng khách hàng bị trùng</p></td></tr><tr><td>Order</td><td align="center">8</td><td>Đơn hàng có nhiều sản phẩm khác nhau</td><td><strong>OrderNum</strong> của các dòng phải giống nhau</td><td><p>Nếu <strong>OrderNum</strong> của các dòng khác nhau</p><p>➝ Hệ thống sẽ tính là các đơn hàng khác<br></p></td></tr><tr><td><p>Product và </p><p>Product </p><p>variant</p></td><td align="center">9</td><td>Hình ảnh</td><td></td><td>Không thể import hình ảnh</td></tr><tr><td>Product</td><td align="center">10</td><td>Mã <strong>SKU</strong></td><td>Nếu Sản phẩm có nhiều phiên bản (biến thể) thì <mark style="color:red;"><strong>SKU</strong></mark> của các phiên bản <mark style="color:red;"><strong>không được trùng nhau</strong></mark></td><td>Nếu <strong>SKU</strong> của các phiên bản trùng nhau, quá trình đồng bộ sẽ không thực hiện được</td></tr></tbody></table>

## Định nghĩa kiểu dữ liệu

<table data-header-hidden><thead><tr><th width="87.33333333333331" align="center">STT</th><th width="165" align="center">Kiểu dữ liệu</th><th>Mô tả</th></tr></thead><tbody><tr><td align="center"><strong>STT</strong></td><td align="center"><strong>Kiểu dữ liệu</strong></td><td><strong>Mô tả</strong></td></tr><tr><td align="center">1</td><td align="center">string</td><td><ul><li>Chuỗi chữ và số. Ví dụ: abc, 123, def456, 789hmo</li><li>Nếu cột dữ liệu không bắt buộc nhập thì có thể để trống</li></ul></td></tr><tr><td align="center">2</td><td align="center">int</td><td><p>Số nguyên dương. Ví dụ 012345</p><p><strong>Lưu ý:</strong></p><ul><li>Nếu nhập số thập phân, hệ thống sẽ báo lỗi. Ví dụ: 123,456 hoặc 123.456</li><li>Nếu cột dữ liệu không bắt buộc nhập thì có thể để 0</li></ul></td></tr><tr><td align="center">3</td><td align="center">boolean</td><td><ul><li>Chỉ được nhập <strong>True</strong> hoặc <strong>False</strong></li><li>Nếu cột dữ liệu không bắt buộc nhập thì để là False</li></ul></td></tr><tr><td align="center">4</td><td align="center">HTML</td><td>Liên kết website (đường link)</td></tr><tr><td align="center">5</td><td align="center">yyyy/mm/dd</td><td><p>Định dạng năm/tháng/ngày</p><p>Ví dụ: 2022/10/27</p><p><strong>Lưu ý</strong>: bắt buộc nhập đúng số lượng ký tự theo định dạng cho sẵn</p></td></tr></tbody></table>

## Mẫu File Excel

* **Bước 1**: Tải về mẫu File Excel
* **Bước 2**: Nhập dữ liệu theo mẫu Excel
* **Bước 3**: Liên hệ CNV Loyalty để cập nhật dữ liệu: <cskh@cnvloyalty.com>

### 1. Customer: Khách hàng

{% file src="/files/xvFntoG0Qso6M4UQ7Yfa" %}

<table data-header-hidden><thead><tr><th width="180">Tên cột</th><th width="133" align="center">Kiểu dữ liệu</th><th width="118" align="center">Bắt buộc</th><th>Mô tả</th></tr></thead><tbody><tr><td><strong>Tên cột</strong></td><td align="center"><strong>Kiểu dữ liệu</strong></td><td align="center"><strong>Bắt buộc</strong></td><td><strong>Mô tả</strong></td></tr><tr><td>first_name</td><td align="center">string</td><td align="center"></td><td><p>Tên khách hàng</p><ul><li>Chú ý: <strong>first_name và last_name,</strong>cả 2 trường này không được để trống, phải có tối thiểu 1 trong 2 <br></li></ul></td></tr><tr><td>last_name</td><td align="center">string</td><td align="center"></td><td><p>Họ và tên lót của khách hàng</p><ul><li>Chú ý: <strong>first_name và last_name,</strong>cả 2 trường này không được để trống, phải có tối thiểu 1 trong 2</li></ul></td></tr><tr><td>phone</td><td align="center">string</td><td align="center"><mark style="color:red;background-color:red;"><strong>Yes</strong></mark></td><td>Số điện thoại di động</td></tr><tr><td>address</td><td align="center">string</td><td align="center"></td><td>Địa chỉ</td></tr><tr><td>email</td><td align="center">string</td><td align="center"></td><td>Email</td></tr><tr><td>gender</td><td align="center">int</td><td align="center"></td><td>Giới tính (1: Nam, 2: Nữ)</td></tr><tr><td>birthday</td><td align="center">string</td><td align="center"></td><td>mm/dd/yyyy</td></tr><tr><td>tags</td><td align="center">string</td><td align="center"></td><td><p>Nếu trường có nhiều tags thì có thể nhập mỗi tags cách nhau bởi ký tự ’ <strong>|</strong> ’</p><p>Ví dụ: name1<strong>|</strong>name2</p></td></tr><tr><td>point</td><td align="center">int</td><td align="center"></td><td>Mặc định: 0<br>Để <strong>trống</strong> để số điểm <strong>không thay đổi</strong> (không ghi đè/không cộng dồn)</td></tr><tr><td>total_amount</td><td align="center">int</td><td align="center"></td><td><p>Tổng chi tiêu của khách hàng</p><p>Mặc định: 0<br>Để <strong>trống</strong> để tổng chi tiêu <strong>không thay đổi</strong> (không ghi đè/không cộng dồn)</p></td></tr><tr><td>note</td><td align="center">string</td><td align="center"></td><td>Ghi chú về đặc điểm của khách hàng</td></tr><tr><td>isOverwritten</td><td align="center">int</td><td align="center"><mark style="color:red;background-color:red;"><strong>Yes</strong></mark></td><td><p>Chỉ được nhập 2 giá trị là <strong>0</strong> và <strong>1</strong></p><ul><li>Mặc định: 0 (Tăng/giảm điểm và tổng chi tiêu của khách hàng)</li><li>1: Ghi đè điểm và tổng chi tiêu của khách hàng</li></ul></td></tr><tr><td>Physical Card</td><td align="center">string</td><td align="center"></td><td>Thêm thẻ cứng, gắn cho khách hàng tuỳ theo mục đích của doanh nghiệp</td></tr></tbody></table>

{% hint style="info" %}
Lưu ý:

* Nếu bạn chỉ cần đè/ cộng trừ điểm: cột tổng doanh thu bỏ trống
* Nếu bạn chỉ cần đè/ công trừ tổng chi tiêu: cột điểm bỏ trống
* Khi để trống import dữ liệu lên điểm hoặc tổng chi tiêu của khách hàng sẽ được giữ nguyên không thay đổi
  {% endhint %}

### 2. Order: Đơn hàng

{% file src="/files/-Mir8aMxQVxCWQFjLsDW" %}
Mẫu file Đơn hàng
{% endfile %}

![](/files/-MirCt40FzUT4SSywQSr)

<table data-header-hidden><thead><tr><th width="229">Tên cột</th><th width="137" align="center">Kiểu dữ liệu</th><th width="118" align="center">Bắt buộc</th><th>Mô tả</th></tr></thead><tbody><tr><td><strong>Tên cột</strong></td><td align="center"><strong>Kiểu dữ liệu</strong></td><td align="center"><strong>Bắt buộc</strong></td><td><strong>Mô tả</strong></td></tr><tr><td>orderNum</td><td align="center">string</td><td align="center"><mark style="color:red;background-color:red;"><strong>Yes</strong></mark></td><td><p>Nhóm các line item</p><p>Dành cho các đơn hàng có nhiều sản phẩm khác nhau nên orderNum sẽ giống nhau </p></td></tr><tr><td>saleChannelId</td><td align="center">int</td><td align="center"><mark style="color:red;background-color:red;"><strong>Yes</strong></mark></td><td><p>Kênh bán hàng, trong đó</p><p>2: Draft</p><p>3: App</p><p>5: Zalo</p><p>6: Web</p><p>7: FB</p><p>8: POS</p></td></tr><tr><td>shippingInfo_firstName</td><td align="center">string</td><td align="center"></td><td>Tên khách hàng</td></tr><tr><td>shippingInfo_lastName</td><td align="center">string</td><td align="center"></td><td>Họ và tên lót</td></tr><tr><td>shippingInfo_phone</td><td align="center">int</td><td align="center"></td><td>Số điện thoại khách hàng</td></tr><tr><td>shippingInfo_shippingAddress_address</td><td align="center">string</td><td align="center"></td><td>Địa chỉ giao hàng</td></tr><tr><td>lineItems_quantity</td><td align="center">int</td><td align="center"><mark style="color:red;background-color:red;"><strong>Yes</strong></mark></td><td>Số lượng hàng bán</td></tr><tr><td>lineItems_originalPrice</td><td align="center">int</td><td align="center"></td><td>Giá vốn</td></tr><tr><td>lineItems_price</td><td align="center">int</td><td align="center"><mark style="color:red;background-color:red;"><strong>Yes</strong></mark></td><td>Giá bán</td></tr><tr><td>lineItems_productName</td><td align="center">string</td><td align="center"><mark style="color:red;background-color:red;"><strong>Yes</strong></mark></td><td>Tên sản phẩm</td></tr><tr><td>lineItems_title</td><td align="center">string</td><td align="center"><mark style="background-color:red;"><strong>Yes</strong></mark></td><td>Tên biến thể</td></tr><tr><td>lineItems_isPhysycalProduct</td><td align="center"><p>boolean</p><p>(true/false)</p></td><td align="center"></td><td>Hàng hóa vật lý?</td></tr><tr><td>lineItems_isCustom</td><td align="center"><p>boolean</p><p>(true/false)</p></td><td align="center"></td><td><p>Sản phẩm tự mô tả? (Không có trong hệ thống và chỉ dùng để thống kê doanh thu đơn hàng)</p><ul><li>Giá trị "True": Khi import sẽ lấy giá theo file excel (Không xét SKU và không trừ vào tồn kho của sản phẩm đó).</li><li>Giá trị "False": Khi import sẽ lấy giá theo giá sản phẩm có SKU ở Hub (Bắt buộc phải nhập trường SKU của sản phẩm để trừ vào tồn kho của sản phẩm đó.)</li></ul></td></tr><tr><td>shipmentFee</td><td align="center">int</td><td align="center"></td><td>Phí vận chuyển</td></tr><tr><td>orderNote</td><td align="center">string</td><td align="center"></td><td>Ghi chú đơn hàng</td></tr><tr><td>isConfirmOrder</td><td align="center"><p>boolean</p><p>(true/false)</p></td><td align="center"></td><td>Xác thực đơn hàng?</td></tr><tr><td>isPaid</td><td align="center"><p>boolean</p><p>(true/false)</p></td><td align="center"></td><td>Đã thanh toán chưa?</td></tr><tr><td>shippingInfo_shippingAddress_phone</td><td align="center">string</td><td align="center"></td><td>Số điện thoại giao hàng</td></tr><tr><td>sku</td><td align="center">string</td><td align="center"></td><td>Mã SKU</td></tr><tr><td>isDirectDelivery</td><td align="center"><p>boolean</p><p>(true/false)</p></td><td align="center"></td><td>Đã giao hàng chưa?</td></tr><tr><td>orderDate</td><td align="center">yyyy/mm/dd</td><td align="center"></td><td>Ngày đặt hàng</td></tr></tbody></table>

### 3. Product: Sản phẩm

{% file src="/files/-MiqsXOQvLOeOmwRpDIM" %}
Mẫu file Sản phẩm
{% endfile %}

<table data-header-hidden><thead><tr><th>Tên cột</th><th width="134">Kiểu dữ liệu</th><th width="122" align="center">Bắt buộc</th><th>Mô tả</th></tr></thead><tbody><tr><td><strong>Tên cột</strong></td><td><strong>Kiểu dữ liệu</strong></td><td align="center"><strong>Bắt buộc</strong></td><td><strong>Mô tả</strong></td></tr><tr><td>title</td><td>string</td><td align="center"><mark style="color:red;background-color:red;"><strong>Yes</strong></mark></td><td>Tiêu đề sản phẩm</td></tr><tr><td>description</td><td>html / string</td><td align="center"><mark style="color:red;background-color:red;"><strong>Yes</strong></mark></td><td>Mô tả sản phẩm</td></tr><tr><td>imageUrls</td><td>string</td><td align="center"></td><td>URL hình ảnh sản phẩm</td></tr><tr><td>seoMetaDescription</td><td>string</td><td align="center"></td><td>Mô tả SEO meta</td></tr><tr><td>seoTitle</td><td>string</td><td align="center"></td><td>Tiêu đề SEO</td></tr><tr><td>seoUrlHandle</td><td>string</td><td align="center"></td><td>Tìm kiếm theo URL </td></tr><tr><td>productTypeName</td><td>string</td><td align="center"><mark style="color:red;background-color:red;"><strong>Yes</strong></mark></td><td>Loại sản phẩm</td></tr><tr><td>vendorName</td><td>string</td><td align="center"></td><td></td></tr><tr><td>productOption1</td><td>string</td><td align="center"></td><td>Tên thuộc tính biến thể 1</td></tr><tr><td>productOption2</td><td>string</td><td align="center"></td><td>Tên thuộc tính biến thể 2</td></tr><tr><td>productOption3</td><td>string</td><td align="center"></td><td>Tên thuộc tính biến thể 3</td></tr><tr><td>variantOptionValue1</td><td>string</td><td align="center"></td><td>Giá trị thuộc tính biến thể 1</td></tr><tr><td>variantOptionValue2</td><td>string</td><td align="center"></td><td>Giá trị thuộc tính biến thể 2</td></tr><tr><td>variantOptionValue3</td><td>string</td><td align="center"></td><td>Giá trị thuộc tính biến thể 3</td></tr><tr><td>variantImageUrl</td><td>string</td><td align="center"></td><td>URL hình ảnh biến thể</td></tr><tr><td>price</td><td>int</td><td align="center"><mark style="color:red;background-color:red;"><strong>Yes</strong></mark></td><td>Giá bán</td></tr><tr><td>comparePrice</td><td>int</td><td align="center"></td><td>Giá so sánh</td></tr><tr><td>sku</td><td>string</td><td align="center"></td><td>Mã SKU</td></tr><tr><td>barcode</td><td>int</td><td align="center"></td><td>Mã barcode</td></tr><tr><td>isDraft</td><td><p>boolean</p><p>(true / false)</p></td><td align="center"></td><td>Sản phẩm nháp?</td></tr><tr><td>saleChannel</td><td><p>boolean</p><p>(true / false)</p></td><td align="center"></td><td>Kênh bán hàng, bao gồm:<br>- HUB<br>- App<br>- Zalo<br>- Web<br>- Facebook (Fb)<br>- POS<br>- Order</td></tr><tr><td>variantAvailableQuantity</td><td>int</td><td align="center"></td><td>Số lượng biến thể khả dụng</td></tr><tr><td>variantWeight</td><td>int</td><td align="center"></td><td>Khối lượng (cân nặng) của biến thể</td></tr><tr><td>status</td><td>int</td><td align="center"></td><td>Trạng thái sản phẩm <em>(chỉ áp dụng cho mẫu file csv)</em></td></tr><tr><td>costPerItem</td><td>int</td><td align="center"></td><td>Giá vốn <em>(chỉ áp dụng cho mẫu file csv)</em></td></tr><tr><td>availableQuantity</td><td>int</td><td align="center"></td><td>Số lượng khả dụng <em>(chỉ áp dụng cho mẫu file csv)</em></td></tr><tr><td>isPhysycalProduct</td><td><p>boolean</p><p>(true / false)</p></td><td align="center"></td><td>Sản phẩm vật lý? <em>(chỉ áp dụng cho mẫu file csv)</em></td></tr><tr><td>isMultipleVariant</td><td><p>boolean</p><p>(true / false)</p></td><td align="center"></td><td>Nhiều biến thể? <em>(chỉ áp dụng cho mẫu file csv)</em></td></tr><tr><td>isChargeTax</td><td><p>boolean</p><p>(true / false)</p></td><td align="center"></td><td>Chịu thuế? <em>(chỉ áp dụng cho mẫu file csv)</em></td></tr><tr><td>isTrackQuantity</td><td><p>boolean</p><p>(true / false)</p></td><td align="center"></td><td>Theo dõi số lượng? <em>(chỉ áp dụng cho mẫu file csv)</em></td></tr></tbody></table>

### 4. Product Variant: Biến thể sản phẩm

<table data-header-hidden><thead><tr><th width="230">Tên cột</th><th width="128">Kiểu dữ liệu  </th><th width="122" align="center">Bất buộc</th><th>Mô tả</th></tr></thead><tbody><tr><td><strong>Tên cột</strong></td><td><strong>Kiểu dữ liệu</strong>  </td><td align="center"><strong>Bắt buộc</strong></td><td><strong>Mô tả</strong></td></tr><tr><td>product_number</td><td>string</td><td align="center"><mark style="color:red;background-color:red;"><strong>Yes</strong></mark></td><td>Dành cho product có nhiều variant</td></tr><tr><td>title</td><td>string</td><td align="center"><mark style="color:red;background-color:red;"><strong>Yes</strong></mark></td><td>Tiêu đề sản phẩm</td></tr><tr><td>description</td><td>html / string</td><td align="center"><mark style="color:red;background-color:red;"><strong>Yes</strong></mark></td><td>Mô tả sản phẩm</td></tr><tr><td>sku</td><td>string</td><td align="center"></td><td>Mã SKU</td></tr><tr><td>seo_title</td><td>string</td><td align="center"></td><td>SEO title</td></tr><tr><td>seo_metaDescription</td><td>string</td><td align="center"></td><td>SEO meta description</td></tr><tr><td>seo_urlHandle</td><td>string</td><td align="center"></td><td>Tìm kiếm theo URL</td></tr><tr><td>barcode</td><td>int</td><td align="center"></td><td>Mã barcode</td></tr><tr><td>status</td><td>int</td><td align="center"></td><td>Trạng thái sản phẩm</td></tr><tr><td>price</td><td>int</td><td align="center"><mark style="color:red;background-color:red;"><strong>Yes</strong></mark></td><td>Giá bán</td></tr><tr><td>comparePrice</td><td>int</td><td align="center"></td><td>Giá so sánh</td></tr><tr><td>costPerItem</td><td>int</td><td align="center"></td><td>Giá vốn</td></tr><tr><td>availableQuantity</td><td>int</td><td align="center"></td><td>Số lượng khả dụng</td></tr><tr><td>isPhysycalProduct</td><td><p>boolean</p><p>(true / false)  </p></td><td align="center"></td><td>Sản phẩm vật lý</td></tr><tr><td>isMultipleVariant</td><td><p>boolean</p><p>(true / false)</p></td><td align="center"></td><td>Nhiều biến thể</td></tr><tr><td>isChargeTax</td><td><p>boolean</p><p>(true / false)</p></td><td align="center"></td><td>Chịu thuế</td></tr><tr><td>isTrackQuantity</td><td><p>boolean</p><p>(true / false)</p></td><td align="center"></td><td>Theo dõi số lượng</td></tr><tr><td>productTypeName</td><td>string</td><td align="center"><mark style="color:red;background-color:red;"><strong>Yes</strong></mark></td><td>Loại sản phẩm</td></tr><tr><td>variant_code</td><td>string</td><td align="center"></td><td>Mã code biến thể</td></tr><tr><td>variant_title</td><td>string</td><td align="center"></td><td>Tiêu đề của biến thể</td></tr><tr><td>variant_value</td><td>string</td><td align="center"></td><td>Giá trị của biến thể</td></tr><tr><td>variant_price</td><td>int</td><td align="center"></td><td>Mặc định: 0</td></tr></tbody></table>
