Счета и книга учета
В панели администратора: Finance › Billing (
/billing) с вкладками Overview, Transactions (/billing/ledger), Invoices (/billing/invoices), Top-ups (/billing/deposits), Payouts (/billing/payouts), Vouchers (/billing/vouchers) и Reports (/billing/reports). В клиентском портале: Billing (/billing).
Назначение
Каждая сумма в NexCMP хранится в центах USD и записывается один раз. Главный принцип: книга учета кошелька является единственным источником правды о балансе; счета, платежи пополнения и отчеты формируются на ее основе. Книга учета ведется только на добавление — ошибка исправляется добавлением сторнирующей записи, а не редактированием истории.
Требования
| Параметр | Требование |
|---|---|
| Роль | Администратор. |
| Реквизиты продавца | Укажите юридическое наименование, налоговый идентификатор, адрес, контактный e-mail и префикс номеров счетов в System › Settings › General, вкладка Seller & invoicing (/settings?tab=seller), блок Seller details (printed on invoices). |
| Зависимости | Payment channels для входящих платежей. |
Основные компоненты
| Вкладка админ-панели | Что отображается | Типичное применение |
|---|---|---|
| Overview | Доход за сегодня и текущий месяц, итоги по журналу по типам (пополнение, списание, возврат, корректировка, ваучер), счета по статусам, ожидающие возвраты, быстрые действия, расходы по услугам за последние 30 дней | Ежедневный контроль |
| Transactions | Журнал операций кошелька, по одной строке на каждое движение | Детализация баланса клиента |
| Invoices | Счета и дополнительное представление Orders со всеми заказами по каждой услуге | Поиск документа, повторная отправка, отметка об оплате |
| Top-ups | Платежи, полученные через платежные шлюзы | Проверка платежа, оформление возврата |
| Payouts | Возвраты на карты, партнерские выплаты, вывод средств реселлеров | Подтверждение исходящих выплат |
| Vouchers | Коды пополнения | См. Promotions |
| Reports | Выручка, по услугам, по реселлерам | Бухгалтерский учет |
Transactions (журнал операций)
Колонки: время, клиент, тип, услуга, сумма (со знаком), VM, идентификатор, инициатор, примечание. Фильтры: тип, услуга, ID клиента, сайт (при наличии реселлеров), диапазон дат и ссылка на VM.
| Тип | Значение |
|---|---|
deposit | Пополнение через платежный шлюз |
charge | Списание за услугу (заказ, продление, почасовая оплата...) |
refund | Возврат средств на кошелек |
adjust | Кредитование или дебетование администратором, а также коды пополнения (идентификатор начинается с vch:) — в сводке ваучеры отображаются отдельной строкой |
Каждая запись имеет уникальный идентификатор, например dep:stripe:<payment-id>; повторная запись с тем же идентификатором невозможна, поэтому дублирующий вебхук не приведет к повторному зачислению. Чтобы внести ручную корректировку, перейдите в Customers › List › customer › Credit / debit: указание причины обязательно, положительная сумма также пытается разблокировать VM, заблокированные из-за нехватки средств, а само действие требует подтверждения в два этапа.

