Skip to content

Instantly share code, notes, and snippets.

@ksn135
Created July 29, 2015 08:35
Show Gist options
  • Save ksn135/068bfb9408b87e826d6d to your computer and use it in GitHub Desktop.
Save ksn135/068bfb9408b87e826d6d to your computer and use it in GitHub Desktop.
<?php
class Contract {
/* ... */
public function needRoundItUp()
{
// В каких случаях не используется округление:
// Введена ставка с налогом, независимо от типа контрагента.
if (!$this->getWithoutNds()) return false;
// Если тип контрагента ИП (ОСН) или ООО (ОСН) или ЮЛ-нерезидент, т.е. облагается НДС,
// при этом независимо от типа введенной ставки (с налогом или без налога).
if (in_array($this->getContractor()->getKindId(), array(1,3,7))) return false;
// Расчетным путем определяется ставка "без налога" для уже сохраненной заявки.
if ($this->getWithoutNds() && !$this->isNew()) return false;
// В каких случаях используется округление сумм:
// Только при создание заявки на договор/ДС.
// Только для типов контрагента ИП (УСН) и всех типов ФЛ.
// Округляется ТОЛЬКО ставка с налогом, если введена ставка без налога
// При расчете ставок в денежных единицах указанных в % соотношении от базовой ставки.
return true;
}
/* ... */
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment