# 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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://huongdan.cnvloyalty.com/tinh-nang/cau-hinh/cong-ket-noi-du-lieu/import-du-lieu-cu.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
