mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Working on taxes
This commit is contained in:
parent
e87e5397fb
commit
b5a4fc9865
@ -18,8 +18,7 @@ class Response
|
||||
public int $rCode = 100;
|
||||
|
||||
/**
|
||||
* ["results" => [
|
||||
* [
|
||||
* [
|
||||
* "geoPostalCode" => "92582",
|
||||
* "geoCity" => "SAN JACINTO",
|
||||
* "geoCounty" => "RIVERSIDE",
|
||||
@ -54,13 +53,45 @@ class Response
|
||||
* "district5SalesTax" => 0,
|
||||
* "district5UseTax" => 0,
|
||||
* "originDestination" => "D",
|
||||
* ],
|
||||
* ]
|
||||
*
|
||||
* ];
|
||||
*
|
||||
* @var mixed[]
|
||||
*/
|
||||
public array $results = [];
|
||||
|
||||
public string $geoPostalCode = "92582";
|
||||
public string $geoCity = "SAN JACINTO";
|
||||
public string $geoCounty = "RIVERSIDE";
|
||||
public string $geoState = "CA";
|
||||
public float $taxSales = 0.0875;
|
||||
public float $taxUse = 0.0875;
|
||||
public string $txbService = "N";
|
||||
public string $txbFreight = "N";
|
||||
public float $stateSalesTax = 0.06;
|
||||
public float $stateUseTax = 0.06;
|
||||
public float $citySalesTax = 0.01;
|
||||
public float $cityUseTax = 0.01;
|
||||
public string $cityTaxCode = "874";
|
||||
public float $countySalesTax = 0.0025;
|
||||
public float $countyUseTax = 0.0025;
|
||||
public string $countyTaxCode = "";
|
||||
public float $districtSalesTax = 0.015;
|
||||
public float $districtUseTax = 0.015;
|
||||
public string $district1Code = "26";
|
||||
public float $district1SalesTax = 0;
|
||||
public float $district1UseTax = 0;
|
||||
public string $district2Code = "26";
|
||||
public float $district2SalesTax = 0.005;
|
||||
public float $district2UseTax = 0.005;
|
||||
public string $district3Code = "";
|
||||
public float $district3SalesTax = 0;
|
||||
public float $district3UseTax = 0;
|
||||
public string $district4Code = "33";
|
||||
public float $district4SalesTax = 0.01;
|
||||
public float $district4UseTax = 0.01;
|
||||
public string $district5Code = "";
|
||||
public float $district5SalesTax = 0;
|
||||
public float $district5UseTax = 0;
|
||||
public string $originDestination = "D";
|
||||
|
||||
}
|
||||
|
||||
|
@ -148,6 +148,7 @@ class InvoiceItemSum
|
||||
private function calcTaxesAutomatically()
|
||||
{
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
private function calcTaxes()
|
||||
|
@ -12,6 +12,7 @@
|
||||
namespace Tests\Unit\Tax;
|
||||
|
||||
use Tests\TestCase;
|
||||
use App\Models\Client;
|
||||
use Tests\MockAccountData;
|
||||
use Illuminate\Routing\Middleware\ThrottleRequests;
|
||||
use Illuminate\Foundation\Testing\DatabaseTransactions;
|
||||
@ -24,45 +25,41 @@ class SumTaxTest extends TestCase
|
||||
use MockAccountData;
|
||||
use DatabaseTransactions;
|
||||
|
||||
public array $response =
|
||||
["results" => [
|
||||
[
|
||||
"geoPostalCode" => "92582",
|
||||
"geoCity" => "SAN JACINTO",
|
||||
"geoCounty" => "RIVERSIDE",
|
||||
"geoState" => "CA",
|
||||
"taxSales" => 0.0875,
|
||||
"taxUse" => 0.0875, // tax amount where destination does not charge sales tax, but origin does
|
||||
"txbService" => "N", // whether services are taxed in this locale
|
||||
"txbFreight" => "N", // whether freight is taxes in this locale
|
||||
"stateSalesTax" => 0.06,
|
||||
"stateUseTax" => 0.06,
|
||||
"citySalesTax" => 0.01,
|
||||
"cityUseTax" => 0.01,
|
||||
"cityTaxCode" => "874",
|
||||
"countySalesTax" => 0.0025,
|
||||
"countyUseTax" => 0.0025,
|
||||
"countyTaxCode" => "",
|
||||
"districtSalesTax" => 0.015,
|
||||
"districtUseTax" => 0.015,
|
||||
"district1Code" => "26",
|
||||
"district1SalesTax" => 0,
|
||||
"district1UseTax" => 0,
|
||||
"district2Code" => "26",
|
||||
"district2SalesTax" => 0.005,
|
||||
"district2UseTax" => 0.005,
|
||||
"district3Code" => "",
|
||||
"district3SalesTax" => 0,
|
||||
"district3UseTax" => 0,
|
||||
"district4Code" => "33",
|
||||
"district4SalesTax" => 0.01,
|
||||
"district4UseTax" => 0.01,
|
||||
"district5Code" => "",
|
||||
"district5SalesTax" => 0,
|
||||
"district5UseTax" => 0, //district1-5 portion of the district tax
|
||||
"originDestination" => "D", //location where this is taxed origin/destination/null
|
||||
],
|
||||
]
|
||||
public array $response = [
|
||||
"geoPostalCode" => "92582",
|
||||
"geoCity" => "SAN JACINTO",
|
||||
"geoCounty" => "RIVERSIDE",
|
||||
"geoState" => "CA",
|
||||
"taxSales" => 0.0875,
|
||||
"taxUse" => 0.0875, // tax amount where destination does not charge sales tax, but origin does
|
||||
"txbService" => "N", // whether services are taxed in this locale
|
||||
"txbFreight" => "N", // whether freight is taxes in this locale
|
||||
"stateSalesTax" => 0.06,
|
||||
"stateUseTax" => 0.06,
|
||||
"citySalesTax" => 0.01,
|
||||
"cityUseTax" => 0.01,
|
||||
"cityTaxCode" => "874",
|
||||
"countySalesTax" => 0.0025,
|
||||
"countyUseTax" => 0.0025,
|
||||
"countyTaxCode" => "",
|
||||
"districtSalesTax" => 0.015,
|
||||
"districtUseTax" => 0.015,
|
||||
"district1Code" => "26",
|
||||
"district1SalesTax" => 0,
|
||||
"district1UseTax" => 0,
|
||||
"district2Code" => "26",
|
||||
"district2SalesTax" => 0.005,
|
||||
"district2UseTax" => 0.005,
|
||||
"district3Code" => "",
|
||||
"district3SalesTax" => 0,
|
||||
"district3UseTax" => 0,
|
||||
"district4Code" => "33",
|
||||
"district4SalesTax" => 0.01,
|
||||
"district4UseTax" => 0.01,
|
||||
"district5Code" => "",
|
||||
"district5SalesTax" => 0,
|
||||
"district5UseTax" => 0, //district1-5 portion of the district tax
|
||||
"originDestination" => "D", //location where this is taxed origin/destination/null
|
||||
];
|
||||
|
||||
|
||||
@ -76,42 +73,50 @@ class SumTaxTest extends TestCase
|
||||
|
||||
$this->withoutExceptionHandling();
|
||||
|
||||
// $this->makeTestData();
|
||||
$this->makeTestData();
|
||||
}
|
||||
|
||||
public function testTaxOnInvoice()
|
||||
{
|
||||
$c = Client::factory()->create([
|
||||
'user_id' => $this->user->id,
|
||||
'company_id' => $this->company->id,
|
||||
]);
|
||||
|
||||
$c->tax_data = $this->response;
|
||||
$c->save();
|
||||
|
||||
$this->assertEquals("92582", $c->tax_data->geoPostalCode);
|
||||
}
|
||||
|
||||
public function testSumOfInvoice()
|
||||
{
|
||||
|
||||
$this->assertEquals("CA", $this->response['results'][0]['geoState']);
|
||||
$this->assertEquals("CA", $this->response['geoState']);
|
||||
|
||||
}
|
||||
|
||||
public function testSumOfTaxes()
|
||||
{
|
||||
$sum =
|
||||
$this->response['results'][0]['stateSalesTax'] +
|
||||
// $this->response['results'][0]['stateUseTax'] +
|
||||
$this->response['results'][0]['citySalesTax'] +
|
||||
// $this->response['results'][0]['cityUseTax'] +
|
||||
$this->response['results'][0]['countySalesTax'] +
|
||||
// $this->response['results'][0]['countyUseTax'] +
|
||||
$this->response['results'][0]['districtSalesTax'];
|
||||
// // $this->response['results'][0]['districtUseTax'] +
|
||||
// $this->response['results'][0]['district1SalesTax'] +
|
||||
// // $this->response['results'][0]['district1UseTax'] +
|
||||
// $this->response['results'][0]['district2SalesTax'] +
|
||||
// // $this->response['results'][0]['district2UseTax'] +
|
||||
// $this->response['results'][0]['district3SalesTax'] +
|
||||
// // $this->response['results'][0]['district3UseTax'] +
|
||||
// $this->response['results'][0]['district4SalesTax'] +
|
||||
// // $this->response['results'][0]['district4UseTax'] +
|
||||
// $this->response['results'][0]['district5SalesTax'];
|
||||
// $this->response['results'][0]['district5UseTax'];
|
||||
$this->response['stateSalesTax'] +
|
||||
// $this->response['stateUseTax'] +
|
||||
$this->response['citySalesTax'] +
|
||||
// $this->response['cityUseTax'] +
|
||||
$this->response['countySalesTax'] +
|
||||
// $this->response['countyUseTax'] +
|
||||
$this->response['districtSalesTax'];
|
||||
// // $this->response['districtUseTax'] +
|
||||
// $this->response['district1SalesTax'] +
|
||||
// // $this->response['district1UseTax'] +
|
||||
// $this->response['district2SalesTax'] +
|
||||
// // $this->response['district2UseTax'] +
|
||||
// $this->response['district3SalesTax'] +
|
||||
// // $this->response['district3UseTax'] +
|
||||
// $this->response['district4SalesTax'] +
|
||||
// // $this->response['district4UseTax'] +
|
||||
// $this->response['district5SalesTax'];
|
||||
// $this->response['district5UseTax'];
|
||||
|
||||
$this->assertEquals(0.0875, $sum);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user