Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Invoices Laravel Package

consoletvs/invoices

Laravel package for generating professional PDF invoices with customizable templates, line items, taxes, discounts, shipping, and currency support. A fluent API makes it easy to build, preview, and download invoices.

View on GitHub
Deep Wiki
Context7

Generate PDF invoices for your customers in laravel

Frequently asked questions about Invoices
How do I install consoletvs/invoices in a Laravel application?
Install it with Composer by running composer require consoletvs/invoices, then publish the package config and Blade views with the vendor:publish command so you can customize the invoice layout. Laravel package auto-discovery registers the service provider, so manual registration is usually unnecessary. After publishing you can start assembling invoices with the fluent builder.
Which Laravel and PHP versions does consoletvs/invoices support?
The package is a conventional Laravel Composer package targeting PHP 8.x and modern Laravel releases, rendering PDFs through a Dompdf-family engine pulled in as a dependency. Because the last release was in March 2024, check the composer.json constraints in the repository before jumping to a brand-new Laravel major version. Pin the version and run composer audit regularly to catch transitive PDF dependency advisories.
How do I build an invoice with line items, taxes, discounts and shipping?
Use the fluent API: seller() and buyer() take the party details, addItem() adds each line with description, quantity, unit price and currency, and tax(), discount() and shipping() adjust the amount before total() returns the final figure. All values are passed in by the caller, so you map your Eloquent order models into those calls yourself. Then call download() or save() to turn the assembled invoice into a PDF.
Can I customize the invoice PDF template?
Yes. The package publishes its Blade views, so you edit the markup and CSS in your resources/views/vendor directory and the renderer uses your version, which lets you keep separate templates per brand or invoice type. Remember the underlying Dompdf-class engine has partial CSS support, so avoid flexbox or grid-heavy layouts, web fonts, and complex page-break rules unless you have tested them against real content.
Can I preview an invoice in the browser and also save it to disk?
Yes. The builder exposes download and stream style responses as well as the ability to persist the rendered file, and you can store it through Laravel's Filesystem, including S3. Generate the artifact once and reuse it rather than re-rendering for each view so the archived PDF is byte-identical to what the customer received.
Does consoletvs/invoices store invoices, generate invoice numbers, or act as a system of record?
No. It is a document-rendering library only: no persistence, no sequential numbering guarantees, no ledger, no state machine, and no audit trail. Your billing domain must own numbering with concurrency-safe sequences, immutability, and retention, then hand an invoice snapshot to the renderer. Treat the package as a presentation-layer adapter downstream of your Order or BillingRecord model.
How do I generate invoices in a queue for high volume?
The renderer is stateless, so wrap it in a queued job that rebuilds the invoice from a persisted snapshot, writes the PDF to storage, and records the artifact path on your invoice record. This keeps request latency low and lets you scale workers horizontally. Persisting the snapshot before dispatch ensures a retry produces the same document.
Does the package support multiple currencies and locales?
You can pass a currency per line item and per invoice, and total() aggregates in the currency you specify. Date and number formatting are largely up to your Blade template, so locale-specific formatting and translated labels must be handled in the views. If you need currency conversion, do it in your domain and pass minor-unit amounts to the renderer.
Should I pass floats for prices and totals?
It is safer not to. The package accepts whatever numeric values you give it and does not enforce integer minor units or decimal arithmetic, so float rounding errors can surface in totals. Compute in integer minor units or with a decimal library in your domain, apply your tax-inclusive versus exclusive and rounding rules there, then format for display in the template. Add tests for rounding, tax allocation, and zero-decimal currencies.
Is consoletvs/invoices maintained, and what are the alternatives?
It is a small, single-maintainer package with a last release in March 2024, so plan for limited updates and consider vendoring or forking it if maintenance stalls. Pin versions and run composer audit regularly, since PDF engines have had historical CVEs. Alternatives include other Laravel invoice packages, rendering HTML with headless Chromium, a hosted PDF API, or a commercial e-invoicing service if you need PEPPOL, ZUGFeRD or Factur-X compliance.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource