Download the PHP package cboxdk/laravel-tax without Composer

On this page you can find all versions of the php package cboxdk/laravel-tax. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-tax

Cbox Tax

Consumption tax for Laravel. Send it a sale — who is selling, who is buying, what it is — and get back a number you can defend: the treatment, the rate, the authorities it splits across, and the published source it came from.

No tax SaaS in the request path. Nothing is fetched while pricing.

Zero, but not "no tax was due": the tax is the French customer's to account for, the invoice has to say so, and the return has to report it. Six treatments keep those distinctions apart — see what comes back.

From install to a priced sale, in three steps

1 — Install

2 — Install the data (once, and on every deploy — like php artisan migrate)

This compiles a published release of the register onto local disk: 11 tax regimes, every rate carrying the source and the date it was captured. Until it has run, the engine refuses to price anything rather than guess.

3 — Ask

A German company invoicing a validated French business is an intra-EU B2B supply, so nothing is charged and the buyer self-accounts. Change the seller to a French entity and the same query charges French VAT. That is the whole idea: tax is a function of the facts you send, and every fact has somewhere to go.

→ Upgrading from 0.9

What comes back

TaxAssessment is built to survive an audit, not just to add a line to a cart.

treatment Standard, ReverseCharge, IntraCommunitySupply, ZeroRated, Exempt, NotRegistered, MarketplaceFacilitated — six different zeros that mean different things on a return
tax, net, gross exact brick/money, rounded by the jurisdiction's own published policy
rate->provenance which release, which dataset, effective from when, and a hash of the section it was read from
rate->confidence, rate->limitedBy whether this is exact, and if not, the one step that would close the gap
breakdown the state / county / city / district shares, allocated from the tax actually charged so they sum to it exactly
reason a sentence a human can read out to an accountant

It refuses rather than guess

Three outcomes that most engines collapse into "0", kept apart on purpose:

Between the two extremes sits the honest middle: an answer that is probably right and says why it might not be. A rate resolved from a broader category, a US service taxed because nothing published says otherwise, an address that only resolved to the state line — each comes back flagged, with a remedy attached. OrderAssessment::needsReview() is the one call that tells you whether anything on a document needs a human.

Where the logic ends and the data begins

The engine never invents a rate, and the register never decides a treatment. Both sides are contracts: bind your own TaxRateSource, ProductTaxability, MarketplaceRules or DeliveryRules and the engine keeps working.

Coverage

EU VAT Place of supply per the Directive — goods and electronic services at the customer, general B2C services at the supplier — intra-EU B2B as an exempt Art. 138 supply, the Art. 59c €10,000 relief, and the ten special territories a country code cannot find
National VAT/GST UK, CH, NO, AU, NZ, MX, SG, TW, AE, SA, BH, OM, TR, CL, ID, VN, PH, JP, KR, TH, UA
India · Malaysia Dual GST (IGST vs CGST+SGST) · SST service tax
United States Nexus, taxability, marketplace and intrastate-sourcing gates, with local authorities stacked to the house number where a state publishes a street index, the point in California and New Mexico, and ZIP+4 across the Streamlined states
Canada Federal GST plus the province's PST/QST, or a harmonised HST in its place

25 regime modules across 52 countries. The register carries data for more jurisdictions than the engine models rules for — a rate existing does not make a country supported, and the difference is written down.

Built for platforms, not just one shop

Data you can pin

The register is compiled, content-addressed and swapped atomically:

The package is MIT. The register's data is licensed separately (PolyForm Internal Use 1.0.0): computing your own tax is covered; redistributing the data or reselling lookups from it is not. → The register

The data is in beta

Rates are read from primary sources and carry their provenance, and the engine refuses rather than guessing where nothing published answers. That is not the same as being right, and there will be errors nobody has found yet — in the data, and in the law this engine models.

So: act on needsReview(), check the countries you actually sell in against your own adviser's numbers, and store the release version with each invoice so a later correction can be traced to the orders it touched. The package is MIT and the register's data is licensed separately; both are provided as-is, and neither is tax advice. A wrong number is worth reporting — open an issue with the release version and it gets fixed in the data or in the code.

→ Beta status and responsibility

Documentation

Quickstart Zero to a priced supply in one read
Cookbook A checkout, a marketplace sale, a backfill
Core concepts Regimes, seller registrations, dates, exemptions, rounding, breakdowns
Coverage What is modelled, what the register publishes, and what is neither
Beta status What is guaranteed, what is not, and what stays yours
Extension points Bind your own sources, geocoder, catalogue, resolvers
Upgrading from 0.9 The retired data sources, changed contracts, and the numbers that move

Requirements

PHP ^8.4 (tested on 8.4 and 8.5) with ext-dom and ext-zlib, Laravel ^13, and cboxdk/laravel-geo for jurisdictions. See requirements.

Development


All versions of laravel-tax with dependencies

PHP Build Version
Package Version
Requires php Version ^8.4
ext-dom Version *
ext-zlib Version *
brick/money Version ^0.14 || ^0.15
cboxdk/laravel-geo Version ^0.6
cboxdk/tax-resolver Version ^1.1
illuminate/contracts Version ^13.0
illuminate/http Version ^13.0
illuminate/support Version ^13.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package cboxdk/laravel-tax contains the following files

Loading the files please wait ...