composer require consoletvs/invoices
Example Usage:
$invoice = \ConsoleTVs\Invoices\Classes\Invoice::make()
->addItem('Test Item', 10.25, 2, 1412)
->addItem('Test Item 2', 5, 2, 923)
->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')
->number(4021)
->with_pagination(true)
->duplicate_header(true)
->due_date(Carbon::now()->addMonths(1))
->notes('Lrem ipsum dolor sit amet, consectetur adipiscing elit.')
->customer([
'name' => 'Èrik Campobadal Forés',
'id' => '12345678A',
'phone' => '+34 123 456 789',
'location' => 'C / Unknown Street 1st',
'zip' => '08241',
'city' => 'Manresa',
'country' => 'Spain',
])
->download('demo');This is the InvoicesServiceProvider class.
- Class name: InvoicesServiceProvider
- Namespace: ConsoleTVs\Invoices
- Parent class: Illuminate\Support\ServiceProvider
void ConsoleTVs\Invoices\InvoicesServiceProvider::boot()
Bootstrap any application services.
- Visibility: public
void ConsoleTVs\Invoices\InvoicesServiceProvider::register()
Register any application services.
- Visibility: public
This is the PDF class.
- Class name: PDF
- Namespace: ConsoleTVs\Invoices\Classes
\Dompdf\Dompdf\Dompdf ConsoleTVs\Invoices\Classes\PDF::generate(\ConsoleTVs\Invoices\Classes\ConsoleTVs\Invoices\Classes\Invoice $invoice, string $template)
Generate the PDF.
- Visibility: public
- This method is static.
- $invoice ConsoleTVs\Invoices\Classes\ConsoleTVs\Invoices\Classes\Invoice
- $template string
This is the Invoice class.
- Class name: Invoice
- Namespace: ConsoleTVs\Invoices\Classes
public string $name
Invoice name.
- Visibility: public
public string $template
Invoice template.
- Visibility: public
public \ConsoleTVs\Invoices\Classes\Illuminate\Support\Collection $items
Invoice item collection.
- Visibility: public
public string $currency
Invoice currency.
- Visibility: public
public integer $tax
Invoice tax.
- Visibility: public
public string $tax_type
Invoice tax type.
- Visibility: public
public integer $number = null
Invoice number.
- Visibility: public
public integer $decimals
Invoice decimal precision.
- Visibility: public
public string $logo
Invoice logo.
- Visibility: public
public integer $logo_height
Invoice Logo Height.
- Visibility: public
public \Carbon\Carbon\Carbon $date
Invoice Date.
- Visibility: public
public string $notes
Invoice Notes.
- Visibility: public
public array $business_details
Invoice Business Details.
- Visibility: public
public array $customer_details
Invoice Customer Details.
- Visibility: public
public array $footnote
Invoice Footnote.
- Visibility: public
private \ConsoleTVs\Invoices\Classes\Dompdf\Dompdf $pdf
Stores the PDF object.
- Visibility: private
mixed ConsoleTVs\Invoices\Classes\Invoice::__construct(string $name)
Create a new invoice instance.
- Visibility: public
- $name string
\ConsoleTVs\Invoices\Classes\ConsoleTVs\Invoices\Classes\Invoice ConsoleTVs\Invoices\Classes\Invoice::make(string $name)
Return a new instance of Invoice.
- Visibility: public
- This method is static.
- $name string
\ConsoleTVs\Invoices\Classes\Invoice ConsoleTVs\Invoices\Classes\Invoice::template(string $template)
Select template for invoice.
- Visibility: public
- Default: default
- $name template
\ConsoleTVs\Invoices\Classes\Invoice ConsoleTVs\Invoices\Classes\Invoice::addItem(string $name, integer $price, integer $ammount, string $id)
Adds an item to the invoice.
- Visibility: public
- $name string
- $price integer
- $ammount integer
- $id string
\ConsoleTVs\Invoices\Classes\Invoice ConsoleTVs\Invoices\Classes\Invoice::popItem()
Pop the last invoice item.
- Visibility: public
\ConsoleTVs\Invoices\Classes\stdClass ConsoleTVs\Invoices\Classes\Invoice::formatCurrency()
Return the currency object.
- Visibility: public
integer ConsoleTVs\Invoices\Classes\Invoice::subTotalPrice()
Return the subtotal invoice price.
- Visibility: public
integer ConsoleTVs\Invoices\Classes\Invoice::totalPrice()
Return the total invoce price after aplying the tax.
- Visibility: public
float ConsoleTVs\Invoices\Classes\Invoice::taxPrice()
taxPrice.
- Visibility: public
\ConsoleTVs\Invoices\Classes\Invoice ConsoleTVs\Invoices\Classes\Invoice::generate()
Generate the PDF.
- Visibility: private
\ConsoleTVs\Invoices\Classes\response ConsoleTVs\Invoices\Classes\Invoice::download(string $name)
Downloads the generated PDF.
- Visibility: public
- $name string
\ConsoleTVs\Invoices\Classes\response ConsoleTVs\Invoices\Classes\Invoice::shouldDisplayImageColumn()
Return true/false if one item contains image. Determine if we should display or not the image column on the invoice.
- Visibility: public
\ConsoleTVs\Invoices\Classes\response ConsoleTVs\Invoices\Classes\Invoice::show(string $name)
Show the PDF in the browser.
- Visibility: public
- $name string
\ConsoleTVs\Invoices\Classes\Invoice ConsoleTVs\Invoices\Classes\Invoice::name(string $name)
Set the invoice name.
- Visibility: public
- $name string
\ConsoleTVs\Invoices\Classes\Invoice ConsoleTVs\Invoices\Classes\Invoice::number(integer $number)
Set the invoice number.
- Visibility: public
- $number integer
\ConsoleTVs\Invoices\Classes\Invoice ConsoleTVs\Invoices\Classes\Invoice::decimals(integer $decimals)
Set the invoice decimal precision.
- Visibility: public
- $decimals integer
\ConsoleTVs\Invoices\Classes\Invoice ConsoleTVs\Invoices\Classes\Invoice::tax(float $tax)
Set the invoice tax.
- Visibility: public
- $tax float
\ConsoleTVs\Invoices\Classes\Invoice ConsoleTVs\Invoices\Classes\Invoice::taxType(string $tax_type)
Set the invoice tax type.
- Visibility: public
- $tax_type string
\ConsoleTVs\Invoices\Classes\Invoice ConsoleTVs\Invoices\Classes\Invoice::logo(string $logo_url)
Set the invoice logo URL.
- Visibility: public
- $logo_url string
\ConsoleTVs\Invoices\Classes\Invoice ConsoleTVs\Invoices\Classes\Invoice::date(\Carbon\Carbon $date)
Set the invoice date.
- Visibility: public
- $date Carbon\Carbon
\ConsoleTVs\Invoices\Classes\Invoice ConsoleTVs\Invoices\Classes\Invoice::notes(string $notes)
Set the invoice notes.
- Visibility: public
- $notes string
\ConsoleTVs\Invoices\Classes\Invoice ConsoleTVs\Invoices\Classes\Invoice::business(array $details)
Set the invoice business details.
- Visibility: public
- $details array
\ConsoleTVs\Invoices\Classes\Invoice ConsoleTVs\Invoices\Classes\Invoice::customer(array $details)
Set the invoice customer details.
- Visibility: public
- $details array
\ConsoleTVs\Invoices\Classes\Invoice ConsoleTVs\Invoices\Classes\Invoice::footnote(string $footnote)
Set the invoice footnote.
- Visibility: public
- $footnote string
\ConsoleTVs\Invoices\Classes\Invoice ConsoleTVs\Invoices\Classes\Invoice::due_date(Carbon $due_date)
Set the invoice due date.
- Visibility: public
- $due_date Carbon
Array of tax rates for invoices.
- Visibility: public
\ConsoleTVs\Invoices\Classes\Invoice ConsoleTVs\Invoices\Classes\Invoice::with_pagination(boolean $with_pagination)
If true and page count are higher than 1, pagination will show at the bottom.
- Visibility: public
- $duplicate_header boolean
\ConsoleTVs\Invoices\Classes\Invoice ConsoleTVs\Invoices\Classes\Invoice::duplicate_header(boolean $duplicate_header)
If true header will be duplicated on each page.
- Visibility: public
- $duplicate_header boolean