Invoices

Сквозная нумерация счетов и кредитных нот для заказов Payload ecommerce с заморозкой цен и генерацией PDF без зависимостей.

Сообщество 1 4/нед MIT v1.0.1

Установка

pnpm add payload-invoices

Описание

payload-invoices выпускает пронумерованные счета и кредит-ноты для заказов, созданных через @payloadcms/plugin-ecommerce. Плагин подключается к любой коллекции заказов и добавляет две собственные коллекции: для документов счетов и для счётчиков, которые обеспечивают нумерацию по сериям и годам. Главное свойство нумерации ( отсутствие разрывов. Номер занимает операция compare-and-set над единственным документом-счётчиком, и эта запись выполняется внутри транзакции вызывающего кода. Если документ счёта не сохраняется, транзакция откатывает и счётчик, поэтому неудачная попытка не оставляет пропуска. Дополнительный уникальный индекс по полю номера защищает от дубликатов. Это работает только для документов, которые создаёт плагин, и на PostgreSQL (или MongoDB с replica set), где Payload выполняет каждый запрос в транзакции. Каждый счёт хранит зафиксированный снимок позиций. Цены считываются из продукта или варианта в валюте заказа в момент выпуска и фиксируются в документе, так что последующие изменения цен не влияют на уже выпущенные счета. Все суммы хранятся как целочисленные минорные единицы от ввода до сохранения. Плагин отклоняет дробные суммы вместо округления. Если суммы позиций не сходятся с итогом, в зависимости от настроек плагин либо добавляет строку корректировки с меткой, либо выбрасывает ошибку. PDF генерируется встроенным энкодером примерно из 200 строк, без runtime-зависимостей и без импорта payload в рантайме. Формат номера по умолчанию `SERIES-YEAR-00001` с ежегодным сбросом, кредит-ноты получают отдельную серию. Счета выпускаются через функции `issueInvoice` и `issueCreditNote`, либо автоматически через хук `afterChange`, привязанный к статусам заказа. PDF доступен по маршруту `GET /api/invoices/:id/pdf`. Компонентов админ-панели нет, что сохраняет совместимость при минорных обновлениях Payload.

О пакете

Имя пакета
payload-invoices
Последняя версия
1.0.1
Размер
75 кБ
Лицензия
MIT
Загрузок в неделю
4
Последняя публикация
21 авг. 2026 г.

Ещё от Poseidonas

Профиль автора

Barcodes

Добавляет штрихкоды Code 128, EAN-13 и QR в коллекции товаров Payload с печатью этикеток и опциональными кнопками в админке.

AI Manager

Плагин Payload для автогенерации товарных описаний, заголовков, атрибутов и переводов через Claude, ChatGPT, Gemini или Kimi с пропуском уже сгенерированного контента.

EU VAT

Рассчитывает НДС ЕС для магазинов на Payload и записывает разбивку по каждому заказу: ставки, реверсивный заряд, проверку VIES и отчёт OSS.

Stock Reservation

Проверяет наличие варианта и цену до оплаты, резервирует остатки до подтверждения и закрывает пробелы чекаута в официальном плагине Payload ecommerce.

Stock Alerts

Отправляет письмо при падении остатков товара или варианта ниже порога, с поддержкой бэкордера и публичным полем статуса.

Shipping Rates

Добавляет зоны доставки, расчет стоимости и endpoint для quoted в магазинах на @payloadcms/plugin-ecommerce.