structurize / peppol
Laravel package for sending invoices over peppol using Structurize
Installs: 26
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/structurize/peppol
Requires
- php: ^7.4|^8.0
- illuminate/support: ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0
- structurize/structurize: ^0.2.29
README
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
- 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
1. Install Structurize core package
composer require structurize/structurize
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
Follow the Digiteal documentation:
https://doc.digiteal.eu/reference/registerparticipant
4. Configure environment variables
STRUCTURIZE_API_URL=https://app.structurize.be/api/v2/ STRUCTURIZE_API_KEY={your-api-key}
5. Update config/services.php
'structurize' => [ 'api_url' => env('STRUCTURIZE_API_URL'), 'key' => env('STRUCTURIZE_API_KEY'), ],
Install the Peppol package
composer require structurize/peppol
Configuration
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)
api_key
Defines which env variable contains the Structurize API key.
tables
Defines the database tables used by the package.
table-fields
Field mapping for your tables.
services
Defines the service used to generate the JSON payload required to build UBL invoices.
multi_tenant
Used when your application needs to work with multiple Structurize API keys.
Usage
### Send Invoice Over Peppol
``` php
$peppolService->sendInvoice($invoice);
Scheduling
$schedule->command('peppol:sync-companies company')->daily();
UI Integration
Use fields like:
company->peppol_connectedinvoice->peppol_sentinvoice->peppol_sent_at
License
MIT