module Magelex::AccountNumber
Public Class Methods
for(bill, tax_kind)
click to toggle source
Get account number for :incorrect_tax, :total_0, :total_7 or :total_19
# File lib/magelex/lexware_account.rb, line 19 def self.for(bill, tax_kind) if tax_kind == :total_0 return for_0 bill elsif tax_kind == :total_7 return for_7 bill elsif tax_kind == :total_19 return for_19 bill elsif tax_kind == :incorrect_tax return for_incorrect_tax bill elsif tax_kind == :discount_7 return for_discount_7 bill elsif tax_kind == :discount_19 return for_discount_19 bill else # its not a tax kind anymore, its a posten type raise "unknown tax_kind (#{tax_kind})" end end
for_0(bill)
click to toggle source
# File lib/magelex/lexware_account.rb, line 46 def self.for_0 bill '8120' end
for_19(bill)
click to toggle source
# File lib/magelex/lexware_account.rb, line 42 def self.for_19 bill bill.in_eu? ? '8315' : '8400' end
for_7(bill)
click to toggle source
# File lib/magelex/lexware_account.rb, line 38 def self.for_7 bill bill.in_eu? ? '8310' : '8300' end
for_customer(bill)
click to toggle source
# File lib/magelex/lexware_account.rb, line 5 def self.for_customer bill first_letter = bill.customer_lastname[0].upcase first_letter.gsub!(/[ÖÜÄ]/, 'Ä' => 'A', 'Ö' => 'O', 'Ü' => 'U') return 12300 if first_letter == "Y" return 12300 if first_letter == "Z" # A is 0 ord = first_letter.ord - "A".ord# + 1 10000 + ord * 100 end
for_discount_19(bill)
click to toggle source
# File lib/magelex/lexware_account.rb, line 58 def self.for_discount_19 bill '8790' end
for_discount_7(bill)
click to toggle source
# File lib/magelex/lexware_account.rb, line 54 def self.for_discount_7 bill '8780' end
for_incorrect_tax(bill)
click to toggle source
# File lib/magelex/lexware_account.rb, line 50 def self.for_incorrect_tax bill '1783' end