laravel-yuki-api-client maintained by xve
Description
Laravel client for the Yuki accounting SOAP webservices (Sales, VAT, AccountingInfo).
Author
Last update
2026/08/04 23:30
(dev-main)
License
Downloads
30
Tags
Laravel Yuki API Client
A Laravel package for pushing sales invoices to Yuki's accounting SOAP webservices (Sales, VAT, AccountingInfo).
Features
- Session-cached SOAP authentication against
Sales.asmx(noext-soaprequired) ProcessSalesInvoicesto push a sales invoice and read back per-invoice statusAdministrations,ActiveVATCodesList, andGetGLAccountSchemelookups- A soft, local daily call-budget guard
- Swappable action classes for every remote call, configured in one place
Installation
composer require xve/laravel-yuki-api-client
Optionally publish the config:
php artisan vendor:publish --tag="laravel-yuki-api-client-config"
Configuration
Add to your .env:
YUKI_API_KEY=your-webservice-api-key
YUKI_ADMINISTRATION_ID=your-administration-id
YUKI_REGION=be
YUKI_REGION selects the API host: be for api.yukiworks.be, nl for api.yukiworks.nl.
Usage
use XVE\LaravelYukiApiClient\Data\Contact;
use XVE\LaravelYukiApiClient\Data\InvoiceLine;
use XVE\LaravelYukiApiClient\Data\Product;
use XVE\LaravelYukiApiClient\Data\SalesInvoice;
use XVE\LaravelYukiApiClient\Facades\Yuki;
$invoice = new SalesInvoice(
reference: 'INV-2026-0001',
subject: 'Monthly invoice',
contact: new Contact(fullName: 'Acme Corp'),
lines: [
new InvoiceLine(
description: 'Consulting hours',
productQuantity: 4.0,
product: new Product(
description: 'Consulting',
salesPrice: 125.00,
vatPercentage: 21.00,
vatType: 1,
glAccountCode: '700000',
),
),
],
process: true,
);
$result = Yuki::processSalesInvoice($invoice);
if ($result->successful()) {
// $result->first()->isDuplicateReference(), ->rawResponseXml, etc.
}
Testing
composer test
Credits
License
The MIT License (MIT). Please see License File for more information.