PHPackages                             teamzac/texas-comptroller-tools - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. teamzac/texas-comptroller-tools

ActiveProject[Utility &amp; Helpers](/categories/utility)

teamzac/texas-comptroller-tools
===============================

Tools to get data from the Texas Comptroller's web site

2.0.0(8y ago)048MITPHPPHP &gt;=5.6.4

Since Aug 26Pushed 6y ago1 watchersCompare

[ Source](https://github.com/teamzac/texas-comptroller-tools)[ Packagist](https://packagist.org/packages/teamzac/texas-comptroller-tools)[ RSS](/packages/teamzac-texas-comptroller-tools/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependencies (6)Versions (11)Used By (0)

This package is deprecated
==========================

[](#this-package-is-deprecated)

Please see [teamzac/texas-comptroller](https://github.com/teamzac/texas-comptroller) instead.

License
-------

[](#license)

You're free to use this package (it's [MIT-licensed](LICENSE.md)) however you see fit.

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

[](#installation)

You can install the package via composer:

```
composer require teamzac/texas-comptroller-tools
```

Local Sales Tax Reports
-----------------------

[](#local-sales-tax-reports)

There are currently classes that support downloading two different local sales tax reports available on the Comptroller's site: the allocation payment detail report, and the allocation historical payments report. Both classes provide convenience methods for downloading reports for different entity types (cities, counties, transit authorities, and special districts).

### Payment Detail Reports

[](#payment-detail-reports)

Create a new report object

```
$report = new TeamZac\TexasComptroller\SalesTax\AllocationReports\PaymentDetail;
```

Request a report for a given entity type with the appropriate search string. There are four different entity types provided by the Comptroller:

```
$data = $report->forCity('Austin')->get();

$data = $report->forCounty('Parker')->get();

$data = $report->forTransitAuthority('Dallas MTA')->get();

$data = $report->forSpecialDistrict('Bexar Co ESD 3')->get();
```

The return value will be an associative array, keyed by the date of the allocation period. Each value will be an associative array of the different payment components and their respective amounts:

```
[
    'YYYY-MM-01' => [
        'total-collections' => 12345.67,
        'prior-period-collections' => 12345.67,
        'current-period-collections' => 12345.67,
        ...
        'net-payment' => 12345.67
    ],
    ...
]
```

This report provides data for the most recent 24 months.

### Historical Payment Reports

[](#historical-payment-reports)

Create a new report object

```
$report = new TeamZac\TexasComptroller\SalesTax\AllocationReports\HistoricalPayments;
```

Request a report for a given entity type with the appropriate search string. There are four different entity types provided by the Comptroller:

```
$data = $report->forCity('Austin')->get();

$data = $report->forCounty('Parker')->get();

$data = $report->forTransitAuthority('Dallas MTA')->get();

$data = $report->forSpecialDistrict('Bexar Co ESD 3')->get();
```

The return value will be an associative array, keyed by the date of the allocation period. Each value will be an associative array of the different payment components and their respective amounts:

```
[
    'YYYY-MM-01' => [
        'net-payment' => 12345.67
    ],
    ...
]
```

Although it's a bit overkill to nest the data so deeply, it was done to retain consistency with the results from the Payment Detail Report.

### Comparison Summary Reports

[](#comparison-summary-reports)

Create a new report object

```
$report = new TeamZac\TexasComptroller\SalesTax\AllocationReports\ComparisonSummary;
```

Request a report for a given entity type with the appropriate search string. There are four different entity types provided by the Comptroller:

```
$data = $report->forCities()->get();

$data = $report->forCounties()->get();

$data = $report->forTransitAuthorities()->get();

$data = $report->forSpecialDistricts()->get();
```

The return value will be an associative array including the allocation period and an array of entities. Each entity will include the name, current amount, year-to-date amount, and the year-over-year change for each.

```
[
    'period' => 'YYYY-MM-01',
    'entities' => [
        [
            'entity' => 'Abbott',
            'amount' => 12345.67,
            'amount_delta' => 12345.67,
            'ytd' => 12345.67,
            'ytd_delta' => 12345.67
        ],
        ...
    ]
]
```

### Exceptions

[](#exceptions)

You should use the fluent report generator methods to create your request. If you fail to do so, you may receive an `InvalidRequest` exception, which you may catch.

Testing
-------

[](#testing)

```
$ composer test
```

Security
--------

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

About TeamZac
-------------

[](#about-teamzac)

TeamZac is the web app development arm of eight20 consulting, specializing in apps that serve local governments. You can view more about us [on our website](https://teamzac.com/open-source).

License
-------

[](#license-1)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity64

Established project with proven stability

 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

Every ~41 days

Recently: every ~73 days

Total

10

Last Release

3216d ago

Major Versions

v1.2.5 → 2.0.02017-09-09

### 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 (22 commits)")

---

Tags

sales taxopenzaczactaxcomptroller

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/teamzac-texas-comptroller-tools/health.svg)

```
[![Health](https://phpackages.com/badges/teamzac-texas-comptroller-tools/health.svg)](https://phpackages.com/packages/teamzac-texas-comptroller-tools)
```

###  Alternatives

[spatie/laravel-export

Create a static site bundle from a Laravel app

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

Delightfully simple forum software.

201.4M2.2k](/packages/flarum-core)[venturedrake/laravel-crm

A free open source CRM built as a package for laravel projects

42010.0k](/packages/venturedrake-laravel-crm)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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