PHPackages                             dkd-dobberkau/easybill-api-client - 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. [API Development](/categories/api)
4. /
5. dkd-dobberkau/easybill-api-client

ActiveLibrary[API Development](/categories/api)

dkd-dobberkau/easybill-api-client
=================================

PHP client for the Easybill REST API

v1.0.0(3mo ago)00MITPHPPHP &gt;=8.2

Since Jan 31Pushed 3mo agoCompare

[ Source](https://github.com/dkd-dobberkau/easybill-api-client-php)[ Packagist](https://packagist.org/packages/dkd-dobberkau/easybill-api-client)[ RSS](/packages/dkd-dobberkau-easybill-api-client/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (5)Versions (2)Used By (0)

Easybill API Client (PHP)
=========================

[](#easybill-api-client-php)

PHP client for the [Easybill REST API](https://www.easybill.de/api/).

Requirements
------------

[](#requirements)

- PHP 8.2+
- Composer

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

[](#installation)

```
composer require dkd-dobberkau/easybill-api-client
```

Usage
-----

[](#usage)

```
use Dkd\EasybillClient\EasybillClient;
use Dkd\EasybillClient\DocumentType;

$client = new EasybillClient(apiKey: 'your-api-key');

// Get all customers
$customers = $client->getCustomers();

// Get invoices for a year
$invoices = $client->getInvoices(year: 2025);

// Get all documents
$documents = $client->getDocuments();

// Get documents of specific type
$offers = $client->getDocuments(documentType: DocumentType::OFFER);

// Get projects
$projects = $client->getProjects();
```

API
---

[](#api)

### EasybillClient

[](#easybillclient)

- `getCustomers(int $limit = 1000)` - Get all customers
- `getCustomer(int $customerId)` - Get single customer
- `getDocuments(?DocumentType $documentType, ?DateTimeImmutable $startDate, ?DateTimeImmutable $endDate, ?int $customerId, ?string $status, int $limit)` - Get documents
- `getInvoices(?int $year, ?DateTimeImmutable $startDate, ?DateTimeImmutable $endDate, ?int $customerId)` - Get invoices
- `getDocument(int $documentId, bool $withItems = true)` - Get single document
- `getDocumentPdf(int $documentId)` - Download document PDF
- `getProjects(?int $customerId, int $limit)` - Get projects

### Document Types

[](#document-types)

```
use Dkd\EasybillClient\DocumentType;

DocumentType::INVOICE
DocumentType::CREDIT
DocumentType::OFFER
DocumentType::ORDER
DocumentType::RECURRING
```

### Exceptions

[](#exceptions)

- `EasybillException` - Base exception
- `EasybillAuthenticationException` - Authentication failed (401/403)
- `EasybillRateLimitException` - Rate limit exceeded (429)
- `EasybillNotFoundException` - Resource not found (404)

### Models

[](#models)

- `EasybillCustomer` - Customer data
- `EasybillDocument` - Invoice/document data
- `EasybillDocumentItem` - Line item in document
- `EasybillProject` - Project data

All models are `readonly` classes with a static `fromArray()` factory method.

License
-------

[](#license)

MIT

###  Health Score

36

—

LowBetter than 81% of packages

Maintenance86

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity46

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

Unknown

Total

1

Last Release

98d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9f2f928f904bb9015a910d803edc7f9aa8c67523f1f4a2c1dbf84d31c1603060?d=identicon)[olivierdo](/maintainers/olivierdo)

---

Top Contributors

[![dkd-dobberkau](https://avatars.githubusercontent.com/u/9196831?v=4)](https://github.com/dkd-dobberkau "dkd-dobberkau (3 commits)")

---

Tags

apiclientinvoicingEasyBill

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/dkd-dobberkau-easybill-api-client/health.svg)

```
[![Health](https://phpackages.com/badges/dkd-dobberkau-easybill-api-client/health.svg)](https://phpackages.com/packages/dkd-dobberkau-easybill-api-client)
```

###  Alternatives

[openai-php/laravel

OpenAI PHP for Laravel is a supercharged PHP API client that allows you to interact with the Open AI API

3.7k7.6M74](/packages/openai-php-laravel)[algolia/algoliasearch-client-php

API powering the features of Algolia.

69333.0M114](/packages/algolia-algoliasearch-client-php)[theodo-group/llphant

LLPhant is a library to help you build Generative AI applications.

1.5k311.5k5](/packages/theodo-group-llphant)[resend/resend-php

Resend PHP library.

564.7M21](/packages/resend-resend-php)[crowdin/crowdin-api-client

PHP client library for Crowdin API v2

611.5M5](/packages/crowdin-crowdin-api-client)[mozex/anthropic-laravel

Anthropic PHP for Laravel is a supercharged PHP API client that allows you to interact with the Anthropic API

71226.4k1](/packages/mozex-anthropic-laravel)

PHPackages © 2026

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