WIP Contract/Billing 2024-07-04

This commit is contained in:
Frank Schubert
2024-07-05 10:45:22 +02:00
parent 0640babfa3
commit 92edb9c812
27 changed files with 8043 additions and 116 deletions
+22 -3
View File
@@ -109,7 +109,7 @@ class BillingController extends mfBaseController {
$now_day = date("d");
//$now_year = 2024;
//$now_month = 6;
$now_day = 3; // XXX for debugging only, must be removed
//$now_day = 3; // XXX for debugging only, must be removed
// XXX only for 1st Billing after IVT Import
//$yearly_not_before = new DateTime("$now_year-$now_month-01");
@@ -354,13 +354,13 @@ class BillingController extends mfBaseController {
$data["owner_id"] = $contract->owner_id;
$data["billingaddress_id"] = ($contract->billingaddress_id) ? $contract->billingaddress_id : $contract->owner_id;
$data["customer_number"] = $contract->owner->customer_number;
$data["fibu_account_number"] = $contract->owner->fibu_account_number;
$data["company"] = $billingaddress->company;
$data["firstname"] = $billingaddress->firstname;
$data["lastname"] = $billingaddress->lastname;
$data["street"] = $billingaddress->street;
$data["zip"] = $billingaddress->zip;
$data["city"] = $billingaddress->city;
$data["country"] = $billingaddress->country->name;
$data["email"] = $billingaddress->email;
$data["uid"] = $billingaddress->uid;
$data["billing_type"] = $billing_type;
@@ -376,9 +376,28 @@ class BillingController extends mfBaseController {
$data["amount"] = $contract->amount;
$data["price"] = $price;
$data["price_setup"] = $price_setup;
$data["vatrate"] = $contract->vatrate;
$data["billing_period"] = $contract->billing_period;
if(!$contract->billingaddress->country_id) {
$billcountry = CountryModel::getFirst(["isocode" => TT_HOMECOUNTRY_ISOCODE]);
} else {
$billcountry = $contract->billingaddress->country;
}
$vatgroup = $contract->vatgroup;
$vatarea = "domestic";
if($billcountry->isocode != TT_HOMECOUNTRY_ISOCODE && $billcountry->is_eu) {
$vatarea = "eu";
} if($billcountry->isocode != TT_HOMECOUNTRY_ISOCODE && !$billcountry->is_eu) {
$vatarea = "other";
}
$data["country"] = $billcountry->name;
$data["vatrate"] = $vatgroup->rates[$vatarea]->rate;
$data["vatgroup_id"] = $contract->vatgroup_id;
$data["vatarea"] = $vatarea;
$billing = BillingModel::create($data);
if (!$billing->save()) {
var_dump($billing);