Из-за различий в налоговом законодательстве между материковой Испанией (платят 21% НДС) и Канарскими островами (платят 7% IGI C, что тоже является своего рода НДС), я должен сделать что-то, чтобы люди могли различать guish независимо от того, являются ли они из Канарских островов или материковой части Испании.
Существует возможность добавить метод к модели пользователя, например:
public function taxPercentage()
{
if ($this->billing_country == 'ES')
return 7;
else
return 0; // Customers from other countries should be charged 0% tax...
}
Проблема заключается в Канарских островах принадлежит Испании. Я должен как-то различить guish из какой части Испании клиент.
В идеале я хотел бы иметь что-то вроде этого:
public function taxPercentage()
{
if ($this->billing_country == 'ES')
{
if ($this->billing_country->state == 'mainland Spain')
{
return 21;
}
else
{
return 7;
}
}
else
{
return 0; // Customers should be charged 20% tax...
}
}
Я думал о том, чтобы добавьте другую страну в /spark/src/Repositories/Geography/CountryRepository.php, но это, очевидно, вызовет проблемы (Канарские острова не отдельная страна, а Испания). Кроме того, опция НДС исчезает из формы оплаты. Поэтому, возможно, лучше было бы показать еще один выпадающий список с двумя вариантами «Материковая Испания» и «Канарские острова».
Есть еще один файл со штатами США и провинциями Канады / spark / src / Repositories / Geography / StateRepository . php
И я думаю, что в него можно было бы поместить состояния Испании 1025 *. Но это исходный файл, поэтому его не следует изменять.
Кто-нибудь знает, как это сделать правильно и добавить поле выбора в форму для выставления счетов?