---
title: Hóa đơn và sổ cái
description: Nơi ghi nhận dòng tiền trong NexCMP — sổ cái ví, hóa đơn, nạp tiền, hoàn tiền và chi trả, voucher và báo cáo doanh thu.
url: https://nexcmp.com/vi/docs/billing/invoices-and-ledger/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# Hóa đơn và sổ cái {#invoices-and-ledger}

> **Vị trí trong trang admin:** Finance › Billing (`/billing`) với các tab Overview, Transactions (`/billing/ledger`), Invoices (`/billing/invoices`), Top-ups (`/billing/deposits`), Payouts (`/billing/payouts`), Vouchers (`/billing/vouchers`) và Reports (`/billing/reports`). **Vị trí trong portal:** Billing (`/billing`).

## Chức năng {#what-it-does}

Mọi số tiền trong NexCMP đều được lưu trữ dưới dạng cent USD và được ghi nhận một lần. Ý tưởng cốt lõi: **sổ cái ví** là nguồn dữ liệu chuẩn xác cho số dư; hóa đơn, giao dịch nạp tiền và báo cáo đều là các chế độ xem được dựng từ sổ cái này. Sổ cái là **append-only** — sai sót được xử lý bằng cách ghi thêm một bút toán đảo nghịch, tuyệt đối không chỉnh sửa lịch sử.

## Yêu cầu {#requirements}

