Vat::Calculator

Рассчет различных сумм с участием НДС

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

Для использования в модели вызываем метод has_vat_calculator и пользуемся

class InvoicePosition < ActiveRecord::Base
  has_vat_calculator
end
ip = InvoicePositions.last
ip.sum_of_vat_for :supplier_price
ip.sum_of_vat_for :selling_price
# так же доступны методы sum_with_vat_for и sum_without_vat_for

Также если поля модели не соответствуют стандартным supplier_price, selling_price, vat и amount можно передать параметром какие поля использовать

has_vat_calculator :selling_price => :price, :supplier_price => :manufacturer_price, :vat => :nds, :amount => :quantity
# параметры необязательны и можно указать только те, которые необходимы

По умолчанию все рассчеты выполняются с учетом количества, если необходимо обратное, то указываем это при подключении

has_vat_calculator :with_amount => false

Также можно использовать параметр при вызове метода на экземпляре класса

ip.sum_of_vat_for :supplier_price, :with_amount => false