timothydc/exact-online-laravel-client

There is no license information available for the latest version (v3.0.0) of this package.

EOL connector wrapper for the Laravel framework

Installs: 20

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 1

Forks: 0

pkg:composer/timothydc/exact-online-laravel-client

v3.0.0 2025-12-14 22:11 UTC

README

This package includes routes for Exact authentication and allows for multithread safe access token refreshes.

Installation

Add these lines to your composer.json.

"repositories": [
    {
        "type" : "composer",
        "url" : "https://packages.timothydc.app"
    }
]

Install the package via composer

composer require timothydc/exact-online-laravel-client

Add the private repository to the repositories section of your composer.json file:

Configuration

You can publish all resources, or you may choose to publish them separately:

php artisan vendor:publish --tag="exact-online-client"

php artisan vendor:publish --tag="exact-online-client:config"
php artisan vendor:publish --tag="exact-online-client:migrations"

Run your migrations to create the oauth_tokens table.

php artisan migrate

You can configure your connection variables in your .env file or in the published config/exact-online.php file.

Authentication

Initiate the authentication. Make sure you configured /exact-online/oauth/complete as your "redirect URL" in the Exact app center.

https://foo.bar/exact-online/oauth/start

Check if the API connection was successful

https://foo.bar/exact-online/oauth/test

Disconnect the EOL connection

https://foo.bar/exact-online/oauth/disconnect

Then you can use the Picqer library to CRUD Exact Online records.

use Picqer\Financials\Exact\Item;
use TimothyDC\ExactOnline\BaseClient\ExactOnlineClient;

$exactOnlineClient = resolve(ExactOnlineClient::class);

// create a new product in EOL
$item = new Item($exactOnlineClient->getConnection());
$item->Code = 'foo-bar';
$item->CostPriceStandard = 1.23;
$item->Description = 'lorem ipsum';
$item->IsSalesItem = true;
$item->SalesVatCode = 'VH';
$item->save();