The class for work with NDS (Russian tax)

dev-master 2015-04-01 04:00 UTC

This package is not auto-updated.

Last update: 2024-04-27 15:32:21 UTC


README

Алгоритм (взято отсюда )

Как выделить НДС? Если у Вас под рукой не окажется интернета и надо будет выделить НДС - запомните этот простой алгоритм. Чтобы выделить НДС из суммы, нужно разделить сумму на 1+НДС (т.е. если НДС 18%, то разделить нужно на 1.18), вычесть из полученного исходную сумму, умножить на -1 и округлить до копеек в ближайшую сторону. Если вы делаете это на калькуляторе, то последние два действия легко выполнить в уме.

Как начислить НДС? Начислить НДС еще проще. Если ставка НДС 18%, то умножьте сумму без НДС на 0.18 и вы получите сумму налога, а умножив на 1.18 вы получите сумму с учетом налога.

Использование

$nds = new Nds();
$nds->allocationNds(100) //Выделение НДС из суммы. Возвращает НДС. Вернет 15.25
$nds->allocationSumWithoutNds(100) //Выделение НДС из суммы. Возвращает сумму без НДС. Вернет 84.75
$nds->chargeNds(100) //Начисление НДС от суммы. Возвращает НДС суммы. Вернет 18
$nds->chargeSumWithNds(100) //Начисление НДС от суммы. Возвращает сумму с НДС. Вернет 118

Если необходимо изменить значение НДС (по умолчанию, оно равно 18), то можно делать так.

$nds = new Nds();
$nds->allocationNds(100, 20) // 20 новое значение ндс
$nds->allocationSumWithoutNds(100, 20) //20 новое значение ндс
$nds->chargeNds(100, 20) // 20 новое значение ндс
$nds->chargeSumWithNds(100, 20) // 20 новое значение ндс

Credits