PHPackages                             quantic-telecom/invoices - 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. quantic-telecom/invoices

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

quantic-telecom/invoices
========================

An easy way to manage invoices.

2.0.0(10y ago)018811GPL-3.0PHPPHP &gt;=5.6.0

Since Aug 23Pushed 10y ago1 watchersCompare

[ Source](https://github.com/QuanticTelecom/invoices)[ Packagist](https://packagist.org/packages/quantic-telecom/invoices)[ RSS](/packages/quantic-telecom-invoices/feed)WikiDiscussions develop Synced 1mo ago

READMEChangelogDependencies (7)Versions (5)Used By (1)

Quantic Telecom Invoices
========================

[](#quantic-telecom-invoices)

[![Build Status](https://camo.githubusercontent.com/4c8c89c8eba8ec5f8dc0e8c762149c6a5703fa0072c00659ccbd28834005b8ee/68747470733a2f2f7472617669732d63692e6f72672f5175616e74696354656c65636f6d2f696e766f696365732e7376673f6272616e63683d646576656c6f70)](https://travis-ci.org/QuanticTelecom/invoices)

This package gives you an easy way to manage invoices.

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

[](#installation)

Per usual, install Invoices through Composer.

```
"require": {
    "quantic-telecom/invoices": "~1.0"
}
```

Contracts
---------

[](#contracts)

### Invoices

[](#invoices)

An invoice is a object inheriting from `AbstractInvoice`. It is composed of an ID, a customer (represented by `CustomerInterface`) and two dates: the due date and the creation date (these two are represented by Carbon instances).

It provides abstract methods to compute the total price (with and without taxes). The french VAT rate is currently hard code into the `AbstractInvoice` class (`$vatRate` static property) but will be extract in a future release. Implementations of `AbstractInvoice` don't have to use this value. The VAT amount is compute base on the subtraction between the implementation of the `getIncludingTaxTotalPrice` and the `getExcludingTaxTotalPrice` abstract methods.

A payment (represented by `PaymentInterface`) can be set in order to have a paid invoice (with the method `isPaid`).

### Containers

[](#containers)

An invoice is also a container of items and a container of groups of items.

An item (represented by `ItemInterface`) is a simple line of the invoice (name, quantity, unit prices and total prices with and without taxes).

A group of items container (represented by `GroupOfItemsInterface`) has a name. As an invoice, it's a container of items and a container of groups of items recursively.

### Invoice generation

[](#invoice-generation)

An invoice could be generated into HTML thanks to `HtmlGeneratorInterface` or in PDF thanks to `PdfGeneratorInterface` (note that our implementation of `PdfGeneratorInterface` requires an `HtmlGeneratorInterface` implementation).

Implementations
---------------

[](#implementations)

### Invoices

[](#invoices-1)

This package provides two implementations of `AbstractInvoice`:

- `ExcludingTaxInvoice` which sum all the excluding tax prices of the items and group of items and then compute the including tax price based on that value.
- `IncludingTaxInvoice` which sum all the including tax prices of the items and group of items and then compute the excluding tax price based on that value.

### Containers

[](#containers-1)

This packages also provides basic implementations for `ItemInterface` (`Item`) and `GroupOfItemsInterface` (`GroupOfItems`)

### Generators

[](#generators)

The implementation of `HtmlGeneratorInterface` is named `HtmlGenerator` and is based on Laravel Views.

An implementation of `PdfGeneratorInterface` named `PdfGenerator` is provided based on PhantomJS (a javascript browser). Our implementation of `PdfGeneratorInterface` requires an implementation of `HtmlGeneratorInterface` to process.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity61

Established project with proven stability

 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 ~77 days

Total

3

Last Release

3756d ago

Major Versions

1.0.1 → 2.0.02016-01-26

PHP version history (2 changes)1.0.0PHP &gt;=5.5.0

2.0.0PHP &gt;=5.6.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/33fbc4ff5dd82c3e47432ebe8022eeda6bd167d466a7d9a9638c65e7d92baf81?d=identicon)[ThibaudDauce](/maintainers/ThibaudDauce)

---

Top Contributors

[![ThibaudDauce](https://avatars.githubusercontent.com/u/1770543?v=4)](https://github.com/ThibaudDauce "ThibaudDauce (101 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/quantic-telecom-invoices/health.svg)

```
[![Health](https://phpackages.com/badges/quantic-telecom-invoices/health.svg)](https://phpackages.com/packages/quantic-telecom-invoices)
```

###  Alternatives

[wnx/laravel-stats

Get insights about your Laravel Project

1.8k1.8M7](/packages/wnx-laravel-stats)[livewire/flux

The official UI component library for Livewire.

9385.0M85](/packages/livewire-flux)[akaunting/laravel-money

Currency formatting and conversion package for Laravel

7825.3M18](/packages/akaunting-laravel-money)[dragon-code/pretty-routes

Pretty Routes for Laravel

10058.7k4](/packages/dragon-code-pretty-routes)[erlandmuchasaj/laravel-gzip

Gzip your responses.

40129.3k2](/packages/erlandmuchasaj-laravel-gzip)[bjuppa/laravel-blog

Add blog functionality to your Laravel project

483.3k1](/packages/bjuppa-laravel-blog)

PHPackages © 2026

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