93143c28f2
see https://github.com/foodcoops/foodsoft/pull/907 for reference and original work by viehlieb Co-authored-by: viehlieb <pf@pragma-shift.net> fix PDF Pdf make explicit deposit in invoices work add ordergroupname to invoice file name mark bold sum for vat exempt foodcoops download multiple group order invoice as zip
36 lines
793 B
Ruby
36 lines
793 B
Ruby
module PriceCalculation
|
|
extend ActiveSupport::Concern
|
|
|
|
# Gross price = net price + deposit + tax.
|
|
# @return [Number] Gross price.
|
|
def gross_price
|
|
add_percent(price + deposit, tax)
|
|
end
|
|
|
|
def gross_price_without_deposit
|
|
add_percent(price, tax)
|
|
end
|
|
|
|
def gross_deposit_price
|
|
add_percent(deposit, tax)
|
|
end
|
|
|
|
# @return [Number] Price for the foodcoop-member.
|
|
def fc_price
|
|
add_percent(gross_price, FoodsoftConfig[:price_markup].to_i)
|
|
end
|
|
|
|
def fc_price_without_deposit
|
|
add_percent(gross_price_without_deposit, FoodsoftConfig[:price_markup].to_i)
|
|
end
|
|
|
|
def fc_deposit_price
|
|
add_percent(gross_deposit_price, FoodsoftConfig[:price_markup].to_i)
|
|
end
|
|
|
|
private
|
|
|
|
def add_percent(value, percent)
|
|
(value * ((percent * 0.01) + 1)).round(2)
|
|
end
|
|
end
|