PHPackages                             nexdev/invoice-creator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. nexdev/invoice-creator

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

nexdev/invoice-creator
======================

Laravel invoice creator

v0.9.4(1y ago)0319MITPHPPHP &gt;=8.2

Since Mar 20Pushed 1y agoCompare

[ Source](https://github.com/NexDevOrg/invoice-creator)[ Packagist](https://packagist.org/packages/nexdev/invoice-creator)[ RSS](/packages/nexdev-invoice-creator/feed)WikiDiscussions development Synced today

READMEChangelogDependencies (10)Versions (6)Used By (0)

Laravel Invoice Creator
=======================

[](#laravel-invoice-creator)

A Laravel package for creating and managing invoices in your Laravel application.

Installation
------------

[](#installation)

### 1. Install the package with Composer

[](#1-install-the-package-with-composer)

Run the following command in your Laravel project:

```
composer require nexdev/invoice-creator
```

### 2. Setup the package

[](#2-setup-the-package)

Run the following artisan command to install the package:

```
php artisan invoice:install
```

During the installation, you'll be prompted with two questions:

1. **Install views?** (yes/no) \[no\]

    - This will publish the Invoice template, allowing you to customize the appearance of your invoices.
2. **Install config?** (yes/no) \[no\]

    - This will publish the configuration file.

### 3. Configure Storage (Optional)

[](#3-configure-storage-optional)

If you want to store the invoices in storage, add the following storage disks to your `config/filesystems.php` file:

```
'disks' => [
    // ... other disks ...

    'incoming_invoices' => [
        'driver' => 'local',
        'root' => storage_path('app/incoming_invoices'),
        'url' => env('APP_URL').'/storage/incoming_invoices',
        'visibility' => 'public',
        'throw' => false,
        'report' => false,
    ],

    'outgoing_invoices' => [
        'driver' => 'local',
        'root' => storage_path('app/outgoing_invoices'),
        'url' => env('APP_URL').'/storage/outgoing_invoices',
        'visibility' => 'public',
        'throw' => false,
        'report' => false,
    ],
],
```

> **Note**: The disk names should match those in the `invoices.php` config file. You can configure the drivers as needed, but maintain the same names.

Usage
-----

[](#usage)

### Creating an Invoice

[](#creating-an-invoice)

The package provides a fluent interface for creating invoices. Here's an example of how to create an outgoing invoice:

```
use NexDev\InvoiceCreator\Models\Seller;
use NexDev\InvoiceCreator\Models\Buyer;
use NexDev\InvoiceCreator\Models\OutgoingInvoice;

// Create the seller information
$seller = Seller::make()
    ->setName('Acme Corporation')
    ->setEmail('contact@acme.com')
    ->setPhone('+1 (555) 123-4567')
    ->setAddress('123 Business Street')
    ->setZip('10001')
    ->setCity('New York')
    ->setCountry('United States')
    ->setKvk('12345678')
    ->setVat('US12345678901');

// Create the buyer information
$buyer = Buyer::make()
    ->setName('Tech Solutions Ltd')
    ->setAddress('456 Innovation Drive')
    ->setZip('EC2A 4PB')
    ->setCity('London')
    ->setCountry('United Kingdom');

// Create and process the invoice
return OutgoingInvoice::make()
    ->setLogo('images/logo.png')
    ->setSeller($seller)
    ->setBuyer($buyer)
    ->setId('INV-2025-001')
    ->saveToDatabase()
    ->saveToStorage()
    ->stream();
```

### Available Methods

[](#available-methods)

#### Seller

[](#seller)

fields:

- `setName(string $name)`
- `setAddress(string $address)`
- `setZip(string $zip)`
- `setCity(string $city)`
- `setCountry(string $country)`
- `setEmail(string $email)`
- `setPhone(string $phone)`
- `setKvk(string $kvk)`
- `setVat(string $vat)`

#### Buyer

[](#buyer)

fields:

- `setName(string $name)`
- `setAddress(string $address)`
- `setZip(string $zip)`
- `setCity(string $city)`
- `setCountry(string $country)`
- `setEmail(string $email)`
- `setPhone(string $phone)`
- `setKvk(string $kvk)`
- `setVat(string $vat)`

#### Invoice

[](#invoice)

- `setLogo(string $path)`
- `setSeller(Seller $seller)`
- `setBuyer(Buyer $buyer)`
- `setId(string $id)`
- `saveToDatabase()`
- `saveToStorage()`
- `stream()`

### Features

[](#features)

- **Fluent Interface**: Easy-to-use method chaining for creating invoices
- **Database Storage**: Save invoice data to the database
- **File Storage**: Save generated invoices to storage
- **Streaming**: Stream the generated invoice directly to the browser
- **Customizable**: Modify the invoice template to match your brand

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance43

Moderate activity, may be stable

Popularity12

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~3 days

Total

5

Last Release

459d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/611663e32cbcb8dceb060a79e53323252d8794c823abbcecc0f99d00a29b3bcc?d=identicon)[djquinten](/maintainers/djquinten)

---

Top Contributors

[![qvanderlaan](https://avatars.githubusercontent.com/u/84268981?v=4)](https://github.com/qvanderlaan "qvanderlaan (27 commits)")

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/nexdev-invoice-creator/health.svg)

```
[![Health](https://phpackages.com/badges/nexdev-invoice-creator/health.svg)](https://phpackages.com/packages/nexdev-invoice-creator)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M346](/packages/psalm-plugin-laravel)[spatie/laravel-export

Create a static site bundle from a Laravel app

674146.0k6](/packages/spatie-laravel-export)[illuminate/routing

The Illuminate Routing package.

1419.2M3.0k](/packages/illuminate-routing)[illuminate/session

The Illuminate Session package.

9939.3M849](/packages/illuminate-session)[unopim/unopim

UnoPim Laravel PIM

10.5k2.4k](/packages/unopim-unopim)[api-platform/laravel

API Platform support for Laravel

58170.8k14](/packages/api-platform-laravel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
