vitalik74 / nds
The class for work with NDS (Russian tax)
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: 4.*
This package is not auto-updated.
Last update: 2024-12-21 19:01:35 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 новое значение ндс