PHPackages                             teamzac/zactax-php - 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. teamzac/zactax-php

ActiveLibrary[API Development](/categories/api)

teamzac/zactax-php
==================

The official PHP client for the ZacTax API

1.0(9y ago)010MITPHPPHP &gt;=5.5.9

Since Apr 28Pushed 9y ago2 watchersCompare

[ Source](https://github.com/teamzac/zactax-php)[ Packagist](https://packagist.org/packages/teamzac/zactax-php)[ RSS](/packages/teamzac-zactax-php/feed)WikiDiscussions master Synced 2w ago

READMEChangelogDependencies (5)Versions (2)Used By (0)

ZacTax PHP Client
=================

[](#zactax-php-client)

This is the official PHP client for the [ZacTax](https://www.zactax.com) API. Although it's in 1.0 release, there are likely to be some major (possibly breaking) changes to the library. See the roadmap below for more information.

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

[](#installation)

The recommended method is to install via Composer:

```
composer require teamzac/zactax-php

```

Usage
-----

[](#usage)

The main entry point is the `TeamZac\ZacTax\ZacTax` object. The constructor accepts an array of options, some of which can be set fluently if you need to set them after instantiation:

```
$zactax = new TeamZac\ZacTax\ZacTax([
    'apiToken' => 'YOUR-API-TOKEN-HERE',
    'jurisdictionId' => 'JURISDICTION-ID*',
    'debug' => false, // set to true to debug HTTP calls
]);
```

Notes: \* The Jurisdiction ID is recommended, but not strictly necessary when the API Token being used only has access to a single jurisdiction. Some users, however, will have access to multiple jurisdictions, in which case it is highly recommended that you set this option to ensure that you're receiving the correct data.

### Fluently setting options

[](#fluently-setting-options)

You can also fluently set some of the options if you need to do so after instantiation:

```
$zactax->setApiToken('1234')
    ->setJurisdictionId('jurisdiction-id')
    ->debug();
```

Accessing resources
-------------------

[](#accessing-resources)

You can as properties on the `TeamZac\ZacTax\ZacTax` instance:

```
$zactax->industries;
$zactax->jurisdictions;
$zactax->regions;
$zactax->taxpayers;
$zactax->users;
```

These resources provide a similar interface, although not necessarily identical as they do not all have the same information or level of detail. Common endpoints to these resources are:

```
$resource->all(); // fetch all records
$resource->find($id); // fetch a specific record
```

What follows is a quick list of endpoints for each resource.

#### Industries

[](#industries)

```
$zactax->industries->payments($industryId, $options);
$zactax->industries->topTaxpayers($industryId);
```

#### Regions

[](#regions)

```
$zactax->regions->payments($regionId, $options);
$zactax->regions->outlets($regionId);
```

#### Taxpayers

[](#taxpayers)

```
$zactax->taxpayers->payments($taxpayerId, $options);
$zactax->taxpayers->search($query, $options);
```

#### Users

[](#users)

```
$zactax->industries->me();
$zactax->industries->myJurisdictions();
```

We'll continue to flesh out the entire API over time, as this covers only a subset of the available data provided by ZacTax.

Roadmap
-------

[](#roadmap)

- Continue filling out the rest of the available endpoints to provide 100% coverage
- Return resources and collections from API calls that are more than the simple objects and arrays currently returned. For example, a taxpayers-&gt;find() call should return a Taxpayer instance, which can have things like -&gt;getPayments() and -&gt;updateName() methods on it.
- Improve test coverage

Issues
------

[](#issues)

If you notice any issues or problems, please report them. For security problems, please email support\[at\]zactax.com.

###  Health Score

25

—

LowBetter than 35% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

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

Unknown

Total

1

Last Release

3351d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6fd7317d975889db1c4dc0aec0dfcd3f9f4e284634e6719891d3f47f46238be6?d=identicon)[teamzac](/maintainers/teamzac)

---

Top Contributors

[![chadjanicek](https://avatars.githubusercontent.com/u/18754689?v=4)](https://github.com/chadjanicek "chadjanicek (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/teamzac-zactax-php/health.svg)

```
[![Health](https://phpackages.com/badges/teamzac-zactax-php/health.svg)](https://phpackages.com/packages/teamzac-zactax-php)
```

###  Alternatives

[statamic/cms

The Statamic CMS Core Package

4.8k3.6M952](/packages/statamic-cms)[craftcms/cms

Craft CMS

3.6k3.6M3.0k](/packages/craftcms-cms)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3741.3M46](/packages/tencentcloud-tencentcloud-sdk-php)[smodav/mpesa

M-Pesa API implementation

16467.9k1](/packages/smodav-mpesa)[spatie/laravel-export

Create a static site bundle from a Laravel app

674146.0k6](/packages/spatie-laravel-export)[flarum/core

Delightfully simple forum software.

201.4M2.3k](/packages/flarum-core)

PHPackages © 2026

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