PHPackages                             structurize/peppol - 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. structurize/peppol

ActiveLibrary

structurize/peppol
==================

Laravel package for sending invoices over peppol using Structurize

v1.9.5(4mo ago)162MITPHPPHP ^7.0|^7.4|^8.0

Since Nov 7Pushed 4mo agoCompare

[ Source](https://github.com/structurize/peppol)[ Packagist](https://packagist.org/packages/structurize/peppol)[ RSS](/packages/structurize-peppol/feed)WikiDiscussions master Synced 1mo ago

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

Laravel Structurize Peppol
==========================

[](#laravel-structurize-peppol)

This package provides a Laravel integration for generating and sending UBL invoices over the Peppol network using the Structurize API.

It extends the base `structurize/structurize` package and adds Peppol-specific tools, migrations, services, and configuration options.

Features
--------

[](#features)

- Generate UBL invoices using Structurize
- Send invoices over the Peppol network
- Database logging for Peppol communication
- Company Peppol connectivity tracking
- Multi-tenant support (optional)
- Simple service-based invoice sending API

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

[](#installation)

### 1. Install Structurize core package

[](#1-install-structurize-core-package)

```
composer require structurize/structurize
```

### 2. Create a Structurize account &amp; API Key

[](#2-create-a-structurize-account--api-key)

Sign up and generate an API key on the Structurize platform.

### 3. Register your company as a Peppol participant

[](#3-register-your-company-as-a-peppol-participant)

Follow the Digiteal documentation:

### 4. Configure environment variables

[](#4-configure-environment-variables)

```
STRUCTURIZE_API_URL=https://app.structurize.be/api/v2/
STRUCTURIZE_API_KEY={your-api-key}
```

### 5. Update `config/services.php`

[](#5-update-configservicesphp)

```
'structurize' => [
    'api_url' => env('STRUCTURIZE_API_URL'),
    'key'     => env('STRUCTURIZE_API_KEY'),
],
```

Install the Peppol package
--------------------------

[](#install-the-peppol-package)

```
composer require structurize/peppol
```

Configuration
-------------

[](#configuration)

### Publish config and migrations

[](#publish-config-and-migrations)

```
php artisan vendor:publish --tag=peppol-config
php artisan vendor:publish --tag=peppol-migrations
php artisan migrate
```

Config File Explanation (`config/peppol.php`)
=============================================

[](#config-file-explanation-configpeppolphp)

api\_key
--------

[](#api_key)

Defines which env variable contains the Structurize API key.

tables
------

[](#tables)

Defines the database tables used by the package.

table-fields
------------

[](#table-fields)

Field mapping for your tables.

services
--------

[](#services)

Defines the service used to generate the JSON payload required to build UBL invoices.

multi\_tenant
-------------

[](#multi_tenant)

Used when your application needs to work with multiple Structurize API keys.

Usage
-----

[](#usage)

```

### Send Invoice Over Peppol

``` php
$peppolService->sendInvoice($invoice);

```

### Scheduling

[](#scheduling)

```
$schedule->command('peppol:sync-companies company')->daily();
```

### UI Integration

[](#ui-integration)

Use fields like:

- `company->peppol_connected`
- `invoice->peppol_sent`
- `invoice->peppol_sent_at`

License
-------

[](#license)

MIT

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance76

Regular maintenance activity

Popularity11

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 96.9% 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 ~2 days

Total

31

Last Release

130d ago

PHP version history (6 changes)v1.0PHP ^8.1

v1.6PHP ^7.0|^8.0

v1.6.1PHP ^7.4|^8.0

v1.8PHP ^5.6|^7.4|^8.0

v1.8.1PHP ^5.6|^7.0|^7.4|^8.0

v1.8.4PHP ^7.0|^7.4|^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/0a5498402f8114208ae9befe10cb82ea43e33e256ce22c96ff0ec97cb6c87fc5?d=identicon)[dietercoopman](/maintainers/dietercoopman)

---

Top Contributors

[![ashimdc](https://avatars.githubusercontent.com/u/80951774?v=4)](https://github.com/ashimdc "ashimdc (31 commits)")[![dietercoopman](https://avatars.githubusercontent.com/u/4672752?v=4)](https://github.com/dietercoopman "dietercoopman (1 commits)")

### Embed Badge

![Health badge](/badges/structurize-peppol/health.svg)

```
[![Health](https://phpackages.com/badges/structurize-peppol/health.svg)](https://phpackages.com/packages/structurize-peppol)
```

###  Alternatives

[fumeapp/modeltyper

Generate TypeScript interfaces from Laravel Models

196277.9k](/packages/fumeapp-modeltyper)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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