PHPackages                             ismaildasci/laravel-sapb1 - 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. [API Development](/categories/api)
4. /
5. ismaildasci/laravel-sapb1

ActiveLibrary[API Development](/categories/api)

ismaildasci/laravel-sapb1
=========================

A Laravel package for SAP Business One Service Layer API integration

v1.8.0(4mo ago)0356[2 PRs](https://github.com/ismaildasci/sapb1-laravel-sdk/pulls)1MITPHPPHP ^8.4CI passing

Since Jan 2Pushed 1mo agoCompare

[ Source](https://github.com/ismaildasci/sapb1-laravel-sdk)[ Packagist](https://packagist.org/packages/ismaildasci/laravel-sapb1)[ Docs](https://github.com/ismaildasci/laravel-sapb1)[ GitHub Sponsors](https://github.com/ismaildasci)[ RSS](/packages/ismaildasci-laravel-sapb1/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (13)Versions (11)Used By (1)

SAP Business One Laravel SDK
============================

[](#sap-business-one-laravel-sdk)

[![Latest Version on Packagist](https://camo.githubusercontent.com/0a4205f35d2913143c0bd3c8d8fde35537ba1b3fe96275877cce1a2d97b26721/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f69736d61696c64617363692f6c61726176656c2d73617062312e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/ismaildasci/laravel-sapb1)[![GitHub Tests Action Status](https://camo.githubusercontent.com/c5a9cf184ef6ab7bc909ded7c1ea21d00824da4aac1fc1a68fdcd7f6eecc244b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f69736d61696c64617363692f6c61726176656c2d73617062312f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/ismaildasci/laravel-sapb1/actions?query=workflow%3Arun-tests+branch%3Amain)[![PHPStan](https://camo.githubusercontent.com/85f4a5e5314df22431a262e2f653928be3499f3ffa749db3c216bba4942be717/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f69736d61696c64617363692f6c61726176656c2d73617062312f7068707374616e2e796d6c3f6272616e63683d6d61696e266c6162656c3d7068707374616e267374796c653d666c61742d737175617265)](https://github.com/ismaildasci/laravel-sapb1/actions?query=workflow%3Aphpstan+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/ebc7e736a7366d4293f72401ba88648cb2f59ba228b61fedff4dcea7dbd292af/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f69736d61696c64617363692f6c61726176656c2d73617062312e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/ismaildasci/laravel-sapb1)

A Laravel SDK for SAP Business One Service Layer. Handles sessions, builds OData queries, manages connections, and gets out of your way.

```
use SapB1\Facades\SapB1;

// It just works
$partners = SapB1::get('BusinessPartners')->value();

// Query builder for complex stuff
$orders = SapB1::query()
    ->select('DocEntry', 'DocNum', 'CardCode', 'DocTotal')
    ->where('DocDate', 'ge', '2024-01-01')
    ->whereContains('CardName', 'Corp')
    ->orderByDesc('DocDate')
    ->expand('DocumentLines')
    ->get('Orders')
    ->value();

// CRUD operations
SapB1::create('BusinessPartners', ['CardCode' => 'C001', 'CardName' => 'Acme Corp']);
SapB1::update('BusinessPartners', 'C001', ['Phone1' => '555-1234']);
SapB1::delete('BusinessPartners', 'C001');
```

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

[](#installation)

```
composer require ismaildasci/laravel-sapb1
php artisan vendor:publish --tag="sap-b1-config"
```

Add to `.env`:

```
SAP_B1_URL=https://your-sap-server:50000
SAP_B1_COMPANY_DB=YOUR_COMPANY_DB
SAP_B1_USERNAME=manager
SAP_B1_PASSWORD=your_password
```

Documentation
-------------

[](#documentation)

Full documentation is available in the [docs](docs/README.md) folder:

**Getting Started**

- [Quick Start](docs/quick-start.md) - Get up and running in minutes
- [Installation](docs/installation.md) &amp; [Configuration](docs/configuration.md)

**Core Concepts**

- [Making Requests](docs/requests.md) - CRUD operations &amp; request methods
- [OData Query Builder](docs/odata-query-builder.md) - Fluent query building
- [Working with Responses](docs/responses.md) - Response handling &amp; pagination
- [Multiple Connections](docs/multiple-connections.md) - Multi-server setup

**Features**

- [Batch Operations](docs/batch-operations.md) - Multiple requests in one call
- [Session Pool](docs/session-pool.md) - High-concurrency scenarios
- [Circuit Breaker](docs/circuit-breaker.md) - Resilience &amp; fault tolerance
- [Query Caching](docs/caching.md) - Performance optimization
- [Attachments](docs/attachments.md) - File uploads &amp; downloads
- [SQL Queries](docs/sql-queries.md) - Stored queries &amp; semantic layer
- [Multi-Tenant](docs/multi-tenant.md) - Multi-tenant session isolation

**Operations &amp; Debugging**

- [Health Checks](docs/health-checks.md) - Connection monitoring
- [Artisan Commands](docs/artisan-commands.md) - CLI tools
- [Events](docs/events.md) - Event lifecycle &amp; listeners
- [Error Handling](docs/error-handling.md) - Exceptions &amp; error codes

**Testing**

- [Testing](docs/testing.md) - Mocking &amp; factories
- [Testing Factories](docs/testing-factories.md) - Entity factory patterns

Features
--------

[](#features)

**Core** - Fluent OData query builder, automatic session management, multiple connections, rich response handling, request middleware pipeline.

**Performance** - Batch operations, query caching, request compression, connection pooling, schema caching.

**Resilience** - Circuit breaker pattern, automatic retries with exponential backoff, session auto-refresh, rate limit handling, human-readable error messages.

**Observability** - OpenTelemetry integration, connection diagnostics, query profiling, change detection.

**Enterprise** - Multi-tenant session isolation, audit trail access, alert management, company info API.

**Operations** - Artisan commands for status, health checks, session management, and pool administration.

**Testing** - `SapB1Fake` trait, `FakeResponse` builder, entity factories for BusinessPartner, Item, and Order.

Quick Examples
--------------

[](#quick-examples)

### Multiple Connections

[](#multiple-connections)

```
// Use different SAP B1 servers
$response = SapB1::connection('production')->get('Items');
$response = sap_b1('staging')->get('Items');
```

### Batch Operations

[](#batch-operations)

```
$batch = SapB1::batch();
$batch->get('BusinessPartners', 'C001');
$batch->beginChangeset();
$batch->post('Orders', $orderData);
$batch->patch('Items', 'A001', ['ItemName' => 'Updated']);
$batch->endChangeset();
$responses = $batch->execute();
```

### OData v4 Support

[](#odata-v4-support)

```
// SAP deprecated OData v3 in FP 2405
$response = SapB1::useODataV4()->get('Items');
```

### Change Detection

[](#change-detection)

```
// Watch for order changes (alternative to webhooks)
$detector = SapB1::changes();
$detector->watch('Orders')
    ->track('DocStatus', 'DocTotal')
    ->onCreated(fn($order) => dispatch(new NewOrderJob($order)))
    ->onUpdated(fn($order, $changes) => Log::info('Order updated', $changes));

$changes = $detector->poll(); // Run periodically
```

### Schema Discovery

[](#schema-discovery)

```
// Introspect SAP B1 entities
$entities = SapB1::metadata()->entities();
$schema = SapB1::metadata()->entity('BusinessPartners');
$udfs = SapB1::metadata()->udfs('OCRD'); // User Defined Fields
```

### Multi-Tenant

[](#multi-tenant)

```
// Tenant-specific connections
app(TenantManager::class)->forTenant('tenant-123', function() {
    return SapB1::get('Orders')->value();
});
```

### Health Monitoring

[](#health-monitoring)

```
php artisan sap-b1:status --test
php artisan sap-b1:health --all
php artisan sap-b1:pool status
```

Requirements
------------

[](#requirements)

- PHP 8.4+
- Laravel 11.x or 12.x
- SAP Business One with Service Layer

Testing
-------

[](#testing)

```
composer test
```

Changelog
---------

[](#changelog)

See [CHANGELOG](CHANGELOG.md) for recent changes.

Contributing
------------

[](#contributing)

See [CONTRIBUTING](CONTRIBUTING.md) for details.

Security
--------

[](#security)

Report vulnerabilities via [security policy](../../security/policy).

Credits
-------

[](#credits)

- [Ismail Dasci](https://github.com/ismaildasci)
- [All Contributors](../../contributors)

License
-------

[](#license)

MIT License. See [LICENSE](LICENSE.md).

###  Health Score

44

—

FairBetter than 92% of packages

Maintenance84

Actively maintained with recent releases

Popularity12

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 93.3% 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 ~1 days

Total

8

Last Release

124d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c7789e5962900ed9ddc66344eb712187ab1f04c061fa351aa8c7ca049120daa4?d=identicon)[ismaildasci](/maintainers/ismaildasci)

---

Top Contributors

[![ismaildasci](https://avatars.githubusercontent.com/u/109577378?v=4)](https://github.com/ismaildasci "ismaildasci (28 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (1 commits)")

---

Tags

laravellaravel-sapb1ismaildasci

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/ismaildasci-laravel-sapb1/health.svg)

```
[![Health](https://phpackages.com/badges/ismaildasci-laravel-sapb1/health.svg)](https://phpackages.com/packages/ismaildasci-laravel-sapb1)
```

###  Alternatives

[simplestats-io/laravel-client

Client for SimpleStats!

4515.5k](/packages/simplestats-io-laravel-client)[scalar/laravel

Render your OpenAPI-based API reference

6183.9k2](/packages/scalar-laravel)[njoguamos/laravel-plausible

A laravel package for interacting with plausible analytics api.

208.8k](/packages/njoguamos-laravel-plausible)[ryangjchandler/bearer

Minimalistic token-based authentication for Laravel API endpoints.

8129.8k](/packages/ryangjchandler-bearer)[codebar-ag/laravel-docuware

DocuWare integration with Laravel

1221.1k](/packages/codebar-ag-laravel-docuware)[combindma/laravel-facebook-pixel

Meta pixel integration for Laravel

4956.9k](/packages/combindma-laravel-facebook-pixel)

PHPackages © 2026

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