@@ -74,7 +77,10 @@
rates[$area_key]->rate, 2))?>" placeholder="Steuersatz %" />
-
diff --git a/application/Vatgroup/VatgroupController.php b/application/Vatgroup/VatgroupController.php
index 5f1052c5c..b5e8ccfb5 100644
--- a/application/Vatgroup/VatgroupController.php
+++ b/application/Vatgroup/VatgroupController.php
@@ -72,6 +72,7 @@ class VatgroupController extends mfBaseController {
$data["account"] = trim($rate["account"]);
$data["legacy_account"] = (trim($rate["legacy_account"])) ? trim($rate["legacy_account"]) : null;
$data["rate"] = str_replace(",",".", trim($rate["rate"]));
+ $data["taxcode"] = ($rate["taxcode"]) ? trim($rate["taxcode"]) : null;
$data["invoice_text"] = (trim($rate["invoice_text"])) ? trim($rate["invoice_text"]) : null;
if(!$data["account"] || !is_numeric($data["account"])) {
@@ -86,6 +87,10 @@ class VatgroupController extends mfBaseController {
$this->layout()->setFlash("Ungültiger Steuersatz", "error");
$this->redirect("Vatgroup");
}
+ if($data["taxcode"] && !is_numeric($data["taxcode"])) {
+ $this->layout()->setFlash("Ungültiger Steuercode", "error");
+ $this->redirect("Vatgroup");
+ }
$vatrate = VatrateModel::getFirst(["vatgroup_id" => $group->id, "area" => $area]);
if($vatrate) {
diff --git a/application/Vatrate/VatrateModel.php b/application/Vatrate/VatrateModel.php
index 00f987614..199b3bd07 100644
--- a/application/Vatrate/VatrateModel.php
+++ b/application/Vatrate/VatrateModel.php
@@ -6,6 +6,7 @@ class VatrateModel {
public $account;
public $legacy_account;
public $rate;
+ public $taxcode;
public $invoice_text;
public $create_by = null;
diff --git a/db/migrations/20240220192901_create_vat_tables.php b/db/migrations/20240220192901_create_vat_tables.php
index 1054880b4..d2ba9480a 100644
--- a/db/migrations/20240220192901_create_vat_tables.php
+++ b/db/migrations/20240220192901_create_vat_tables.php
@@ -24,6 +24,7 @@ final class CreateVatTables extends AbstractMigration
$table->addColumn("account", "integer", ["null" => false]);
$table->addColumn("legacy_account", "integer", ["null" => true, "default" => null]);
$table->addColumn("rate", "decimal", ["null" => false, "precision" => 6, "scale" => 2]);
+ $table->addColumn("taxcode", "integer", ["null" => true, "default" => null]);
$table->addColumn("invoice_text", "text", ["null" => true, "default" => null]);
$table->addColumn("create_by", "integer", ["null" => false]);
$table->addColumn("edit_by", "integer", ["null" => false]);