From 010d0bb3fbd87175650ce371173da57efa73ae6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Denis=20Duli=C3=A7i?= Date: Wed, 22 Jul 2020 15:11:31 +0300 Subject: [PATCH] withholding tax --- app/Abstracts/DocumentModel.php | 13 +- app/Http/Controllers/Settings/Taxes.php | 3 + app/Jobs/Purchase/CreateBillItem.php | 18 +- .../Purchase/CreateBillItemsAndTotals.php | 5 +- app/Jobs/Sale/CreateInvoiceItem.php | 18 +- app/Jobs/Sale/CreateInvoiceItemsAndTotals.php | 4 +- app/Models/Setting/Tax.php | 44 + app/Reports/TaxSummary.php | 2 +- composer.lock | 787 ++++++++++++------ database/factories/Tax.php | 4 +- resources/assets/js/views/purchases/bills.js | 7 +- resources/assets/js/views/sales/invoices.js | 9 +- resources/lang/en-GB/taxes.php | 1 + 13 files changed, 635 insertions(+), 280 deletions(-) diff --git a/app/Abstracts/DocumentModel.php b/app/Abstracts/DocumentModel.php index e95c1c258..4235a5822 100644 --- a/app/Abstracts/DocumentModel.php +++ b/app/Abstracts/DocumentModel.php @@ -3,8 +3,7 @@ namespace App\Abstracts; use App\Abstracts\Model; -use App\Models\Banking\Transaction; -use App\Models\Setting\Currency; +use App\Models\Setting\Tax; use App\Traits\Currencies; use App\Traits\DateTime; use App\Traits\Media; @@ -159,8 +158,14 @@ abstract class DocumentModel extends Model { $amount = $this->amount; - $this->totals->where('code', 'tax')->each(function ($tax) use(&$amount) { - $amount -= $tax->amount; + $this->totals->where('code', 'tax')->each(function ($total) use(&$amount) { + $tax = Tax::name($total->name)->first(); + + if (!empty($tax) && ($tax->type == 'withholding')) { + return; + } + + $amount -= $total->amount; }); return $amount; diff --git a/app/Http/Controllers/Settings/Taxes.php b/app/Http/Controllers/Settings/Taxes.php index 1ef48502c..d7b75c974 100644 --- a/app/Http/Controllers/Settings/Taxes.php +++ b/app/Http/Controllers/Settings/Taxes.php @@ -25,6 +25,7 @@ class Taxes extends Controller 'fixed' => trans('taxes.fixed'), 'normal' => trans('taxes.normal'), 'inclusive' => trans('taxes.inclusive'), + 'withholding' => trans('taxes.withholding'), 'compound' => trans('taxes.compound'), ]; @@ -52,6 +53,7 @@ class Taxes extends Controller 'fixed' => trans('taxes.fixed'), 'normal' => trans('taxes.normal'), 'inclusive' => trans('taxes.inclusive'), + 'withholding' => trans('taxes.withholding'), 'compound' => trans('taxes.compound'), ]; @@ -99,6 +101,7 @@ class Taxes extends Controller 'fixed' => trans('taxes.fixed'), 'normal' => trans('taxes.normal'), 'inclusive' => trans('taxes.inclusive'), + 'withholding' => trans('taxes.withholding'), 'compound' => trans('taxes.compound'), ]; diff --git a/app/Jobs/Purchase/CreateBillItem.php b/app/Jobs/Purchase/CreateBillItem.php index 68c49e7b2..f59348914 100644 --- a/app/Jobs/Purchase/CreateBillItem.php +++ b/app/Jobs/Purchase/CreateBillItem.php @@ -87,9 +87,23 @@ class CreateBillItem extends Job $item_tax_total += $tax_amount; + break; + case 'withholding': + $tax_amount = 0 - $item_discounted_amount * ($tax->rate / 100); + + $item_taxes[] = [ + 'company_id' => $this->bill->company_id, + 'bill_id' => $this->bill->id, + 'tax_id' => $tax_id, + 'name' => $tax->name, + 'amount' => $tax_amount, + ]; + + $item_tax_total += $tax_amount; + break; default: - $tax_amount = ($item_discounted_amount / 100) * $tax->rate; + $tax_amount = $item_discounted_amount * ($tax->rate / 100); $item_taxes[] = [ 'company_id' => $this->bill->company_id, @@ -167,7 +181,7 @@ class CreateBillItem extends Job foreach ($item_taxes as $item_tax) { $item_tax['bill_item_id'] = $bill_item->id; - $item_tax['amount'] = round($item_tax['amount'], $precision); + $item_tax['amount'] = round(abs($item_tax['amount']), $precision); BillItemTax::create($item_tax); } diff --git a/app/Jobs/Purchase/CreateBillItemsAndTotals.php b/app/Jobs/Purchase/CreateBillItemsAndTotals.php index 3335f7376..7a3693aad 100644 --- a/app/Jobs/Purchase/CreateBillItemsAndTotals.php +++ b/app/Jobs/Purchase/CreateBillItemsAndTotals.php @@ -3,7 +3,6 @@ namespace App\Jobs\Purchase; use App\Abstracts\Job; -use App\Models\Purchase\Bill; use App\Models\Purchase\BillTotal; use App\Traits\Currencies; use App\Traits\DateTime; @@ -96,7 +95,7 @@ class CreateBillItemsAndTotals extends Job 'bill_id' => $this->bill->id, 'code' => 'tax', 'name' => $tax['name'], - 'amount' => round($tax['amount'], $precision), + 'amount' => round(abs($total['amount']), $precision), 'sort_order' => $sort_order, ]); @@ -117,7 +116,7 @@ class CreateBillItemsAndTotals extends Job $total['code'] = 'extra'; } - $total['amount'] = round($total['amount'], $precision); + $total['amount'] = round(abs($total['amount']), $precision); BillTotal::create($total); diff --git a/app/Jobs/Sale/CreateInvoiceItem.php b/app/Jobs/Sale/CreateInvoiceItem.php index 3fd032b20..6fe80e573 100644 --- a/app/Jobs/Sale/CreateInvoiceItem.php +++ b/app/Jobs/Sale/CreateInvoiceItem.php @@ -87,9 +87,23 @@ class CreateInvoiceItem extends Job $item_tax_total += $tax_amount; + break; + case 'withholding': + $tax_amount = 0 - $item_discounted_amount * ($tax->rate / 100); + + $item_taxes[] = [ + 'company_id' => $this->invoice->company_id, + 'invoice_id' => $this->invoice->id, + 'tax_id' => $tax_id, + 'name' => $tax->name, + 'amount' => $tax_amount, + ]; + + $item_tax_total += $tax_amount; + break; default: - $tax_amount = ($item_discounted_amount / 100) * $tax->rate; + $tax_amount = $item_discounted_amount * ($tax->rate / 100); $item_taxes[] = [ 'company_id' => $this->invoice->company_id, @@ -167,7 +181,7 @@ class CreateInvoiceItem extends Job foreach ($item_taxes as $item_tax) { $item_tax['invoice_item_id'] = $invoice_item->id; - $item_tax['amount'] = round($item_tax['amount'], $precision); + $item_tax['amount'] = round(abs($item_tax['amount']), $precision); InvoiceItemTax::create($item_tax); } diff --git a/app/Jobs/Sale/CreateInvoiceItemsAndTotals.php b/app/Jobs/Sale/CreateInvoiceItemsAndTotals.php index a9a42063e..764e412e0 100644 --- a/app/Jobs/Sale/CreateInvoiceItemsAndTotals.php +++ b/app/Jobs/Sale/CreateInvoiceItemsAndTotals.php @@ -95,7 +95,7 @@ class CreateInvoiceItemsAndTotals extends Job 'invoice_id' => $this->invoice->id, 'code' => 'tax', 'name' => $tax['name'], - 'amount' => round($tax['amount'], $precision), + 'amount' => round(abs($tax['amount']), $precision), 'sort_order' => $sort_order, ]); @@ -116,7 +116,7 @@ class CreateInvoiceItemsAndTotals extends Job $total['code'] = 'extra'; } - $total['amount'] = round($total['amount'], $precision); + $total['amount'] = round(abs($total['amount']), $precision); InvoiceTotal::create($total); diff --git a/app/Models/Setting/Tax.php b/app/Models/Setting/Tax.php index e359ef18e..8f9f717bf 100644 --- a/app/Models/Setting/Tax.php +++ b/app/Models/Setting/Tax.php @@ -54,6 +54,50 @@ class Tax extends Model return $query->where('rate', '=', $rate); } + public function scopeNotRate($query, $rate) + { + return $query->where('rate', '<>', $rate); + } + + public function scopeType($query, $types) + { + if (empty($types)) { + return $query; + } + + return $query->whereIn($this->table . '.type', (array) $types); + } + + public function scopeFixed($query) + { + return $query->where($this->table . '.type', '=', 'fixed'); + } + + public function scopeNormal($query) + { + return $query->where($this->table . '.type', '=', 'normal'); + } + + public function scopeInclusive($query) + { + return $query->where($this->table . '.type', '=', 'inclusive'); + } + + public function scopeCompound($query) + { + return $query->where($this->table . '.type', '=', 'compound'); + } + + public function scopeWithholding($query) + { + return $query->where($this->table . '.type', '=', 'withholding'); + } + + public function scopeNotWithholding($query) + { + return $query->where($this->table . '.type', '<>', 'withholding'); + } + /** * Convert rate to double. * diff --git a/app/Reports/TaxSummary.php b/app/Reports/TaxSummary.php index f6ccd3a48..2bf703d0a 100644 --- a/app/Reports/TaxSummary.php +++ b/app/Reports/TaxSummary.php @@ -32,7 +32,7 @@ class TaxSummary extends Report public function setTables() { - $taxes = Tax::enabled()->where('rate', '<>', '0')->orderBy('name')->pluck('name')->toArray(); + $taxes = Tax::enabled()->notWithholding()->notRate(0)->orderBy('name')->pluck('name')->toArray(); $this->tables = array_combine($taxes, $taxes); } diff --git a/composer.lock b/composer.lock index 4bacf291e..e4b7e0eaa 100644 --- a/composer.lock +++ b/composer.lock @@ -129,16 +129,16 @@ }, { "name": "akaunting/menu", - "version": "1.0.10", + "version": "1.0.11", "source": { "type": "git", "url": "https://github.com/akaunting/menu.git", - "reference": "6895de00f0d320545b4d64f7d255fffdf690e145" + "reference": "9ffdbee823eeba62347812380cac0522b569347f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/akaunting/menu/zipball/6895de00f0d320545b4d64f7d255fffdf690e145", - "reference": "6895de00f0d320545b4d64f7d255fffdf690e145", + "url": "https://api.github.com/repos/akaunting/menu/zipball/9ffdbee823eeba62347812380cac0522b569347f", + "reference": "9ffdbee823eeba62347812380cac0522b569347f", "shasum": "" }, "require": { @@ -193,20 +193,20 @@ "navigation", "sidebar" ], - "time": "2020-06-04T21:15:59+00:00" + "time": "2020-07-10T13:32:45+00:00" }, { "name": "akaunting/module", - "version": "1.0.10", + "version": "1.0.11", "source": { "type": "git", "url": "https://github.com/akaunting/module.git", - "reference": "ab24ced4d42716782424227002b670e29cffabbb" + "reference": "7df640d9556b098a427fcff84dc92879a272e8d6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/akaunting/module/zipball/ab24ced4d42716782424227002b670e29cffabbb", - "reference": "ab24ced4d42716782424227002b670e29cffabbb", + "url": "https://api.github.com/repos/akaunting/module/zipball/7df640d9556b098a427fcff84dc92879a272e8d6", + "reference": "7df640d9556b098a427fcff84dc92879a272e8d6", "shasum": "" }, "require": { @@ -258,7 +258,7 @@ "module", "rad" ], - "time": "2020-03-07T22:53:21+00:00" + "time": "2020-07-10T20:18:06+00:00" }, { "name": "akaunting/money", @@ -998,20 +998,30 @@ "ssl", "tls" ], + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], "time": "2020-04-08T08:27:21+00:00" }, { "name": "composer/composer", - "version": "1.10.8", + "version": "1.10.9", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "56e0e094478f30935e9128552188355fa9712291" + "reference": "83c3250093d5491600a822e176b107a945baf95a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/56e0e094478f30935e9128552188355fa9712291", - "reference": "56e0e094478f30935e9128552188355fa9712291", + "url": "https://api.github.com/repos/composer/composer/zipball/83c3250093d5491600a822e176b107a945baf95a", + "reference": "83c3250093d5491600a822e176b107a945baf95a", "shasum": "" }, "require": { @@ -1092,7 +1102,7 @@ "type": "tidelift" } ], - "time": "2020-06-24T19:23:30+00:00" + "time": "2020-07-16T10:57:00+00:00" }, { "name": "composer/semver", @@ -1157,16 +1167,16 @@ }, { "name": "composer/spdx-licenses", - "version": "1.5.3", + "version": "1.5.4", "source": { "type": "git", "url": "https://github.com/composer/spdx-licenses.git", - "reference": "0c3e51e1880ca149682332770e25977c70cf9dae" + "reference": "6946f785871e2314c60b4524851f3702ea4f2223" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/0c3e51e1880ca149682332770e25977c70cf9dae", - "reference": "0c3e51e1880ca149682332770e25977c70cf9dae", + "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/6946f785871e2314c60b4524851f3702ea4f2223", + "reference": "6946f785871e2314c60b4524851f3702ea4f2223", "shasum": "" }, "require": { @@ -1213,7 +1223,21 @@ "spdx", "validator" ], - "time": "2020-02-14T07:44:31+00:00" + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2020-07-15T15:35:07+00:00" }, { "name": "composer/xdebug-handler", @@ -1561,16 +1585,16 @@ }, { "name": "doctrine/cache", - "version": "1.10.1", + "version": "1.10.2", "source": { "type": "git", "url": "https://github.com/doctrine/cache.git", - "reference": "35a4a70cd94e09e2259dfae7488afc6b474ecbd3" + "reference": "13e3381b25847283a91948d04640543941309727" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/35a4a70cd94e09e2259dfae7488afc6b474ecbd3", - "reference": "35a4a70cd94e09e2259dfae7488afc6b474ecbd3", + "url": "https://api.github.com/repos/doctrine/cache/zipball/13e3381b25847283a91948d04640543941309727", + "reference": "13e3381b25847283a91948d04640543941309727", "shasum": "" }, "require": { @@ -1653,20 +1677,20 @@ "type": "tidelift" } ], - "time": "2020-05-27T16:24:54+00:00" + "time": "2020-07-07T18:54:01+00:00" }, { "name": "doctrine/collections", - "version": "1.6.5", + "version": "1.6.6", "source": { "type": "git", "url": "https://github.com/doctrine/collections.git", - "reference": "fc0206348e17e530d09463fef07ba8968406cd6d" + "reference": "5f0470363ff042d0057006ae7acabc5d7b5252d5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/fc0206348e17e530d09463fef07ba8968406cd6d", - "reference": "fc0206348e17e530d09463fef07ba8968406cd6d", + "url": "https://api.github.com/repos/doctrine/collections/zipball/5f0470363ff042d0057006ae7acabc5d7b5252d5", + "reference": "5f0470363ff042d0057006ae7acabc5d7b5252d5", "shasum": "" }, "require": { @@ -1732,7 +1756,7 @@ "type": "tidelift" } ], - "time": "2020-05-25T19:24:35+00:00" + "time": "2020-06-22T19:14:02+00:00" }, { "name": "doctrine/dbal", @@ -2367,16 +2391,16 @@ }, { "name": "genealabs/laravel-model-caching", - "version": "0.8.9", + "version": "0.8.10", "source": { "type": "git", "url": "https://github.com/GeneaLabs/laravel-model-caching.git", - "reference": "56581bbec6d491d6bfcffb8c077353b0c1098af5" + "reference": "f9be69e6937ef4bb4477deacf10e65c40d7df00f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GeneaLabs/laravel-model-caching/zipball/56581bbec6d491d6bfcffb8c077353b0c1098af5", - "reference": "56581bbec6d491d6bfcffb8c077353b0c1098af5", + "url": "https://api.github.com/repos/GeneaLabs/laravel-model-caching/zipball/f9be69e6937ef4bb4477deacf10e65c40d7df00f", + "reference": "f9be69e6937ef4bb4477deacf10e65c40d7df00f", "shasum": "" }, "require": { @@ -2429,12 +2453,16 @@ ], "description": "Automatic caching for Eloquent models.", "funding": [ + { + "url": "https://github.com/GeneaLabs", + "type": "github" + }, { "url": "https://github.com/mikebronner", "type": "github" } ], - "time": "2020-07-02T17:02:38+00:00" + "time": "2020-07-08T18:08:06+00:00" }, { "name": "genealabs/laravel-pivot-events", @@ -3278,16 +3306,16 @@ }, { "name": "laravel/framework", - "version": "v7.18.0", + "version": "v7.21.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "116b508bafd81de97b1c09744445d32a91076b60" + "reference": "3ccdb116524de408fdc00715b6f06a1031ddace9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/116b508bafd81de97b1c09744445d32a91076b60", - "reference": "116b508bafd81de97b1c09744445d32a91076b60", + "url": "https://api.github.com/repos/laravel/framework/zipball/3ccdb116524de408fdc00715b6f06a1031ddace9", + "reference": "3ccdb116524de408fdc00715b6f06a1031ddace9", "shasum": "" }, "require": { @@ -3431,20 +3459,20 @@ "framework", "laravel" ], - "time": "2020-06-30T13:52:36+00:00" + "time": "2020-07-21T14:26:42+00:00" }, { "name": "laravel/tinker", - "version": "v2.4.0", + "version": "v2.4.1", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "cde90a7335a2130a4488beb68f4b2141869241db" + "reference": "3c9ef136ca59366bc1b50b7f2500a946d5149c62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/cde90a7335a2130a4488beb68f4b2141869241db", - "reference": "cde90a7335a2130a4488beb68f4b2141869241db", + "url": "https://api.github.com/repos/laravel/tinker/zipball/3c9ef136ca59366bc1b50b7f2500a946d5149c62", + "reference": "3c9ef136ca59366bc1b50b7f2500a946d5149c62", "shasum": "" }, "require": { @@ -3495,7 +3523,7 @@ "laravel", "psysh" ], - "time": "2020-04-07T15:01:31+00:00" + "time": "2020-07-07T15:10:00+00:00" }, { "name": "laravel/ui", @@ -3622,16 +3650,16 @@ }, { "name": "league/commonmark", - "version": "1.5.1", + "version": "1.5.3", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "6d74caf6abeed5fd85d6ec20da23d7269cd0b46f" + "reference": "2574454b97e4103dc4e36917bd783b25624aefcd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/6d74caf6abeed5fd85d6ec20da23d7269cd0b46f", - "reference": "6d74caf6abeed5fd85d6ec20da23d7269cd0b46f", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/2574454b97e4103dc4e36917bd783b25624aefcd", + "reference": "2574454b97e4103dc4e36917bd783b25624aefcd", "shasum": "" }, "require": { @@ -3650,7 +3678,7 @@ "michelf/php-markdown": "~1.4", "mikehaertl/php-shellcommand": "^1.4", "phpstan/phpstan": "^0.12", - "phpunit/phpunit": "^7.5", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.2", "scrutinizer/ocular": "^1.5", "symfony/finder": "^4.2" }, @@ -3713,7 +3741,7 @@ "type": "tidelift" } ], - "time": "2020-06-27T12:50:08+00:00" + "time": "2020-07-19T22:47:30+00:00" }, { "name": "league/flysystem", @@ -4991,6 +5019,51 @@ ], "time": "2020-06-17T14:59:55+00:00" }, + { + "name": "paragonie/random_compat", + "version": "v9.99.99", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "shasum": "" + }, + "require": { + "php": "^7" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*", + "vimeo/psalm": "^1" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "polyfill", + "pseudorandom", + "random" + ], + "time": "2018-07-02T15:55:56+00:00" + }, { "name": "phenx/php-font-lib", "version": "0.5.2", @@ -5070,29 +5143,29 @@ }, { "name": "php-http/discovery", - "version": "1.9.0", + "version": "1.9.1", "source": { "type": "git", "url": "https://github.com/php-http/discovery.git", - "reference": "9ab7668fee74a5ad61996095e50917bd50ee8bfe" + "reference": "64a18cc891957e05d91910b3c717d6bd11fbede9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/discovery/zipball/9ab7668fee74a5ad61996095e50917bd50ee8bfe", - "reference": "9ab7668fee74a5ad61996095e50917bd50ee8bfe", + "url": "https://api.github.com/repos/php-http/discovery/zipball/64a18cc891957e05d91910b3c717d6bd11fbede9", + "reference": "64a18cc891957e05d91910b3c717d6bd11fbede9", "shasum": "" }, "require": { - "php": "^7.1" + "php": "^7.1 || ^8.0" }, "conflict": { "nyholm/psr7": "<1.0" }, "require-dev": { - "akeneo/phpspec-skip-example-extension": "^4.0", + "graham-campbell/phpspec-skip-example-extension": "^5.0", "php-http/httplug": "^1.0 || ^2.0", "php-http/message-factory": "^1.0", - "phpspec/phpspec": "^5.1", + "phpspec/phpspec": "^5.1 || ^6.1", "puli/composer-plugin": "1.0.0-beta10" }, "suggest": { @@ -5131,7 +5204,7 @@ "message", "psr7" ], - "time": "2020-07-02T11:43:45+00:00" + "time": "2020-07-13T15:44:45+00:00" }, { "name": "php-http/guzzle6-adapter", @@ -5198,27 +5271,27 @@ }, { "name": "php-http/httplug", - "version": "2.1.0", + "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/php-http/httplug.git", - "reference": "72d2b129a48f0490d55b7f89be0d6aa0597ffb06" + "reference": "191a0a1b41ed026b717421931f8d3bd2514ffbf9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/httplug/zipball/72d2b129a48f0490d55b7f89be0d6aa0597ffb06", - "reference": "72d2b129a48f0490d55b7f89be0d6aa0597ffb06", + "url": "https://api.github.com/repos/php-http/httplug/zipball/191a0a1b41ed026b717421931f8d3bd2514ffbf9", + "reference": "191a0a1b41ed026b717421931f8d3bd2514ffbf9", "shasum": "" }, "require": { - "php": "^7.0", - "php-http/promise": "^1.0", + "php": "^7.1 || ^8.0", + "php-http/promise": "^1.1", "psr/http-client": "^1.0", "psr/http-message": "^1.0" }, "require-dev": { "friends-of-phpspec/phpspec-code-coverage": "^4.1", - "phpspec/phpspec": "^4.3.4|^5.0|^6.0" + "phpspec/phpspec": "^5.1 || ^6.0" }, "type": "library", "extra": { @@ -5242,7 +5315,8 @@ }, { "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" } ], "description": "HTTPlug, the HTTP client abstraction for PHP", @@ -5251,7 +5325,7 @@ "client", "http" ], - "time": "2019-12-27T10:07:11+00:00" + "time": "2020-07-13T15:43:23+00:00" }, { "name": "php-http/message", @@ -5377,21 +5451,24 @@ }, { "name": "php-http/promise", - "version": "v1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-http/promise.git", - "reference": "dc494cdc9d7160b9a09bd5573272195242ce7980" + "reference": "4c4c1f9b7289a2ec57cde7f1e9762a5789506f88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/promise/zipball/dc494cdc9d7160b9a09bd5573272195242ce7980", - "reference": "dc494cdc9d7160b9a09bd5573272195242ce7980", + "url": "https://api.github.com/repos/php-http/promise/zipball/4c4c1f9b7289a2ec57cde7f1e9762a5789506f88", + "reference": "4c4c1f9b7289a2ec57cde7f1e9762a5789506f88", "shasum": "" }, + "require": { + "php": "^7.1 || ^8.0" + }, "require-dev": { - "henrikbjorn/phpspec-code-coverage": "^1.0", - "phpspec/phpspec": "^2.4" + "friends-of-phpspec/phpspec-code-coverage": "^4.3.2", + "phpspec/phpspec": "^5.1.2 || ^6.2" }, "type": "library", "extra": { @@ -5409,13 +5486,13 @@ "MIT" ], "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - }, { "name": "Joel Wurtz", "email": "joel.wurtz@gmail.com" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" } ], "description": "Promise used for asynchronous HTTP requests", @@ -5423,7 +5500,7 @@ "keywords": [ "promise" ], - "time": "2016-01-26T13:27:02+00:00" + "time": "2020-07-07T09:29:14+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -5476,28 +5553,27 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "5.1.0", + "version": "5.2.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e" + "reference": "3170448f5769fe19f456173d833734e0ff1b84df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e", - "reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/3170448f5769fe19f456173d833734e0ff1b84df", + "reference": "3170448f5769fe19f456173d833734e0ff1b84df", "shasum": "" }, "require": { - "ext-filter": "^7.1", - "php": "^7.2", - "phpdocumentor/reflection-common": "^2.0", - "phpdocumentor/type-resolver": "^1.0", - "webmozart/assert": "^1" + "ext-filter": "*", + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^1.3", + "webmozart/assert": "^1.9.1" }, "require-dev": { - "doctrine/instantiator": "^1", - "mockery/mockery": "^1" + "mockery/mockery": "~1.3.2" }, "type": "library", "extra": { @@ -5525,7 +5601,7 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2020-02-22T12:28:44+00:00" + "time": "2020-07-20T20:05:34+00:00" }, { "name": "phpdocumentor/type-resolver", @@ -5574,16 +5650,16 @@ }, { "name": "phpoffice/phpspreadsheet", - "version": "1.13.0", + "version": "1.14.1", "source": { "type": "git", "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", - "reference": "21bfb5b3243b8ceb9eda499a4d699fc42c11a9d1" + "reference": "2383aad5689778470491581442aab38cec41bf1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/21bfb5b3243b8ceb9eda499a4d699fc42c11a9d1", - "reference": "21bfb5b3243b8ceb9eda499a4d699fc42c11a9d1", + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/2383aad5689778470491581442aab38cec41bf1d", + "reference": "2383aad5689778470491581442aab38cec41bf1d", "shasum": "" }, "require": { @@ -5600,10 +5676,12 @@ "ext-xmlwriter": "*", "ext-zip": "*", "ext-zlib": "*", - "maennchen/zipstream-php": "^2.0", + "maennchen/zipstream-php": "^2.1", "markbaker/complex": "^1.4", "markbaker/matrix": "^1.2", "php": "^7.2", + "psr/http-client": "^1.0", + "psr/http-factory": "^1.0", "psr/simple-cache": "^1.0" }, "require-dev": { @@ -5664,28 +5742,28 @@ "xls", "xlsx" ], - "time": "2020-05-31T13:49:28+00:00" + "time": "2020-07-19T09:51:35+00:00" }, { "name": "phpoption/phpoption", - "version": "1.7.4", + "version": "1.7.5", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "b2ada2ad5d8a32b89088b8adc31ecd2e3a13baf3" + "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/b2ada2ad5d8a32b89088b8adc31ecd2e3a13baf3", - "reference": "b2ada2ad5d8a32b89088b8adc31ecd2e3a13baf3", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/994ecccd8f3283ecf5ac33254543eb0ac946d525", + "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525", "shasum": "" }, "require": { "php": "^5.5.9 || ^7.0 || ^8.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.3", - "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0" + "bamarni/composer-bin-plugin": "^1.4.1", + "phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0 || ^8.0 || ^9.0" }, "type": "library", "extra": { @@ -5729,7 +5807,7 @@ "type": "tidelift" } ], - "time": "2020-06-07T10:40:07+00:00" + "time": "2020-07-20T17:29:33+00:00" }, { "name": "plank/laravel-mediable", @@ -5994,6 +6072,58 @@ ], "time": "2020-06-29T06:28:15+00:00" }, + { + "name": "psr/http-factory", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "shasum": "" + }, + "require": { + "php": ">=7.0.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "time": "2019-04-30T12:38:16+00:00" + }, { "name": "psr/http-message", "version": "1.0.1", @@ -6622,16 +6752,16 @@ }, { "name": "seld/phar-utils", - "version": "1.1.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/Seldaek/phar-utils.git", - "reference": "8800503d56b9867d43d9c303b9cbcc26016e82f0" + "reference": "8674b1d84ffb47cc59a101f5d5a3b61e87d23796" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/8800503d56b9867d43d9c303b9cbcc26016e82f0", - "reference": "8800503d56b9867d43d9c303b9cbcc26016e82f0", + "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/8674b1d84ffb47cc59a101f5d5a3b61e87d23796", + "reference": "8674b1d84ffb47cc59a101f5d5a3b61e87d23796", "shasum": "" }, "require": { @@ -6662,7 +6792,7 @@ "keywords": [ "phar" ], - "time": "2020-02-14T15:25:33+00:00" + "time": "2020-07-07T18:42:57+00:00" }, { "name": "simshaun/recurr", @@ -7100,16 +7230,16 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v2.1.2", + "version": "v2.1.3", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "dd99cb3a0aff6cadd2a8d7d7ed72c2161e218337" + "reference": "5e20b83385a77593259c9f8beb2c43cd03b2ac14" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/dd99cb3a0aff6cadd2a8d7d7ed72c2161e218337", - "reference": "dd99cb3a0aff6cadd2a8d7d7ed72c2161e218337", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5e20b83385a77593259c9f8beb2c43cd03b2ac14", + "reference": "5e20b83385a77593259c9f8beb2c43cd03b2ac14", "shasum": "" }, "require": { @@ -7119,6 +7249,10 @@ "extra": { "branch-alias": { "dev-master": "2.1-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -7156,7 +7290,7 @@ "type": "tidelift" } ], - "time": "2020-05-27T08:34:37+00:00" + "time": "2020-06-06T08:49:21+00:00" }, { "name": "symfony/error-handler", @@ -7317,16 +7451,16 @@ }, { "name": "symfony/event-dispatcher-contracts", - "version": "v2.1.2", + "version": "v2.1.3", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "405952c4e90941a17e52ef7489a2bd94870bb290" + "reference": "f6f613d74cfc5a623fc36294d3451eb7fa5a042b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/405952c4e90941a17e52ef7489a2bd94870bb290", - "reference": "405952c4e90941a17e52ef7489a2bd94870bb290", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/f6f613d74cfc5a623fc36294d3451eb7fa5a042b", + "reference": "f6f613d74cfc5a623fc36294d3451eb7fa5a042b", "shasum": "" }, "require": { @@ -7340,6 +7474,10 @@ "extra": { "branch-alias": { "dev-master": "2.1-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -7385,7 +7523,7 @@ "type": "tidelift" } ], - "time": "2020-05-20T17:43:50+00:00" + "time": "2020-07-06T13:23:11+00:00" }, { "name": "symfony/filesystem", @@ -7781,16 +7919,16 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.17.1", + "version": "v1.18.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "2edd75b8b35d62fd3eeabba73b26b8f1f60ce13d" + "reference": "1c302646f6efc070cd46856e600e5e0684d6b454" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/2edd75b8b35d62fd3eeabba73b26b8f1f60ce13d", - "reference": "2edd75b8b35d62fd3eeabba73b26b8f1f60ce13d", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/1c302646f6efc070cd46856e600e5e0684d6b454", + "reference": "1c302646f6efc070cd46856e600e5e0684d6b454", "shasum": "" }, "require": { @@ -7802,7 +7940,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.17-dev" + "dev-master": "1.18-dev" }, "thanks": { "name": "symfony/polyfill", @@ -7853,20 +7991,20 @@ "type": "tidelift" } ], - "time": "2020-06-06T08:46:27+00:00" + "time": "2020-07-14T12:35:20+00:00" }, { "name": "symfony/polyfill-iconv", - "version": "v1.17.1", + "version": "v1.18.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "ba6c9c18db36235b859cc29b8372d1c01298c035" + "reference": "6c2f78eb8f5ab8eaea98f6d414a5915f2e0fce36" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/ba6c9c18db36235b859cc29b8372d1c01298c035", - "reference": "ba6c9c18db36235b859cc29b8372d1c01298c035", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/6c2f78eb8f5ab8eaea98f6d414a5915f2e0fce36", + "reference": "6c2f78eb8f5ab8eaea98f6d414a5915f2e0fce36", "shasum": "" }, "require": { @@ -7878,7 +8016,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.17-dev" + "dev-master": "1.18-dev" }, "thanks": { "name": "symfony/polyfill", @@ -7930,20 +8068,20 @@ "type": "tidelift" } ], - "time": "2020-06-06T08:46:27+00:00" + "time": "2020-07-14T12:35:20+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.17.1", + "version": "v1.18.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "6e4dbcf5e81eba86e36731f94fe56b1726835846" + "reference": "b740103edbdcc39602239ee8860f0f45a8eb9aa5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/6e4dbcf5e81eba86e36731f94fe56b1726835846", - "reference": "6e4dbcf5e81eba86e36731f94fe56b1726835846", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b740103edbdcc39602239ee8860f0f45a8eb9aa5", + "reference": "b740103edbdcc39602239ee8860f0f45a8eb9aa5", "shasum": "" }, "require": { @@ -7955,7 +8093,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.17-dev" + "dev-master": "1.18-dev" }, "thanks": { "name": "symfony/polyfill", @@ -8008,25 +8146,26 @@ "type": "tidelift" } ], - "time": "2020-06-06T08:46:27+00:00" + "time": "2020-07-14T12:35:20+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.17.1", + "version": "v1.18.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "a57f8161502549a742a63c09f0a604997bf47027" + "reference": "bc6549d068d0160e0f10f7a5a23c7d1406b95ebe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a57f8161502549a742a63c09f0a604997bf47027", - "reference": "a57f8161502549a742a63c09f0a604997bf47027", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/bc6549d068d0160e0f10f7a5a23c7d1406b95ebe", + "reference": "bc6549d068d0160e0f10f7a5a23c7d1406b95ebe", "shasum": "" }, "require": { "php": ">=5.3.3", - "symfony/polyfill-mbstring": "^1.3", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php70": "^1.10", "symfony/polyfill-php72": "^1.10" }, "suggest": { @@ -8035,7 +8174,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.17-dev" + "dev-master": "1.18-dev" }, "thanks": { "name": "symfony/polyfill", @@ -8059,6 +8198,10 @@ "name": "Laurent Bassin", "email": "laurent@bassin.info" }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" + }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" @@ -8088,20 +8231,20 @@ "type": "tidelift" } ], - "time": "2020-06-06T08:46:27+00:00" + "time": "2020-07-14T12:35:20+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.17.1", + "version": "v1.18.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "40309d1700e8f72447bb9e7b54af756eeea35620" + "reference": "37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/40309d1700e8f72447bb9e7b54af756eeea35620", - "reference": "40309d1700e8f72447bb9e7b54af756eeea35620", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e", + "reference": "37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e", "shasum": "" }, "require": { @@ -8113,7 +8256,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.17-dev" + "dev-master": "1.18-dev" }, "thanks": { "name": "symfony/polyfill", @@ -8169,20 +8312,20 @@ "type": "tidelift" } ], - "time": "2020-06-14T14:40:37+00:00" + "time": "2020-07-14T12:35:20+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.17.1", + "version": "v1.18.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "7110338d81ce1cbc3e273136e4574663627037a7" + "reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7110338d81ce1cbc3e273136e4574663627037a7", - "reference": "7110338d81ce1cbc3e273136e4574663627037a7", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/a6977d63bf9a0ad4c65cd352709e230876f9904a", + "reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a", "shasum": "" }, "require": { @@ -8194,7 +8337,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.17-dev" + "dev-master": "1.18-dev" }, "thanks": { "name": "symfony/polyfill", @@ -8246,7 +8389,7 @@ "type": "tidelift" } ], - "time": "2020-06-06T08:46:27+00:00" + "time": "2020-07-14T12:35:20+00:00" }, { "name": "symfony/polyfill-php56", @@ -8323,17 +8466,94 @@ "time": "2020-07-14T12:35:20+00:00" }, { - "name": "symfony/polyfill-php72", - "version": "v1.17.0", + "name": "symfony/polyfill-php70", + "version": "v1.18.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "f048e612a3905f34931127360bdd2def19a5e582" + "url": "https://github.com/symfony/polyfill-php70.git", + "reference": "0dd93f2c578bdc9c72697eaa5f1dd25644e618d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/f048e612a3905f34931127360bdd2def19a5e582", - "reference": "f048e612a3905f34931127360bdd2def19a5e582", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/0dd93f2c578bdc9c72697eaa5f1dd25644e618d3", + "reference": "0dd93f2c578bdc9c72697eaa5f1dd25644e618d3", + "shasum": "" + }, + "require": { + "paragonie/random_compat": "~1.0|~2.0|~9.99", + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.18-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php70\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-07-14T12:35:20+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.18.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "639447d008615574653fb3bc60d1986d7172eaae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/639447d008615574653fb3bc60d1986d7172eaae", + "reference": "639447d008615574653fb3bc60d1986d7172eaae", "shasum": "" }, "require": { @@ -8342,7 +8562,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.17-dev" + "dev-master": "1.18-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -8389,20 +8613,20 @@ "type": "tidelift" } ], - "time": "2020-05-12T16:47:27+00:00" + "time": "2020-07-14T12:35:20+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.17.1", + "version": "v1.18.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "fa0837fe02d617d31fbb25f990655861bb27bd1a" + "reference": "fffa1a52a023e782cdcc221d781fe1ec8f87fcca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fa0837fe02d617d31fbb25f990655861bb27bd1a", - "reference": "fa0837fe02d617d31fbb25f990655861bb27bd1a", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fffa1a52a023e782cdcc221d781fe1ec8f87fcca", + "reference": "fffa1a52a023e782cdcc221d781fe1ec8f87fcca", "shasum": "" }, "require": { @@ -8411,7 +8635,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.17-dev" + "dev-master": "1.18-dev" }, "thanks": { "name": "symfony/polyfill", @@ -8465,20 +8689,20 @@ "type": "tidelift" } ], - "time": "2020-06-06T08:46:27+00:00" + "time": "2020-07-14T12:35:20+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.17.1", + "version": "v1.18.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "4a5b6bba3259902e386eb80dd1956181ee90b5b2" + "reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/4a5b6bba3259902e386eb80dd1956181ee90b5b2", - "reference": "4a5b6bba3259902e386eb80dd1956181ee90b5b2", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/d87d5766cbf48d72388a9f6b85f280c8ad51f981", + "reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981", "shasum": "" }, "require": { @@ -8487,7 +8711,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.17-dev" + "dev-master": "1.18-dev" }, "thanks": { "name": "symfony/polyfill", @@ -8545,7 +8769,7 @@ "type": "tidelift" } ], - "time": "2020-06-06T08:46:27+00:00" + "time": "2020-07-14T12:35:20+00:00" }, { "name": "symfony/polyfill-util", @@ -8775,16 +8999,16 @@ }, { "name": "symfony/service-contracts", - "version": "v2.1.2", + "version": "v2.1.3", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "66a8f0957a3ca54e4f724e49028ab19d75a8918b" + "reference": "58c7475e5457c5492c26cc740cc0ad7464be9442" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/66a8f0957a3ca54e4f724e49028ab19d75a8918b", - "reference": "66a8f0957a3ca54e4f724e49028ab19d75a8918b", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/58c7475e5457c5492c26cc740cc0ad7464be9442", + "reference": "58c7475e5457c5492c26cc740cc0ad7464be9442", "shasum": "" }, "require": { @@ -8798,6 +9022,10 @@ "extra": { "branch-alias": { "dev-master": "2.1-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -8843,7 +9071,7 @@ "type": "tidelift" } ], - "time": "2020-05-20T17:43:50+00:00" + "time": "2020-07-06T13:23:11+00:00" }, { "name": "symfony/string", @@ -9024,16 +9252,16 @@ }, { "name": "symfony/translation-contracts", - "version": "v2.1.2", + "version": "v2.1.3", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "e5ca07c8f817f865f618aa072c2fe8e0e637340e" + "reference": "616a9773c853097607cf9dd6577d5b143ffdcd63" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/e5ca07c8f817f865f618aa072c2fe8e0e637340e", - "reference": "e5ca07c8f817f865f618aa072c2fe8e0e637340e", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/616a9773c853097607cf9dd6577d5b143ffdcd63", + "reference": "616a9773c853097607cf9dd6577d5b143ffdcd63", "shasum": "" }, "require": { @@ -9046,6 +9274,10 @@ "extra": { "branch-alias": { "dev-master": "2.1-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -9091,7 +9323,7 @@ "type": "tidelift" } ], - "time": "2020-05-20T17:43:50+00:00" + "time": "2020-07-06T13:23:11+00:00" }, { "name": "symfony/var-dumper", @@ -9185,26 +9417,26 @@ }, { "name": "tijsverkoyen/css-to-inline-styles", - "version": "2.2.2", + "version": "2.2.3", "source": { "type": "git", "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "dda2ee426acd6d801d5b7fd1001cde9b5f790e15" + "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/dda2ee426acd6d801d5b7fd1001cde9b5f790e15", - "reference": "dda2ee426acd6d801d5b7fd1001cde9b5f790e15", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/b43b05cf43c1b6d849478965062b6ef73e223bb5", + "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", - "php": "^5.5 || ^7.0", + "php": "^5.5 || ^7.0 || ^8.0", "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5" }, "type": "library", "extra": { @@ -9230,26 +9462,26 @@ ], "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", - "time": "2019-10-24T08:53:34+00:00" + "time": "2020-07-13T06:12:54+00:00" }, { "name": "vlucas/phpdotenv", - "version": "v4.1.7", + "version": "v4.1.8", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "db63b2ea280fdcf13c4ca392121b0b2450b51193" + "reference": "572af79d913627a9d70374d27a6f5d689a35de32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/db63b2ea280fdcf13c4ca392121b0b2450b51193", - "reference": "db63b2ea280fdcf13c4ca392121b0b2450b51193", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/572af79d913627a9d70374d27a6f5d689a35de32", + "reference": "572af79d913627a9d70374d27a6f5d689a35de32", "shasum": "" }, "require": { "php": "^5.5.9 || ^7.0 || ^8.0", "phpoption/phpoption": "^1.7.3", - "symfony/polyfill-ctype": "^1.16" + "symfony/polyfill-ctype": "^1.17" }, "require-dev": { "bamarni/composer-bin-plugin": "^1.4.1", @@ -9304,7 +9536,7 @@ "type": "tidelift" } ], - "time": "2020-06-07T18:25:35+00:00" + "time": "2020-07-14T19:22:52+00:00" }, { "name": "voku/portable-ascii", @@ -9374,20 +9606,20 @@ }, { "name": "webmozart/assert", - "version": "1.9.0", + "version": "1.9.1", "source": { "type": "git", "url": "https://github.com/webmozart/assert.git", - "reference": "9dc4f203e36f2b486149058bade43c851dd97451" + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/9dc4f203e36f2b486149058bade43c851dd97451", - "reference": "9dc4f203e36f2b486149058bade43c851dd97451", + "url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0", + "php": "^5.3.3 || ^7.0 || ^8.0", "symfony/polyfill-ctype": "^1.8" }, "conflict": { @@ -9419,7 +9651,7 @@ "check", "validate" ], - "time": "2020-06-16T10:16:42+00:00" + "time": "2020-07-08T17:02:28+00:00" } ], "packages-dev": [ @@ -9556,16 +9788,16 @@ }, { "name": "facade/flare-client-php", - "version": "1.3.2", + "version": "1.3.4", "source": { "type": "git", "url": "https://github.com/facade/flare-client-php.git", - "reference": "db1e03426e7f9472c9ecd1092aff00f56aa6c004" + "reference": "0eeb0de4fc1078433f0915010bd8f41e998adcb4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facade/flare-client-php/zipball/db1e03426e7f9472c9ecd1092aff00f56aa6c004", - "reference": "db1e03426e7f9472c9ecd1092aff00f56aa6c004", + "url": "https://api.github.com/repos/facade/flare-client-php/zipball/0eeb0de4fc1078433f0915010bd8f41e998adcb4", + "reference": "0eeb0de4fc1078433f0915010bd8f41e998adcb4", "shasum": "" }, "require": { @@ -9573,9 +9805,11 @@ "illuminate/pipeline": "^5.5|^6.0|^7.0", "php": "^7.1", "symfony/http-foundation": "^3.3|^4.1|^5.0", + "symfony/mime": "^3.4|^4.0|^5.1", "symfony/var-dumper": "^3.4|^4.0|^5.0" }, "require-dev": { + "friendsofphp/php-cs-fixer": "^2.14", "larapack/dd": "^1.1", "phpunit/phpunit": "^7.5.16", "spatie/phpunit-snapshot-assertions": "^2.0" @@ -9606,20 +9840,26 @@ "flare", "reporting" ], - "time": "2020-03-02T15:52:04+00:00" + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2020-07-13T23:25:57+00:00" }, { "name": "facade/ignition", - "version": "2.0.7", + "version": "2.3.3", "source": { "type": "git", "url": "https://github.com/facade/ignition.git", - "reference": "e6bedc1e74507d584fbcb041ebe0f7f215109cf2" + "reference": "cc7df15806aad8a9915148ea4daf7f0dd0be45b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facade/ignition/zipball/e6bedc1e74507d584fbcb041ebe0f7f215109cf2", - "reference": "e6bedc1e74507d584fbcb041ebe0f7f215109cf2", + "url": "https://api.github.com/repos/facade/ignition/zipball/cc7df15806aad8a9915148ea4daf7f0dd0be45b5", + "reference": "cc7df15806aad8a9915148ea4daf7f0dd0be45b5", "shasum": "" }, "require": { @@ -9638,7 +9878,8 @@ "require-dev": { "friendsofphp/php-cs-fixer": "^2.14", "mockery/mockery": "^1.3", - "orchestra/testbench": "5.0" + "orchestra/testbench": "5.0", + "psalm/plugin-laravel": "^1.2" }, "suggest": { "laravel/telescope": "^3.1" @@ -9677,25 +9918,30 @@ "laravel", "page" ], - "time": "2020-06-08T09:14:08+00:00" + "time": "2020-07-14T11:34:42+00:00" }, { "name": "facade/ignition-contracts", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/facade/ignition-contracts.git", - "reference": "f445db0fb86f48e205787b2592840dd9c80ded28" + "reference": "aeab1ce8b68b188a43e81758e750151ad7da796b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facade/ignition-contracts/zipball/f445db0fb86f48e205787b2592840dd9c80ded28", - "reference": "f445db0fb86f48e205787b2592840dd9c80ded28", + "url": "https://api.github.com/repos/facade/ignition-contracts/zipball/aeab1ce8b68b188a43e81758e750151ad7da796b", + "reference": "aeab1ce8b68b188a43e81758e750151ad7da796b", "shasum": "" }, "require": { "php": "^7.1" }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.14", + "phpunit/phpunit": "^7.5|^8.0", + "vimeo/psalm": "^3.12" + }, "type": "library", "autoload": { "psr-4": { @@ -9721,7 +9967,7 @@ "flare", "ignition" ], - "time": "2019-08-30T14:06:08+00:00" + "time": "2020-07-14T10:10:28+00:00" }, { "name": "filp/whoops", @@ -9836,20 +10082,20 @@ }, { "name": "hamcrest/hamcrest-php", - "version": "v2.0.0", + "version": "v2.0.1", "source": { "type": "git", "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "776503d3a8e85d4f9a1148614f95b7a608b046ad" + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/776503d3a8e85d4f9a1148614f95b7a608b046ad", - "reference": "776503d3a8e85d4f9a1148614f95b7a608b046ad", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", "shasum": "" }, "require": { - "php": "^5.3|^7.0" + "php": "^5.3|^7.0|^8.0" }, "replace": { "cordoval/hamcrest-php": "*", @@ -9857,14 +10103,13 @@ "kodova/hamcrest-php": "*" }, "require-dev": { - "phpunit/php-file-iterator": "1.3.3", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "^1.0" + "phpunit/php-file-iterator": "^1.4 || ^2.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "2.1-dev" } }, "autoload": { @@ -9874,35 +10119,35 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD" + "BSD-3-Clause" ], "description": "This is the PHP port of Hamcrest Matchers", "keywords": [ "test" ], - "time": "2016-01-20T08:20:44+00:00" + "time": "2020-07-09T08:09:16+00:00" }, { "name": "mockery/mockery", - "version": "1.3.1", + "version": "1.3.2", "source": { "type": "git", "url": "https://github.com/mockery/mockery.git", - "reference": "f69bbde7d7a75d6b2862d9ca8fab1cd28014b4be" + "reference": "9b6f117dd7d36dc3858d8d8ddf9b3d584fcae283" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/f69bbde7d7a75d6b2862d9ca8fab1cd28014b4be", - "reference": "f69bbde7d7a75d6b2862d9ca8fab1cd28014b4be", + "url": "https://api.github.com/repos/mockery/mockery/zipball/9b6f117dd7d36dc3858d8d8ddf9b3d584fcae283", + "reference": "9b6f117dd7d36dc3858d8d8ddf9b3d584fcae283", "shasum": "" }, "require": { - "hamcrest/hamcrest-php": "~2.0", + "hamcrest/hamcrest-php": "^2.0.1", "lib-pcre": ">=7.0", "php": ">=5.6.0" }, "require-dev": { - "phpunit/phpunit": "~5.7.10|~6.5|~7.0|~8.0" + "phpunit/phpunit": "~5.7.10|~6.5|~7.0|~8.0|~9.0" }, "type": "library", "extra": { @@ -9945,7 +10190,7 @@ "test double", "testing" ], - "time": "2019-12-26T09:49:15+00:00" + "time": "2020-07-09T08:23:05+00:00" }, { "name": "myclabs/deep-copy", @@ -10069,6 +10314,20 @@ "php", "symfony" ], + "funding": [ + { + "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], "time": "2020-04-04T19:56:08+00:00" }, { @@ -10175,33 +10434,33 @@ }, { "name": "phpspec/prophecy", - "version": "v1.10.3", + "version": "1.11.1", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "451c3cd1418cf640de218914901e51b064abb093" + "reference": "b20034be5efcdab4fb60ca3a29cba2949aead160" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/451c3cd1418cf640de218914901e51b064abb093", - "reference": "451c3cd1418cf640de218914901e51b064abb093", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/b20034be5efcdab4fb60ca3a29cba2949aead160", + "reference": "b20034be5efcdab4fb60ca3a29cba2949aead160", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", - "sebastian/comparator": "^1.2.3|^2.0|^3.0|^4.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0|^4.0" + "doctrine/instantiator": "^1.2", + "php": "^7.2", + "phpdocumentor/reflection-docblock": "^5.0", + "sebastian/comparator": "^3.0 || ^4.0", + "sebastian/recursion-context": "^3.0 || ^4.0" }, "require-dev": { - "phpspec/phpspec": "^2.5 || ^3.2", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" + "phpspec/phpspec": "^6.0", + "phpunit/phpunit": "^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.10.x-dev" + "dev-master": "1.11.x-dev" } }, "autoload": { @@ -10234,7 +10493,7 @@ "spy", "stub" ], - "time": "2020-03-05T15:02:03+00:00" + "time": "2020-07-08T12:44:21+00:00" }, { "name": "phpunit/php-code-coverage", @@ -10648,6 +10907,12 @@ "highlight.php", "syntax" ], + "funding": [ + { + "url": "https://github.com/allejo", + "type": "github" + } + ], "time": "2020-03-02T05:59:21+00:00" }, { @@ -11267,23 +11532,23 @@ }, { "name": "theseer/tokenizer", - "version": "1.1.3", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9" + "reference": "75a63c33a8577608444246075ea0af0d052e452a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/11336f6f84e16a720dae9d8e6ed5019efa85a0f9", - "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a", + "reference": "75a63c33a8577608444246075ea0af0d052e452a", "shasum": "" }, "require": { "ext-dom": "*", "ext-tokenizer": "*", "ext-xmlwriter": "*", - "php": "^7.0" + "php": "^7.2 || ^8.0" }, "type": "library", "autoload": { @@ -11303,7 +11568,13 @@ } ], "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "time": "2019-06-13T22:48:21+00:00" + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2020-07-12T23:59:07+00:00" } ], "aliases": [], diff --git a/database/factories/Tax.php b/database/factories/Tax.php index 7a6f3d30d..0777fabe9 100644 --- a/database/factories/Tax.php +++ b/database/factories/Tax.php @@ -10,7 +10,7 @@ $company = $user->companies()->first(); $factory->define(Tax::class, function (Faker $faker) use ($company) { setting()->setExtraColumns(['company_id' => $company->id]); - $types = ['normal', 'inclusive', 'compound', 'fixed']; + $types = ['normal', 'inclusive', 'compound', 'fixed', 'withholding']; return [ 'company_id' => $company->id, @@ -32,3 +32,5 @@ $factory->state(Tax::class, 'inclusive', ['type' => 'inclusive']); $factory->state(Tax::class, 'compound', ['type' => 'compound']); $factory->state(Tax::class, 'fixed', ['type' => 'fixed']); + +$factory->state(Tax::class, 'withholding', ['type' => 'withholding']); diff --git a/resources/assets/js/views/purchases/bills.js b/resources/assets/js/views/purchases/bills.js index d6bf0b4be..1a91af63c 100644 --- a/resources/assets/js/views/purchases/bills.js +++ b/resources/assets/js/views/purchases/bills.js @@ -176,10 +176,11 @@ const app = new Vue({ case 'fixed': item_tax_total += tax.rate * item.quantity; break; + case 'withholding': + item_tax_total += 0 - item_discounted_total * (tax.rate / 100); + break; default: - let item_tax_amount = (item_discounted_total / 100) * tax.rate; - - item_tax_total += item_tax_amount; + item_tax_total += item_discounted_total * (tax.rate / 100); break; } } diff --git a/resources/assets/js/views/sales/invoices.js b/resources/assets/js/views/sales/invoices.js index 136b97785..a3b5a8928 100644 --- a/resources/assets/js/views/sales/invoices.js +++ b/resources/assets/js/views/sales/invoices.js @@ -177,10 +177,11 @@ const app = new Vue({ case 'fixed': item_tax_total += tax.rate * item.quantity; break; + case 'withholding': + item_tax_total += 0 - item_discounted_total * (tax.rate / 100); + break; default: - let item_tax_amount = (item_discounted_total / 100) * tax.rate; - - item_tax_total += item_tax_amount; + item_tax_total += item_discounted_total * (tax.rate / 100); break; } } @@ -225,7 +226,7 @@ const app = new Vue({ // set global total variable. this.totals.sub = sub_total; - this.totals.tax = tax_total; + this.totals.tax = Math.abs(tax_total); this.totals.item_discount = line_item_discount_total; // Apply discount to total diff --git a/resources/lang/en-GB/taxes.php b/resources/lang/en-GB/taxes.php index 486376c3a..d3ada489c 100644 --- a/resources/lang/en-GB/taxes.php +++ b/resources/lang/en-GB/taxes.php @@ -8,4 +8,5 @@ return [ 'inclusive' => 'Inclusive', 'compound' => 'Compound', 'fixed' => 'Fixed', + 'withholding' => 'Withholding', ];