Printing in Frappe Framework v15
What Is Printing in Frappe Framework?
Printing in Frappe Framework v15 refers to the process of generating printable document outputs—typically PDFs or print-ready HTML—from DocTypes such as invoices, orders, or reports. The printing system is deeply integrated into the Frappe Desk and is powered by Print Formats.
Printing ensures that ERPNext documents are standardized, professional, and legally compliant.
Why Is Printing Important in ERPNext?
Printing is essential for operational, legal, and customer-facing workflows.
Key Benefits
- Standardized business documents
- Professional PDF outputs
- Compliance with statutory requirements
- Seamless document sharing and archiving
ERPNext relies heavily on printing for invoices, delivery notes, purchase orders, and financial reports.
Who Uses the Printing System?
Target Audience
- ERPNext End Users
- Finance & Operations Teams
- ERP Administrators
- Frappe Developers
Technical Prerequisites
- Frappe Framework v15
- DocTypes with Print Formats
- Proper user permissions
What Are Print Formats in Frappe v15?
A Print Format defines how a document appears when printed. It controls layout, styling, headers, footers, and data presentation.
Print Format Types
- Standard Print Format (Auto-generated)
- Custom Print Format (User-defined)
Print Formats are managed using the Print Format DocType.
How Does the Printing Workflow Work?
- User opens a DocType record
- Clicks Print from the menu
- Selects a Print Format
- Frappe renders HTML
- PDF is generated (if required)
- Output is downloaded or printed
This workflow is consistent across all ERPNext modules.
How Are PDFs Generated in Frappe v15?
Frappe converts Print Format HTML into PDF using a server-side rendering engine configured at the site level.
Key Characteristics
- Server-side PDF generation
- Supports page size and margins
- Header and footer rendering
- Print preview before download
PDF generation is handled transparently by the framework.
How Are Print Settings Managed?
Global and DocType-specific print behavior is controlled using:
- Print Settings (System-level)
- Print Format configuration
- Page size, orientation, and margins
These settings ensure consistency across printed documents.
Common ERPNext Printing Use Cases
Industry Relevance
- Finance: Sales Invoice, Purchase Invoice
- Logistics: Delivery Note, Packing Slip
- Manufacturing: Job Cards, Production Orders
- HR: Salary Slips, Letters
Printing adapts to industry-specific documentation needs.
Best Practices for Print Formats
- Use Custom Print Formats for branding
- Keep layouts clean and readable
- Avoid excessive inline logic
- Test formats across multiple records
- Maintain version control for changes
Common Printing Issues and Troubleshooting
Print Output Looks Incorrect
- Check margins and page size
- Review CSS styling
- Validate header/footer setup
PDF Not Generating
- Verify server PDF configuration
- Check print permissions
- Review error logs
Advanced Printing Concepts
Standard vs Custom Print Formats
| Feature | Standard | Custom |
| Setup | Automatic | Manual |
| Flexibility | Limited | High |
| Branding | Minimal | Full control |
Use Custom Print Formats for customer-facing documents.
Integration Patterns
The Printing system integrates with:
- DocTypes
- Reports
- Email (PDF attachments)
- Workflows
- ERPNext accounting and logistics modules
It is a core output layer of ERPNext.
Official References (Verified)
Desk Printing Documentation (v15):
https://docs.frappe.io/framework/user/en/desk/printing
Frappe GitHub (v15):