> ## Documentation Index
> Fetch the complete documentation index at: https://docs.econtractid.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Nhập hồ sơ từ Excel

> Tạo nhiều hồ sơ cùng lúc bằng file Excel — cấu trúc file mẫu, cách nhập từng cột, bảng nhiều dòng và các lỗi thường gặp

Khi cần tạo nhiều hồ sơ cùng một loại (VD: hợp đồng mua bán cho nhiều khách hàng), có thể nhập toàn bộ dữ liệu bằng một file Excel thay vì tạo từng hồ sơ. Mỗi dòng trong file là **một hồ sơ**; tài liệu của hồ sơ được sinh tự động từ mẫu hợp đồng đã cài đặt.

> [!NOTE]
>
> Loại hồ sơ phải có ít nhất một loại tài liệu dùng **mẫu Word (.docx)** — xem [Mẫu hợp đồng, tài liệu](https://docs.econtractid.com/user-guide/quan-tri/cai-dat/mau-hop-dong-tai-lieu.md). Các cột của file Excel được sinh từ các biến `{...}` trong mẫu.

## Các bước thực hiện

**1. Mở màn hình Import**

Tại **Hồ sơ**, nhấn nút **Import** (biểu tượng tải file lên, bên phải nút **+ Thêm hồ sơ**).

![Nút Import trên danh sách hồ sơ](https://mintcdn.com/vtsdc/M3ptwq5WcXZl8Xgk/images/nhap-ho-so-excel/nut-import.png?fit=max\&auto=format\&n=M3ptwq5WcXZl8Xgk\&q=85\&s=4a32bced3d15f784f6735b339d7e9d82)

Tab **Import Hồ sơ từ template** mở ra. Nhập **Tên hồ sơ**, chọn **Loại hồ sơ**, và chọn **Quy trình duyệt** nếu muốn hồ sơ được gửi duyệt ngay sau khi tạo.

![Màn hình Import hồ sơ từ template](https://mintcdn.com/vtsdc/M3ptwq5WcXZl8Xgk/images/nhap-ho-so-excel/man-import.png?fit=max\&auto=format\&n=M3ptwq5WcXZl8Xgk\&q=85\&s=551860201ff62b2ac2a6908eb510b308)

**2. Tải file mẫu**

Nhấn **Tải template mẫu**. File Excel tải về đã có sẵn đúng các cột của loại hồ sơ đang chọn (xem [Cấu trúc file mẫu](#cau-truc-file-mau)).

**3. Điền dữ liệu**

Mỗi dòng là một hồ sơ. Dòng thứ N của sheet **Data** và dòng thứ N của các sheet loại tài liệu thuộc cùng một hồ sơ — giữ nguyên thứ tự dòng giữa các sheet.

**4. Tải file lên và kiểm tra**

Nhấn **Chọn file Excel**. Hệ thống đọc file, hiển thị dữ liệu theo từng sheet và tự động kiểm tra. Có thể sửa trực tiếp trên lưới rồi nhấn **Kiểm tra lại**.

![Lưới dữ liệu đối tác sau khi tải file lên](https://mintcdn.com/vtsdc/M3ptwq5WcXZl8Xgk/images/nhap-ho-so-excel/luoi-du-lieu-doi-tac.png?fit=max\&auto=format\&n=M3ptwq5WcXZl8Xgk\&q=85\&s=3337db4c60530e913a13e603f68918a1)

**5. Tạo hồ sơ**

Nhấn **Import hồ sơ**. Hồ sơ được tạo ở chế độ nền; theo dõi tiến độ trong cửa sổ hàng đợi xử lý hiện ra ở góc màn hình. Khi xong, hồ sơ xuất hiện trong danh sách **Hồ sơ**.

## Cấu trúc file mẫu

| Sheet | Nội dung |
| - | - |
| **Data** | Thông tin hồ sơ và người ký — xem [Sheet Data](#sheet-data) |
| Một sheet cho mỗi loại tài liệu có mẫu | Dữ liệu điền vào các biến của mẫu tài liệu đó. Tên cột là tên hiển thị của biến (cấu hình ở màn mẫu tài liệu) |
| **Hướng dẫn** | Bảng tra tên cột ↔ mã trường ↔ định dạng ↔ mức bắt buộc của mọi sheet, kèm cách nhập bảng nhiều dòng. Chỉ để đọc — hệ thống bỏ qua sheet này khi tải lên |

* Mỗi ô tiêu đề có **chú thích** (góc ô có tam giác đỏ) ghi mã trường và định dạng. Rê chuột vào ô tiêu đề để xem.
* **Giữ nguyên tiêu đề cột**; thứ tự cột có thể thay đổi.
* File tải về khi đang có dữ liệu trên lưới sẽ chứa luôn dữ liệu đó — tiện để sửa tiếp rồi tải lên lại.

## Sheet Data

| Cột | Bắt buộc | Định dạng | Ghi chú |
| - | - | - | - |
| Mã hồ sơ | Không | Chữ và số | Để trống thì hệ thống tự cấp mã. Mã tự điền không được trùng hồ sơ đã có |
| Tên hồ sơ | Không | Văn bản | Tiêu đề hiển thị trên danh sách hồ sơ |
| Mô tả hồ sơ | Không | Văn bản | |
| Họ tên | **Có** | Văn bản | Họ tên người ký |
| Số CCCD | **Có** | 12 chữ số | Để trống thì lấy theo Mã hồ sơ; cả hai cùng trống là lỗi |
| Ngày cấp CCCD | Không | dd/MM/yyyy | |
| Ngày sinh | Không | dd/MM/yyyy | |
| Giới tính | Không | Nam / Nữ | |
| Email | Ít nhất 1 trong 3 | Địa chỉ email | Phải có ít nhất một trong **Email**, **Số điện thoại**, **Tên đăng nhập** |
| Số điện thoại | Ít nhất 1 trong 3 | Bắt đầu bằng 0, 10–11 chữ số | |
| Tên đăng nhập | Ít nhất 1 trong 3 | Văn bản | Tài khoản người ký đã có trên hệ thống |
| Mã đối tác | Không | Chữ và số | Mã đối tác có sẵn trong tổ chức |
| Loại đối tác | Không | `customer` / `partner` / `employee` | Để trống thì là `customer` |
| Mã số thuế | Không | 10 hoặc 13 chữ số | Khi người ký là tổ chức |
| Tài khoản CSKH | Không | Số điện thoại | Nhân viên phụ trách hồ sơ, phải là tài khoản thuộc tổ chức |
| Ngày hiệu lực từ | Không | dd/MM/yyyy | |
| Ngày hiệu lực đến | Không | dd/MM/yyyy | Không được trước ngày hiệu lực từ |

> [!TIP]
>
> Đặt định dạng ô là **Text** cho các cột số (CCCD, số điện thoại, mã số thuế) để Excel không làm mất số 0 ở đầu.

## Nhập bảng nhiều dòng

Mẫu tài liệu có [bảng dữ liệu động](https://docs.econtractid.com/user-guide/quan-tri/cai-dat/mau-hop-dong-tai-lieu.md) (cú pháp `{#tên_danh_sách}…{/tên_danh_sách}`, VD danh sách hàng hóa) được nhập như sau:

* **Mỗi cột của bảng là một cột trong sheet**, tiêu đề dạng `Tên bảng › Tên cột` (VD: `Hàng hóa › Số lượng`).
* **Trong một ô, các dòng của bảng cách nhau bởi dấu `|`.** Dấu cách hai bên dấu `|` không bắt buộc: `A|B` và `A | B` như nhau.
* **Dòng thứ 1 của bảng lấy phần thứ 1 ở mọi cột**, dòng thứ 2 lấy phần thứ 2, v.v.

Ví dụ: hồ sơ thứ nhất có bảng 3 mặt hàng, hồ sơ thứ hai có 1 mặt hàng.

| Hàng hóa › Nội dung | Hàng hóa › ĐVT | Hàng hóa › Số lượng | Hàng hóa › Đơn giá |
| - | - | - | - |
| `Laptop Dell \| Chuột \| Bàn phím` | `Cái \| Cái \| Bộ` | `2 \| 10 \| 5` | `15.000.000 \| 200.000 \| 500.000` |
| `Màn hình` | `Cái` | `1` | `4.000.000` |

Tài liệu của hồ sơ thứ nhất được sinh bảng 3 dòng:

| Nội dung | ĐVT | Số lượng | Đơn giá |
| - | - | - | - |
| Laptop Dell | Cái | 2 | 15.000.000 |
| Chuột | Cái | 10 | 200.000 |
| Bàn phím | Bộ | 5 | 500.000 |

| Trường hợp | Cách nhập |
| - | - |
| Bảng chỉ có 1 dòng | Gõ giá trị bình thường, không cần dấu `\|` |
| Để trống một ô ở giữa bảng | Gõ hai dấu `\|` liền nhau: `Cái \| \| Bộ` → dòng 2 trống ở cột này |
| Không dùng một cột của bảng | Để trống cả ô |
| Giá trị cần xuống dòng | Dùng **Alt+Enter** trong ô. Xuống dòng được giữ nguyên trong giá trị đó, **không** tạo dòng mới của bảng |
| Gõ thừa dấu `\|` ở cuối tất cả các cột | Không sinh dòng trống |

> [!WARNING]
>
> Các cột **có dữ liệu** của cùng một bảng phải có **cùng số dòng**. Nếu lệch (VD: cột Nội dung có 3 dòng nhưng cột ĐVT có 2), hồ sơ đó bị báo lỗi vì hệ thống không thể biết giá trị nào thuộc dòng nào.
>
> Giá trị trong bảng **không được chứa dấu `|`**, vì dấu này luôn được hiểu là ngăn cách dòng.

Sau khi tải file lên, cột bảng trên lưới hiển thị đúng dạng bảng (tiêu đề cột và từng dòng) để kiểm tra nhanh. Ô bảng bị lỗi được tô đỏ kèm lý do. Nhấn **Sửa** để chỉnh bảng trong form soạn tài liệu.

![Bảng nhiều dòng hiển thị trên lưới sau khi tải file lên](https://mintcdn.com/vtsdc/M3ptwq5WcXZl8Xgk/images/nhap-ho-so-excel/luoi-bang-nhieu-dong.png?fit=max\&auto=format\&n=M3ptwq5WcXZl8Xgk\&q=85\&s=ad602d09efe79125dbf7e8561043fa8e)

## Kiểm tra dữ liệu

Sau khi tải file lên, hệ thống kiểm tra từng hồ sơ và chia kết quả thành hai mức:

* **Lỗi** — hồ sơ không thể tạo. Có thể chọn **Tiếp tục** để bỏ qua các dòng lỗi và chỉ tạo các hồ sơ hợp lệ, hoặc **Dừng lại** để sửa.
* **Cảnh báo** — hồ sơ vẫn tạo được nhưng dữ liệu có thể chưa đúng. Nhấn **Tiếp tục** để tạo tất cả, kể cả các dòng có cảnh báo.

![Danh sách lỗi sau khi kiểm tra dữ liệu](https://mintcdn.com/vtsdc/M3ptwq5WcXZl8Xgk/images/nhap-ho-so-excel/popup-loi.png?fit=max\&auto=format\&n=M3ptwq5WcXZl8Xgk\&q=85\&s=991031990d20df75a5878f5cb447d318)

| Thông báo | Mức | Cách xử lý |
| - | - | - |
| Tồn tại khách hàng chưa có Họ tên | Lỗi | Điền cột **Họ tên** |
| Tồn tại khách hàng không có CCCD | Lỗi | Điền **Số CCCD** hoặc **Mã hồ sơ** |
| Tồn tại khách hàng không có thông tin liên hệ (SĐT/Email/Username) | Lỗi | Điền ít nhất một trong **Email**, **Số điện thoại**, **Tên đăng nhập** |
| Mã hồ sơ "…" đã tồn tại | Lỗi | Đổi mã khác hoặc để trống ô để hệ thống tự cấp |
| Mã khách hàng không hợp lệ | Lỗi | Cùng một Mã hồ sơ đang gắn với nhiều Số CCCD khác nhau — sửa cho khớp |
| Số điện thoại CSKH không hợp lệ / Tài khoản CSKH chưa có trên hệ thống | Lỗi | Kiểm tra cột **Tài khoản CSKH** |
| Bảng "…" lệch số dòng giữa các cột | Lỗi | Sửa các cột của bảng cho cùng số dòng — xem [Nhập bảng nhiều dòng](#bang-nhieu-dong) |
| Tồn tại hồ sơ không có nội dung | Lỗi | Số dòng giữa sheet **Data** và các sheet loại tài liệu không khớp |
| Tồn tại CCCD chưa đủ 12 chữ số | Cảnh báo | Kiểm tra lại số CCCD |
| Giới tính / Ngày sinh / Ngày cấp CCCD không hợp lệ | Cảnh báo | Giới tính là `Nam` hoặc `Nữ`; ngày theo dạng `dd/MM/yyyy` |
| Ngày hết hiệu lực trước ngày bắt đầu hiệu lực | Cảnh báo | Kiểm tra hai cột ngày hiệu lực |

> [!NOTE]
>
> Mỗi lần tải lên tối đa **5.000 hồ sơ**.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.