Veendo generates professional PDFs for orders and quotes on demand. PDFs are created in the background, saved to AWS S3, and notified to the customer via email and in-app notifications.
On-demand PDF generation
When you request a PDF for an order or quote, the system publishes an SNS task to veendo-task, which reads the document from MongoDB, generates HTML from the Handlebars template, converts it to PDF via DocuEngine (HTTPS bridge), and saves the file to S3 in the tenant's attachment bucket.
The S3 path is `{tenantCode}/docs/{documentId}.pdf`. The document is updated with PDF references (S3 key, bucket, generation date, size) and the customer gets an in-app notification when the PDF is ready.
- Async generation via SNS and background task
- Saved to AWS S3 in the tenant's bucket
- Handlebars template for custom layout
- In-app and email notification when PDF ready
PDF download and access
Order and quote PDFs are downloadable in two modes: by authenticated customer (logged-in access) or via unique public link. Each document has a `publicToken` that enables download without login. Public links use temporary AWS S3 pre-signed URLs with expiry.
From the admin panel you can download any PDF; the customer sees the download button only if the PDF has been generated.
- Authenticated download: logged-in customer accesses instantly
- Public download: unique token link, no login required
- AWS S3 pre-signed URLs with time-based expiry
- Download button visible only if PDF generated
PDF branding and customization
The PDF template (Handlebars) extracts data from the document (order/quote) and tenant setup: company name, logo, address, custom messages, theme colors. The setup also includes optional billing information (registration number, VAT ID, IBAN details) that appear in the PDF.
Each tenant has its own local template in veendo-task, allowing deep customizations. For specific customizations, contact the Veendo team for template overrides.
- Handlebars template with dynamic data from order and setup
- Logo, colors, and company name from branding setup
- Optional tax info and IBAN in PDF
- Custom template per tenant on request
Security and storage
PDFs are saved to S3 in a private tenant bucket with data isolation for security. Access is managed via pre-signed URLs with expiry (default 7 days) or direct API authentication. No additional S3 storage costs: the bucket is included in Veendo infrastructure.
PDFs are logged in access logs for audit: who downloaded what and when. Files are never auto-deleted, enabling historical search and document reconstruction.
PDFs remain available indefinitely on S3 for historical searches and audits.