PHPackages                             dokan-e-commerce/compliance-laravel-sdk - 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. dokan-e-commerce/compliance-laravel-sdk

ActiveLibrary[API Development](/categories/api)

dokan-e-commerce/compliance-laravel-sdk
=======================================

Laravel SDK for Dokan ZATCA Phase 2 Compliance API - Streamline your e-invoicing compliance

v1.0.1(1y ago)7433↑80%1MITPHPPHP ^8.0|^8.1|^8.2|^8.3

Since Apr 4Pushed 1y ago1 watchersCompare

[ Source](https://github.com/Dokan-E-Commerce/compliance-laravel-sdk)[ Packagist](https://packagist.org/packages/dokan-e-commerce/compliance-laravel-sdk)[ Docs](https://github.com/dokan-e-commerce/compliance-laravel-sdk)[ RSS](/packages/dokan-e-commerce-compliance-laravel-sdk/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (4)Versions (3)Used By (0)

Dokan Compliance Laravel SDK (ZATCA Phase 2 Reporting)
======================================================

[](#dokan-compliance-laravel-sdk-zatca-phase-2-reporting)

A Laravel SDK for interacting with the Dokan Compliance API. an easy way to integreate with zatca-phase-2.

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

[](#installation)

You can install the package via composer:

```
composer require dokan-e-commerce/compliance-laravel-sdk
```

Setup
-----

[](#setup)

1. Publish the config file (Optional):

```
php artisan vendor:publish --provider="Dokan\Compliance\ComplianceServiceProvider" --tag="compliance-config"
```

2. Add these variables to your `.env` file:

```
DOKAN_COMPLIANCE_API_KEY=your-api-key

```

3. Get your API token:
    - Visit [Dokan Compliance Portal](https://compliance.dokan.sa/)
    - Sign in to your account / register
    - Create business entity if you dont have, and onboard your business
    - Navigate to the API Tokens section
    - Create a new API token
    - Copy the generated token and use it as your `DOKAN_COMPLIANCE_API_KEY`

Usage
-----

[](#usage)

### Get Business Details

[](#get-business-details)

```
$client = app(\Dokan\Compliance\ComplianceClient::class);
$businessDetails = $client->getBusinessDetails();
```

### Create Invoice

[](#create-invoice)

```
use Dokan\Compliance\DTOs\CreateInvoiceRequest;
use Dokan\Compliance\DTOs\Client;
use Dokan\Compliance\DTOs\LineItem;

$invoiceRequest = new CreateInvoiceRequest(
    business_config_id: '9dekebab-4bab-4e0a-af2c-f3shawarma',
    invoice_identifier: 'INV-1234',
    type: 'simplified',
    type_code: 388,
    currency: 'SAR',
    payment_status: 'Paid',
    nature: 'Sale',
    invoice_date: '2025-04-24 12:00:00',
    client: new Client(
        email: 'ahmed@dev.dokan.sa',
        type: 'individual',
        name: 'Ahmed A',
        phone: "+96655555555" // optional
    ),
    lineItems: [
        new LineItem(
            label: 'Chicken Shawarma',
            price: 6,
            quantity: 2,
            is_vat_inclusive: true
        ),
        new LineItem(
            label: 'Meat Shawarma',
            price: 8,
            quantity: 2,
            is_vat_inclusive: true
        )
    ]
    // Optional parameters:
    // instant_report: bool|null
    // custom_attributes: array|null
);

// Direct creation
$response = $client->createInvoice($invoiceRequest->toArray());

// Queue creation (with automatic retries)
$client->createInvoice($invoiceRequest->toArray(), queue: true);
```

### Get Invoice Details

[](#get-invoice-details)

```
$invoiceDetails = $client->getInvoiceDetails(123);
```

Queue Configuration (Optional)
------------------------------

[](#queue-configuration-optional)

If you plan to use queued invoice creation:

1. Configure queue in `.env`:

```
QUEUE_CONNECTION=redis # or database, sqs, etc.

```

2. Run queue worker:

```
php artisan queue:work
```

The queue system includes:

- 3 retry attempts
- 5-second delay between retries
- Automatic handling of API errors
- Retries only on connection issues or server errors

Support
-------

[](#support)

- PHP: ^8.0|^8.1|^8.2|^8.3
- Laravel: ^9.0|^10.0

License
-------

[](#license)

MIT License

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance46

Moderate activity, may be stable

Popularity22

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 80% 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

2

Last Release

409d ago

### Community

Maintainers

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

---

Top Contributors

[![a7md](https://avatars.githubusercontent.com/u/64811467?v=4)](https://github.com/a7md "a7md (4 commits)")[![the0xahmed](https://avatars.githubusercontent.com/u/185793246?v=4)](https://github.com/the0xahmed "the0xahmed (1 commits)")

---

Tags

compliancee-invoicinge-reportinglaravelphpqr-codezatcazatca-2laravelZATCAe-invoicingsaudi-arabiadokanzatca-phase-2laravel-zatca-phase-2e-reporting

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/dokan-e-commerce-compliance-laravel-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/dokan-e-commerce-compliance-laravel-sdk/health.svg)](https://phpackages.com/packages/dokan-e-commerce-compliance-laravel-sdk)
```

###  Alternatives

[irazasyed/telegram-bot-sdk

The Unofficial Telegram Bot API PHP SDK

3.3k4.5M84](/packages/irazasyed-telegram-bot-sdk)[dcblogdev/laravel-microsoft-graph

A Laravel Microsoft Graph API (Office365) package

168285.5k1](/packages/dcblogdev-laravel-microsoft-graph)[vluzrmos/slack-api

Wrapper for Slack.com WEB API.

102589.1k3](/packages/vluzrmos-slack-api)[smodav/mpesa

M-Pesa API implementation

16363.7k1](/packages/smodav-mpesa)[dcblogdev/laravel-xero

A Laravel Xero package

53129.1k1](/packages/dcblogdev-laravel-xero)[simplestats-io/laravel-client

Client for SimpleStats!

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

PHPackages © 2026

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