PHPackages                             aeglio/aeglio-api-php-sdk - 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. aeglio/aeglio-api-php-sdk

ActiveLibrary[API Development](/categories/api)

aeglio/aeglio-api-php-sdk
=========================

PHP SDK for the Aeglio API.

v0.4.0(3w ago)021↓100%MITPHPPHP ^8.4CI passing

Since Apr 24Pushed 3w agoCompare

[ Source](https://github.com/Aeglio/aeglio-api-php-sdk)[ Packagist](https://packagist.org/packages/aeglio/aeglio-api-php-sdk)[ RSS](/packages/aeglio-aeglio-api-php-sdk/feed)WikiDiscussions main Synced 1w ago

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

Aeglio PHP SDK
==============

[](#aeglio-php-sdk)

Install
-------

[](#install)

```
composer require aeglio/aeglio-api-php-sdk
```

Development
-----------

[](#development)

```
composer install
composer test
AEGLIO_TOKEN=your_token php smoke.php
```

Create Client
-------------

[](#create-client)

```
use Aeglio\Aeglio;

$aeglio = new Aeglio(token: 'team_api_token');
```

Default base URL:

```
Aeglio::DEFAULT_BASE_URL; // https://api.aeglio.com/v1
```

Expenses
--------

[](#expenses)

```
use Aeglio\Dto\ExpenseCategoryData;
use Aeglio\Dto\ExpenseData;
use Aeglio\Dto\ExpensePaymentData;

$category = $aeglio->expenseCategories()->create(new ExpenseCategoryData(
    name: 'Travel',
    isGos: false,
));

$expense = $aeglio->expenses()->create(new ExpenseData(
    number: 'EXP-001',
    amount: 120.50,
    issuedAt: '2026-04-21',
    dueAt: '2026-04-28',
    categoryId: $category->id,
    supplierId: 42,
    notes: 'Hotel stay',
    billable: true,
));

$payment = $expense->addPayment(new ExpensePaymentData(
    sum: 120.50,
    paidAt: '2026-04-22',
    notes: 'Paid by bank transfer',
));
```

Invoices
--------

[](#invoices)

```
use Aeglio\Dto\ClientData;
use Aeglio\Dto\InvoiceData;
use Aeglio\Dto\InvoicePaymentData;
use Aeglio\Dto\InvoiceRowData;

$client = $aeglio->clients()->create(new ClientData(
    name: 'Acme Ltd',
    locale: 'en_US',
    countryCode: 'EE',
    vatNumber: 'EE123456789',
    address: 'Main Street 1',
    city: 'Tallinn',
    postalCode: '10115',
    stateRegion: 'Harju maakond',
));

$invoice = $aeglio->invoices()->create(new InvoiceData(
    clientId: $client->id,
    number: 'INV-001',
    issuedAt: '2026-04-24',
    dueAt: '2026-05-01',
    rows: [
        new InvoiceRowData(
            type: 'regular',
            title: 'Development work',
            quantity: 2,
            price: 75.00,
        ),
    ],
));

$payment = $invoice->addPayment(new InvoicePaymentData(
    sum: 150.00,
    paidAt: '2026-04-25',
));

$pdf = $invoice->downloadPdf();
```

Other Resources
---------------

[](#other-resources)

```
use Aeglio\Dto\ClientData;
use Aeglio\Dto\ProjectData;
use Aeglio\Dto\TaxRateData;

$client = $aeglio->clients()->create(new ClientData(
    name: 'Globex',
    locale: 'en_US',
    countryCode: 'FI',
    vatNumber: 'FI12345678',
    address: 'Updated Street 5',
    city: 'Helsinki',
    postalCode: '00100',
    stateRegion: 'Uusimaa',
));

$project = $aeglio->projects()->create(new ProjectData(
    clientId: $client->id,
    name: 'Website rebuild',
    type: 'time',
));

$taxRate = $aeglio->taxRates()->create(new TaxRateData(
    title: 'VAT',
    percentage: 22.0,
    default: true,
));
```

Available Sections
------------------

[](#available-sections)

- `clients()`
- `suppliers()`
- `projects()`
- `taxRates()`
- `expenseCategories()`
- `expenses()`
- `invoices()`

Public API
----------

[](#public-api)

### Clients

[](#clients)

- `clients()->list(int $perPage = 50, int $page = 1, ?string $search = null)`
- `clients()->find(int $id)`
- `clients()->create(ClientData $data)`
- `clients()->update(int $id, UpdateClientData $data)`
- `clients()->delete(int $id)`

### Suppliers

[](#suppliers)

- `suppliers()->list(int $perPage = 50, int $page = 1, ?string $search = null)`
- `suppliers()->find(int $id)`
- `suppliers()->create(ClientData $data)`
- `suppliers()->update(int $id, UpdateClientData $data)`
- `suppliers()->delete(int $id)`

### Projects

[](#projects)

- `projects()->list(?bool $archived = null, int $perPage = 50, int $page = 1)`
- `projects()->find(int $id)`
- `projects()->create(ProjectData $data)`
- `projects()->update(int $id, UpdateProjectData $data)`
- `projects()->delete(int $id)`

### Tax Rates

[](#tax-rates)

- `taxRates()->list(int $perPage = 50, int $page = 1)`
- `taxRates()->find(int $id)`
- `taxRates()->create(TaxRateData $data)`
- `taxRates()->update(int $id, UpdateTaxRateData $data)`
- `taxRates()->delete(int $id)`

### Expense Categories

[](#expense-categories)

- `expenseCategories()->list(int $perPage = 50, int $page = 1)`
- `expenseCategories()->find(int $id)`
- `expenseCategories()->create(ExpenseCategoryData $data)`
- `expenseCategories()->update(int $id, UpdateExpenseCategoryData $data)`
- `expenseCategories()->delete(int $id)`

### Expenses

[](#expenses-1)

- `expenses()->list(?array $state = null, int $perPage = 50, int $page = 1)`
- `expenses()->find(int $id)`
- `expenses()->create(ExpenseData $data)`
- `expenses()->update(int $id, UpdateExpenseData $data)`
- `expenses()->delete(int $id)`
- `expenses()->addPayment(int $expenseId, ExpensePaymentData $data)`
- `expenses()->updatePayment(int $expenseId, int $paymentId, UpdateExpensePaymentData $data)`
- `expenses()->deletePayment(int $expenseId, int $paymentId)`
- `expenses()->listPayments(int $expenseId, int $perPage = 50, int $page = 1)`
- `expenses()->findPayment(int $expenseId, int $paymentId)`
- `expenses()->downloadAttachment(int $expenseId)`

Entity helpers:

- `$expense->addPayment(...)`
- `$expense->update(...)`
- `$expense->delete()`
- `$expense->payments(...)`
- `$expense->downloadAttachment()`

### Invoices

[](#invoices-1)

- `invoices()->list(?array $state = null, int $perPage = 50, int $page = 1)`
- `invoices()->find(int $id)`
- `invoices()->create(InvoiceData $data)`
- `invoices()->update(int $id, UpdateInvoiceData $data)`
- `invoices()->delete(int $id)`
- `invoices()->addPayment(int $invoiceId, InvoicePaymentData $data)`
- `invoices()->updatePayment(int $invoiceId, int $paymentId, UpdateInvoicePaymentData $data)`
- `invoices()->deletePayment(int $invoiceId, int $paymentId)`
- `invoices()->listPayments(int $invoiceId, int $perPage = 50, int $page = 1)`
- `invoices()->findPayment(int $invoiceId, int $paymentId)`
- `invoices()->send(int $invoiceId, SendInvoiceData $data)`
- `invoices()->downloadPdf(int $invoiceId)`

Entity helpers:

- `$invoice->addPayment(...)`
- `$invoice->update(...)`
- `$invoice->delete()`
- `$invoice->payments(...)`
- `$invoice->send(...)`
- `$invoice->downloadPdf()`

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance95

Actively maintained with recent releases

Popularity9

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

Total

4

Last Release

22d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2300b3392c5534fe07c444ba2a0b3e12f745265a76683dbf8e61691032acb7a8?d=identicon)[renekorss](/maintainers/renekorss)

---

Top Contributors

[![renekorss](https://avatars.githubusercontent.com/u/1494080?v=4)](https://github.com/renekorss "renekorss (5 commits)")

---

Tags

phpapisdkaeglio

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/aeglio-aeglio-api-php-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/aeglio-aeglio-api-php-sdk/health.svg)](https://phpackages.com/packages/aeglio-aeglio-api-php-sdk)
```

###  Alternatives

[jstolpe/instagram-graph-api-php-sdk

Instagram Graph API PHP SDK

138106.8k2](/packages/jstolpe-instagram-graph-api-php-sdk)[clever/clever-php

231.6k](/packages/clever-clever-php)

PHPackages © 2026

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