Как иметь разные НДС% на Канарских островах и в материковой части Испании - PullRequest
0 голосов
/ 21 апреля 2020

Из-за различий в налоговом законодательстве между материковой Испанией (платят 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 *. Но это исходный файл, поэтому его не следует изменять.

Кто-нибудь знает, как это сделать правильно и добавить поле выбора в форму для выставления счетов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...