elegantly/laravel-invoices
Manage invoices in Laravel with database storage, serial numbering, and PDF generation. Create, render, store, and download invoices as PDFs or views, add taxes/discounts and payment instructions (QR codes), and customize templates.
Initial GOBL support — New GOBLable contract with toGOBL() method. Address, Party, Identity, and TaxId classes implement it, enabling conversion to the GOBL (https://docs.gobl.org) open standard for structured business documents.
New Party base class — Buyer and Seller now extend a shared Party class, reducing duplication. Both subclasses are preserved for type compatibility.
New TaxId value object — Structured tax identification with country and code properties, replacing the flat tax_number string. Displayed via getLabel() in PDF templates.
New Identity value object — Represents business identities (e.g. SIREN, SIRET) following the GOBL org/identity spec (https://docs.gobl.org/draft-0/org/identity). Identities are now rendered in the PDF party block.
Configurable support classes — New config keys: party_class, identity_class, address_class, tax_id_class let you swap default implementations.
seller_information and buyer_information are now cast to Party objects instead of plain arrays on the Invoice model.
Config: update default_seller:
Before
'tax_number' => 'FR123456789',
After
'tax_id' => [
'country' => 'FR',
'code' => '123456789',
],
PdfInvoice — use the new TaxId class:
Before
tax_number: 'FR123456789',
After
tax_id: new TaxId(country: 'FR', code: '123456789'),
php artisan migrate
RoundingMode::HALF_UP must be replaced by RoundingMode::HalfUp to align with the brick/money v0.13.0Add fields column to Invoice model
[Added] Children relation
Customizable rounding mode
[Added] Support for payment_instructions in Invoice Model
[Added] Store the logo in the database
Display the discount code when the name is not defined
Fix crashes when the invoice subtotal amount is 0
state and type, making the system more flexible.Elegantly\Invoices\Contracts\HasLabel interface.PdfInvoice new supports quantities as float
Fix the tax calculation when using percent_off with discount
How can I help you explore Laravel packages today?