peter9x/laravel-bc

Laravel package for Microsoft Business Central API

v0.1.1 2025-08-14 16:31 UTC

This package is auto-updated.

Last update: 2025-08-14 16:33:32 UTC


README

Build Status Latest Stable Version License

Laravel Business Central

A Laravel package for integrating with the Microsoft Business Central API.

Installation

  1. Install the package via Composer:
composer require peter9x/laravel-bc
  1. Publish the configuration file:
php artisan vendor:publish --provider="Mupy\\BusinessCentral\\BusinessCentralServiceProvider" --tag=config
  1. Add the following to your .env file:

Note: BC_COMPANY_ID is optional.
If not set, you will need to select a company in your code after retrieving the list of companies (see the usage example).

BC_CLIENT_ID=your-client-id
BC_CLIENT_SECRET=your-client-secret
BC_TENANT_ID=your-tenant-id
# Optional: if not set, select the company in your script
BC_COMPANY_ID=your-company-id
BC_ENVIRONMENT=sandbox

Usage

use Mupy\BusinessCentral\Facades\BusinessCentral;
use Mupy\BusinessCentral\EndPoint\Company;
use Mupy\BusinessCentral\EndPoint\SalesInvoices;

$api = BusinessCentral::getClient();

// Change the environment dynamically if needed
$api->selectEnv('sandbox');

try {
    $result = $api->get(Company::class);

    if ($result->success()) {
        foreach ($result->data() as $entry) {
            // Select the company dynamically if BC_COMPANY_ID is not set in .env
            $company = $api->useCompany($entry['id']);
            $company->get(SalesInvoices::class);
        }
    }
} catch (\Throwable $th) {
    // Handle exceptions as needed
}