📄 Trình tạo báo giá PDF
Trình tạo báo giá PDF (Sales PDF Quotation Builder) cho phép bạn ghép các trang PDF bổ sung — trang bìa/đầu (Header), trang cuối (Footer) và tài liệu sản phẩm (Product Document) — vào file PDF báo giá, đồng thời chèn trường động (form field) như tên khách hàng, tên sản phẩm, số tiền... để xuất ra một báo giá chuyên nghiệp, thống nhất với thương hiệu của bạn.
💡 Khi xuất PDF, hệ thống ghép các trang theo thứ tự: trang đầu (header) → mô tả sản phẩm → bảng chi tiết báo giá → trang cuối (footer).
Cách hoạt động
Có hai loại tài liệu PDF được ghép vào báo giá:
| Loại tài liệu | Ý nghĩa |
|---|---|
| Header / Footer (Quotation Document) | Trang PDF đứng đầu hoặc cuối báo giá — ví dụ trang bìa, lời giới thiệu công ty, điều khoản chung. Gắn ở cấp mẫu báo giá hoặc toàn báo giá. |
| Tài liệu sản phẩm (Product Document) | File PDF mô tả riêng cho một sản phẩm (ví dụ brochure, thông số kỹ thuật). Được ghép vào ngay tại dòng sản phẩm tương ứng. |
⚠️ Chỉ chấp nhận file PDF, và file không được đặt mật khẩu/mã hóa. Nếu file là URL hoặc định dạng khác, hệ thống sẽ báo lỗi khi lưu.
Tạo trang đầu / trang cuối (Header & Footer)
- Vào Bán hàng → Cấu hình → Headers/Footers
- Nhấn Mới và tải lên file PDF (ô tải tệp chỉ nhận
.pdf) - Chọn Loại tài liệu (Document Type): Header (trang đầu) hoặc Footer (trang cuối)
- Tại Quotation Templates, chọn các Mẫu báo giá sẽ dùng tài liệu này (để trống nếu áp dụng chung)
- Bật Add By Default nếu muốn tài liệu này tự động thêm vào báo giá mới
- Nhấn Lưu
📷 Cần chèn ảnh:
/img/modules/sale/pdf-quote-builder/01.png— Màn hình Headers/Footers, biểu mẫu tạo trang đầu/cuối với ô tải PDF và Document Type.
| Trường | Ý nghĩa |
|---|---|
| Document Type | Loại tài liệu: Header (trang đầu) hoặc Footer (trang cuối) |
| Quotation Templates | Các mẫu báo giá được phép dùng tài liệu này |
| Add By Default | Tự động thêm tài liệu vào báo giá mới |
| Form Fields Included | Danh sách trường động (form field) đọc được từ file PDF |
💡 Màn hình Headers/Footers hiển thị dạng thẻ (kanban) với ảnh xem trước từng file PDF; bạn có thể kéo thả để sắp xếp lại thứ tự.
Đính kèm tài liệu vào sản phẩm
Để ghép một file PDF riêng cho từng sản phẩm:
- Mở sản phẩm và vào tab Tài liệu (Documents)
- Tải lên file PDF cần đính kèm
- Tại ô Attached on Sale, chọn Inside quote pdf (Bên trong PDF báo giá)
- Nhấn Lưu
Khi sản phẩm này xuất hiện trên một dòng báo giá, file PDF của nó sẽ tự động nằm trong danh sách tài liệu khả dụng để ghép vào báo giá.
⚠️ Với lựa chọn Inside quote pdf, tài liệu bắt buộc là file PDF (không phải URL) và không được mã hóa.
Gắn tài liệu vào mẫu báo giá
Bạn có thể định sẵn các trang đầu/cuối cho từng Mẫu báo giá:
- Vào Bán hàng → Cấu hình → Mẫu báo giá
- Mở mẫu báo giá cần cấu hình, chọn tab Quote Builder
- Chọn các trang Header / Footer muốn áp dụng cho mẫu này
- Nhấn Lưu
💡 Nếu mẫu báo giá không gắn tài liệu nào, hệ thống sẽ dùng cấu hình mặc định trong thiết lập công ty.
Chọn tài liệu trên báo giá và in
Khi soạn một báo giá có tài liệu khả dụng:
- Mở Báo giá (cần đã chọn Khách hàng)
- Mở tab Quote Builder trên báo giá
- Tích chọn các trang Header, Footer và tài liệu sản phẩm muốn ghép vào PDF
- Với các trường động chưa được cấu hình tự động, nhập trực tiếp giá trị cần điền (ví dụ ghi chú riêng cho khách)
- Nhấn In và chọn PDF Quote để xuất file báo giá đã ghép đầy đủ các trang
📷 Cần chèn ảnh:
/img/modules/sale/pdf-quote-builder/02.png— Tab Quote Builder trên báo giá, đang tích chọn các trang Header/Footer và tài liệu sản phẩm.
💡 Tab Quote Builder chỉ hiện khi báo giá đã chọn khách hàng và có ít nhất một tài liệu (header/footer hoặc tài liệu sản phẩm) khả dụng.
Trường động (Form Fields)
Mỗi trường biểu mẫu (form field) đặt sẵn trong file PDF sẽ được hệ thống tự đọc và liệt kê ở mục Form Fields Included. Có hai cách điền giá trị:
- Tự động theo đường dẫn (Path): khai báo Path trỏ tới dữ liệu trên đơn (header/footer đọc từ Đơn bán hàng, tài liệu sản phẩm đọc từ dòng sản phẩm). Khi đó hệ thống tự điền giá trị khi in.
- Nhập thủ công: để trống Path, người dùng sẽ tự nhập giá trị ngay trên tab Quote Builder của từng báo giá.
Một số trường thông dụng được hệ thống ánh xạ sẵn:
| Tên trường | Dữ liệu được điền |
|---|---|
| partner_id__name | Tên khách hàng |
| name | Số/Tham chiếu báo giá |
| amount_total | Tổng tiền (gồm thuế) |
| amount_untaxed | Tổng tiền (chưa thuế) |
| order_date | Ngày đặt hàng |
| delivery_date | Ngày giao hàng dự kiến |
| validity_date | Ngày hết hiệu lực báo giá |
| user_id__name | Tên nhân viên kinh doanh |
| price_unit | Đơn giá sản phẩm (trên tài liệu sản phẩm) |
| quantity | Số lượng (trên tài liệu sản phẩm) |
⚠️ Tên trường động chỉ được chứa chữ, số, dấu gạch ngang và gạch dưới; tên trong trang đầu/cuối không được bắt đầu bằng
sol_id_.
💡 Nút Configure dynamic fields (Cấu hình trường động) trên biểu mẫu tài liệu cho phép quản trị viên khai báo đường dẫn (path) cho từng trường — chỉ hiển thị với người có quyền hệ thống.
Liên quan
- Báo giá — tạo và gửi báo giá cho khách hàng
- Mẫu báo giá — bộ khung báo giá tái sử dụng, nơi gắn sẵn trang đầu/cuối