| Hạng mục | Yêu cầu |
|---|---|
| Role | Quản trị viên. |
| Thông tin người bán | Thiết lập tên pháp lý, mã số thuế, địa chỉ, email liên hệ và tiền tố số hóa đơn tại **System › Settings › General**, tab **Seller & invoicing** (`/settings?tab=seller`), thẻ **Seller details (printed on invoices)**. |
| Thành phần phụ thuộc | [Payment channels](https://nexcmp.com/vi/docs/billing/payment-channels/) cho dòng tiền vào. |

## Các thành phần {#the-pieces}

| Tab admin | Nội dung hiển thị | Mục đích sử dụng điển hình |
|---|---|---|
| **Overview** | Doanh thu hôm nay và tháng này, tổng sổ cái theo loại (deposit, charge, refund, adjustment, voucher), hóa đơn theo trạng thái, khoản hoàn tiền đang chờ duyệt, phím tắt, chi tiêu theo từng dịch vụ trong 30 ngày qua | Kiểm tra hàng ngày |
| **Transactions** | Sổ cái ví, mỗi biến động một dòng | Giải thích số dư của khách hàng |
| **Invoices** | Hóa đơn, cùng chế độ xem thứ hai **Orders** hiển thị mọi giao dịch mua của từng dịch vụ | Tìm chứng từ, gửi lại, đánh dấu đã thanh toán |
| **Top-ups** | Các khoản thanh toán nhận qua gateway | Kiểm tra giao dịch thanh toán, hoàn tiền |
| **Payouts** | Hoàn tiền vào thẻ, chi trả affiliate, rút tiền reseller | Duyệt chi tiền |
| **Vouchers** | Mã nạp tiền | Xem [Promotions](https://nexcmp.com/vi/docs/billing/promotions/) |
| **Reports** | Doanh thu, theo dịch vụ, theo reseller | Kế toán |

### Giao dịch (sổ cái) {#transactions-ledger}

Các cột: thời gian, khách hàng, **loại**, dịch vụ, số tiền (mang dấu), VM, mã tham chiếu, người thực hiện, ghi chú. Bộ lọc: loại, dịch vụ, ID khách hàng, site (khi bạn có reseller), khoảng ngày và liên kết VM.

| Loại | Ý nghĩa |
|---|---|
| `deposit` | Nạp tiền qua gateway |
| `charge` | Tiền thanh toán cho dịch vụ (đơn hàng, gia hạn, sử dụng theo giờ...) |
| `refund` | Tiền hoàn lại vào ví |
| `adjust` | Tiền cộng hoặc trừ bởi quản trị viên, và cả mã nạp tiền (mã tham chiếu bắt đầu bằng `vch:`) — trang tổng quan hiển thị voucher thành một dòng riêng |

Mỗi dòng có một mã tham chiếu như `dep:stripe:<payment-id>`; cùng một mã tham chiếu không bao giờ được ghi hai lần, đó là lý do webhook gửi lặp lại không thể cộng tiền hai lần. Dùng **Customers › List › customer › Credit / debit** để thêm điều chỉnh thủ công: bắt buộc phải có lý do, số tiền dương cũng sẽ cố gắng mở khóa các VM bị khóa do thiếu tiền, và thao tác được xác nhận qua hai bước.

![Tab Transactions hiển thị các dòng sổ cái ví với loại, dịch vụ, số tiền và mã tham chiếu](https://nexcmp.com/vi/docs/images/billing/invoices-and-ledger-01-ledger.webp)

### Hóa đơn {#invoices}

Hóa đơn được tạo tự động khi khách hàng mua hoặc gia hạn dịch vụ thanh toán từ ví, hoặc khi nạp tiền. Định dạng số có dạng như `<prefix><YYYYMM>-<000001>` (ví dụ `NX202610-000042`); các site reseller dùng tiền tố và dãy số riêng của họ. Các số hóa đơn hiện có sẽ không bao giờ thay đổi khi bạn đổi tiền tố.

| Trường | Giá trị |
|---|---|
| Loại | Receipt, Renewal, Top-up, Manual, Refund |
| Status | Unpaid, Paid, Overdue, Cancelled, Refunded |

Các thao tác trên một dòng:

| Thao tác | Tác dụng |
|---|---|
| **View** / **Print** | Mở hóa đơn; cổng portal cũng có thể in hoặc lưu dưới dạng PDF. |
| **Mark paid** (chỉ áp dụng cho unpaid hoặc overdue) | Đánh dấu đã thanh toán **mà không luân chuyển tiền ví** — sử dụng khi khách hàng đã thanh toán cho bạn ngoài NexCMP. Bắt buộc phải có lý do. Đối với hóa đơn gia hạn, thao tác này cũng gia hạn và mở khóa VM đang bị khóa. |
| **Cancel** (chỉ áp dụng cho unpaid hoặc overdue) | Hủy hóa đơn. Bắt buộc phải có lý do. |
| **Resend** | Gửi lại hóa đơn qua email. |

**Create manual invoice** (nút ở đầu tab): ID khách hàng, 1 đến 50 dòng (mô tả, số lượng, đơn giá), ID VM tùy chọn, số ngày đến hạn tùy chọn (0 đến 365, mặc định 7), ghi chú tùy chọn. Hóa đơn được tạo ở trạng thái unpaid; khách hàng sẽ thấy hóa đơn trong **Billing › Invoice History**.

Hóa đơn dịch vụ chưa thanh toán sẽ được **tự động quyết toán từ ví** ngay khi có tiền, vì vậy khách hàng chỉ cần nạp tiền.


### Top-ups (thanh toán) {#top-ups-payments}

Mỗi lần thực hiện là một dòng: thời gian, khách hàng, **cổng và phương thức**, loại (top-up hoặc auto top-up), trạng thái (pending, completed, failed, refunded, disputed, canceled), số tiền khách đã trả, phí, số tiền cộng vào ví, mã tham chiếu cổng và thời gian hoàn tất. Các khoản thanh toán Stripe và PayPal đã hoàn tất có hành động **Refund**. Sử dụng các trang Gateway events để xem webhook ([Kênh thanh toán](https://nexcmp.com/vi/docs/billing/payment-channels/)).

### Payouts {#payouts}

Ba tab phụ: **Card refunds** (phê duyệt hoặc từ chối yêu cầu hoàn tiền; yêu cầu được tạo từ một khoản thanh toán đã hoàn tất), **Affiliate payouts** (rút tiền hoa hồng) và **Reseller withdrawals**. Mọi quyết định đều được ghi log kiểm toán.

### Reports {#reports}

**Revenue** (xu hướng 30 ngày, theo từng tháng, khách hàng hàng đầu), **By service** và **By reseller**.

![Tab Reports hiển thị các KPI doanh thu và xu hướng ba mươi ngày](https://nexcmp.com/vi/docs/images/billing/invoices-and-ledger-03-reports.webp)

## Giao diện khách hàng thấy {#what-the-customer-sees}

Trong **Billing**, khách hàng có **Balance**, **Deposit**, **Redeem code**, **Settings** (auto top-up) và phần lịch sử với các tab **Invoice History**, **Payment Order**, **Ledger** cùng **Orders** (tất cả dịch vụ trong một danh sách kèm bộ lọc theo dịch vụ và loại). Mỗi hóa đơn đều có **View**, **Print** và **Save as PDF**; các số tiền tính bằng USD, có thể hiển thị theo loại tiền tệ hiển thị nếu muốn.

## Kiểm tra {#verify}

1. Thực hiện một giao dịch nạp tiền nhỏ với tư cách khách hàng thử nghiệm.
2. **Transactions** hiển thị một dòng `deposit`, **Top-ups** hiển thị khoản thanh toán là *Completed*, và doanh thu trong **Overview** tăng lên.
3. Mua một dịch vụ: xuất hiện dòng `charge`, và **Invoices** hiển thị hóa đơn *Receipt* hoặc *Renewal* với thông tin người bán mà bạn đã cấu hình.

## Hạn mức & lưu ý {#limits-notes}

- **Append-only.** Không có cách nào để chỉnh sửa hoặc xóa một dòng sổ cái; hãy thêm một khoản điều chỉnh kèm lý do.
- **Tiền tệ.** Các số tiền đều là USD; loại tiền tệ hiển thị chỉ mang tính hình thức (xem [Tiền tệ và tỷ giá](https://nexcmp.com/vi/docs/catalog/currency-and-exchange-rates/)).
- **Hoàn tiền về thẻ** gồm hai bước (yêu cầu, sau đó phê duyệt trong Payouts); USDT và chuyển khoản ngân hàng không được hoàn về nguồn ban đầu.
- **Mọi hoạt động đều được ghi log kiểm toán** trong System › Logs › Admin actions cùng với lý do bạn đã nhập.
- **Orders so với invoices.** Mức sử dụng theo giờ không được xuất hóa đơn theo từng giờ; chế độ xem Orders sẽ nhóm theo ngày để bạn vẫn có thể theo dõi.

## Xử lý sự cố {#troubleshooting}

| Hiện tượng | Nguyên nhân | Cách khắc phục |
|---|---|---|
| Số dư của khách hàng có vẻ không đúng | Khoản tính phí, điều chỉnh hoặc voucher ngoài dự tính | Lọc **Transactions** theo ID khách hàng và đọc các mã tham chiếu cùng ghi chú. |
| "Hóa đơn đã được thanh toán" (409) | Đánh dấu đã thanh toán cho một hóa đơn đã thanh toán | Không cần xử lý gì. |
| Không thể hủy hóa đơn | Chỉ có thể hủy hóa đơn unpaid hoặc overdue | Đối với hóa đơn đã thanh toán, hãy sử dụng tính năng hoàn tiền hoặc điều chỉnh. |
| Thiếu thông tin người bán trên hóa đơn | Chưa được điền | Điền đầy đủ **Seller details** trong System › Settings › General › Seller & invoicing. |
| Ghi nợ / ghi có bị từ chối | Số tiền bằng 0 hoặc vượt quá $100,000 | Sử dụng số tiền từ 1 cent đến $100,000. |
| Khoản thanh toán hiển thị *Pending* trong thời gian dài | Thiếu webhook | Xem **Gateway events** và phát lại (replay). |