Счета (Invoices)
Счет формируется автоматически при покупке или продлении услуги клиентом с баланса кошелька, а также при пополнении баланса. Номера имеют вид <prefix><YYYYMM>-<000001> (например, NX202610-000042); сайты реселлеров используют собственный префикс и последовательность номеров. Изменение префикса не затрагивает уже сформированные номера.
| Поле | Значения |
|---|---|
| Тип | Receipt, Renewal, Top-up, Manual, Refund |
| Статус | Unpaid, Paid, Overdue, Cancelled, Refunded |
Действия со строкой:
| Действие | Действие |
|---|---|
| View / Print | Открывает счет; в портале его также можно распечатать или сохранить в PDF. |
| Mark paid (только для unpaid или overdue) | Помечает счет оплаченным без списания средств с кошелька — используйте, если клиент оплатил счет вне NexCMP. Требуется указать причину. Для счета на продление действие также продлевает услугу и разблокирует заблокированную VM. |
| Cancel (только для unpaid или overdue) | Аннулирует счет. Требуется указать причину. |
| Resend | Повторно отправляет счет на e-mail. |
Create manual invoice (кнопка в верхней части вкладки): ID клиента, от 1 до 50 строк (описание, количество, цена за единицу), необязательный VM ID, срок оплаты в днях (от 0 до 365, по умолчанию 7, необязательно), необязательное примечание. Счет создается со статусом неоплаченного; клиент видит его в Billing › Invoice History.
Неоплаченные счета за услуги погашаются автоматически с баланса кошелька, как только на нем появляются средства, поэтому клиенту достаточно просто пополнить баланс.
Пополнения (платежи)
Одна строка на каждую попытку: время, клиент, шлюз и метод, тип (пополнение или автопополнение), статус (pending, completed, failed, refunded, disputed, canceled), сумма оплаты клиентом, комиссия, сумма зачисления в кошелек, референс шлюза и время завершения. Для завершенных платежей через Stripe и PayPal доступно действие Refund. Вебхуки можно просмотреть на страницах событий шлюзов (Payment channels).
Выплаты
Три вложенные вкладки: Card refunds (одобрение или отклонение запросов на возврат; запрос создается на основе завершенного платежа), Affiliate payouts (вывод партнерских комиссий) и Reseller withdrawals (вывод средств реселлерами). Каждое решение фиксируется в журнале аудита.
Отчеты
Revenue (динамика за 30 дней, по месяцам, ведущие клиенты), By service и By reseller.

Что видит клиент
В разделе Billing клиенту доступны Balance, Deposit, Redeem code, Settings (автопополнение) и история с вкладками Invoice History, Payment Order, Ledger и Orders (все услуги в одном списке с фильтрацией по сервису и типу). Для каждого счета доступны действия View, Print и Save as PDF; суммы указаны в USD и при необходимости отображаются в выбранной валюте.
Проверка
- Выполните небольшое пополнение от имени тестового клиента.
- В Transactions появится строка
deposit, в Top-ups платеж отобразится со статусом Completed, а выручка в Overview увеличится. - Купите какую-либо услугу: появится строка
charge, а в Invoices отобразится счет со статусом Receipt или Renewal с настроенными вами реквизитами продавца.
Ограничения и примечания
- Только добавление (append-only). Отредактировать или удалить запись в книге учета невозможно; добавьте корректировку с указанием причины.
- Валюта. Все суммы указываются в USD; валюта отображения носит исключительно информационный характер (см. Валюта и обменные курсы).
- Возврат на карту выполняется в два этапа (запрос, затем подтверждение в Payouts); платежи в USDT и банковские переводы не возвращаются на исходный счет.
- Все действия фиксируются в аудите в разделе System › Logs › Admin actions с указанием введенной вами причины.
- Заказы и счета. Почасовое потребление не выставляется в счетах каждый час; в представлении Orders оно группируется по дням для удобства просмотра.
Устранение неполадок
| Симптом | Причина | Решение |
|---|---|---|
| Баланс клиента отображается некорректно | Неожиданное списание, корректировка или ваучер | Отфильтруйте Transactions по ID клиента и проверьте референсы и примечания. |
| «Счет уже оплачен» (409) | Попытка отметить как оплаченный уже оплаченный счет | Действий не требуется. |
| Не удается отменить счет | Отменить можно только неоплаченные или просроченные счета | Для оплаченных счетов используйте возврат или корректировку. |
| В счетах отсутствуют реквизиты продавца | Реквизиты не заполнены | Заполните Seller details в System › Settings › General › Seller & invoicing. |
| Операция начисления / списания отклонена | Сумма равна нулю или превышает $100,000 | Укажите сумму от 1 цента до $100,000. |
| Платеж долго остается в статусе Pending | Вебхук не получен | Перейдите в Gateway events и выполните повторную отправку. |