Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/flug/invoice
https://github.com/flug/invoice
dompdf invoice-generator invoice-pdf symfony symfony-bundle
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/flug/invoice
- Owner: flug
- Created: 2020-05-08T20:34:32.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-03-04T17:41:53.000Z (over 1 year ago)
- Last Synced: 2024-10-01T15:28:06.558Z (about 2 months ago)
- Topics: dompdf, invoice-generator, invoice-pdf, symfony, symfony-bundle
- Language: PHP
- Size: 710 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Flug Invoice is a small library/bundle for Symfony to help you generate pdf invoices quickly, it doesn't use wkhtmltopdf
but dompdf or you can find the [documentation here](https://github.com/dompdf/dompdf).
you can overload as you want by implementing the interface : **"Flug\Invoice\ConfigurationInterface"**.The full configuration of dependency injection is available here:
```yaml
#flug_invoice.yaml
flug_invoice:
currency: EUR
decimal: 2
logo:
file: 'https://i.imgur.com/yRb1NQ7.png'
height: 60
business_details:
name: My Company
id: 1234567890
phone: +34 123 456 789
location: Main Street 1st
zip: 08241
city: Barcelona
country: Spain
footnote: ''
tax_rates:
- {name: '' , tax: 0 , type: percentage}
due:
format: M dS ,Y
date: +3 months
with_pagination: true
duplication_header: false
display_images: true
template: '@FlugInvoice/default.html.twig'
```The invoice template uses the [twigphp/twig](https://github.com/twigphp/Twig) rendering engine.
code example :
```php
setName('Best Invoice');
$invoice->setNumber((string) 1234556325);
$invoice->setDate(new \DateTimeImmutable());
$invoice->setCustomerDetails('Best Customer', (string) 1234556, '+33 630301023', '44000', 'Nantes', 'France',
'36 quai des orfèvres');
$invoice->addItem('Test Item', 10.25, 2, 1412)
->addItem('Test Item 3', 15.55, 5, 42)
->addItem('Test Item 4', 1.25, 1, 923)
->addItem('Test Item 5', 3.12, 1, 3142)
->addItem('Test Item 6', 6.41, 3, 452)
->addItem('Test Item 7', 2.86, 1, 1526)
->addItem('Test Item 8', 5, 2, 923, 'https://dummyimage.com/64x64/000/fff')
->setNotes('toto notes
');
$renderer = $this->pdf->generate($invoice);
$stream = $renderer->output();return new Response($stream, 200, ['Content-type' => 'application/pdf']);
```More tests are coming soon...