payload-invoicepdf
v1.0.0
Published
Payload CMS 3.x plugin for invoice and quote management with PDF generation, email sending, quote acceptance workflows, and a rich admin UI
Maintainers
Readme
A Payload CMS 3.x plugin that adds complete invoice and quote management — JSX-based PDF templates, email sending, quote acceptance workflows, customer autofill, and a rich admin UI — out of the box.
Features
- PDF Generation — 4 built-in templates (Classic, Modern, Minimal, Bold) rendered with
@react-pdf/renderer. Create custom templates with JSX. - Invoices & Quotes — Full collections with auto-numbering (
INV-2026-0001), status tracking, line items, tax calculation, and due dates. - Email Sending — Send invoices/quotes via email with PDF attachments or live document links. Tracks send history per document.
- Quote Acceptance — Clients receive a secure link to view, accept, or decline quotes. Accepting auto-creates a draft invoice.
- Customer Autofill — Connect your existing customer collection. Select a customer and client fields fill automatically.
- Product Autofill — Link your product catalog. Add a product to a line item and description + price populate instantly.
- PDF History — Every generated PDF is stored and versioned. Browse and download previous versions from the admin.
- Admin UI — Tabbed document views, sidebar actions (download, generate, send, convert), email composer drawer, and related document links.
Screenshots
Quote Management
PDF History
Send Email Drawer
Send History
Quote Acceptance Page
Email Template
Quick Start
npm install payload-invoicepdf
# or
pnpm add payload-invoicepdf// payload.config.ts
import { invoicePdf, builtInTemplates } from 'payload-invoicepdf'
export default buildConfig({
// ...your config
plugins: [
invoicePdf({
productCollection: 'products',
productFieldMapping: {
name: 'name',
price: 'price',
},
templates: builtInTemplates,
}),
],
})That's it. You now have invoices and quotes collections with PDF generation, a shop-info global for your company details, and sidebar buttons for downloading, generating, and emailing documents.
Built-in PDF Templates
| Template | Style | |----------|-------| | Classic | Traditional business invoice with clean lines | | Modern | Sleek, minimal layout with accent colors | | Minimal | Ultra-clean whitespace-heavy design | | Bold | Strong color header, high contrast |
Select a template per document, or set a default. Build your own with @react-pdf/renderer — see the Custom Templates Guide.
Documentation
| Guide | Description | |-------|-------------| | Getting Started | Installation, configuration, and your first invoice | | Configuration Reference | All config options with examples | | PDF Templates | Built-in templates and how to select them | | Custom Templates | Build your own PDF and email templates with JSX | | Email Sending | Email setup, templates, and send history | | Quote Acceptance | Secure link workflow for client quote responses | | Customer Autofill | Connect your customer collection for autofill |
Requirements
- Payload CMS
^3.79.0 - Node.js
^18.20.2or>=20.9.0 - A
mediacollection with uploads enabled (or specify a custommediaCollection)
License
MIT
