lib/fina_files/doprinosi.rb in fina_files-0.0.8 vs lib/fina_files/doprinosi.rb in fina_files-0.0.9

- old
+ new

@@ -14,28 +14,35 @@ (DateTime.now << 1).strftime('%y%m') end def self.nalozi result = [ - [ "HR68 8109-#{postavke[:oib_platitelja]}-#{godina_mjesec}",'MIO I STUP','1001005-1863000160','DRŽAVNI PRORAČUN REPUBLIKE HRVATSKE', postavke[:mio_i] ], - [ "HR68 2003-#{postavke[:oib_platitelja]}-#{godina_mjesec}",'MIO II STUP','1001005-1700036001','DOPRINOS ZA MIROVINSKO OSIGURANJE', postavke[:mio_ii] ], - [ "HR68 8400-#{postavke[:oib_platitelja]}-#{godina_mjesec}",'Doprinos za osnovno zdravstveno osiguranja','1001005-1863000160','DRŽAVNI PRORAČUN REPUBLIKE HRVATSKE', postavke[:zdravstveno_osiguranje] ], - [ "HR68 8559-#{postavke[:oib_platitelja]}-#{godina_mjesec}",'Doprinos za ozljede na radu','1001005-1863000160','DRŽAVNI PRORAČUN REPUBLIKE HRVATSKE', postavke[:ozljede_na_radu] ], - [ "HR68 8702-#{postavke[:oib_platitelja]}-#{godina_mjesec}",'Doprinos za zaposljavanje','1001005-1863000160','DRŽAVNI PRORAČUN REPUBLIKE HRVATSKE', postavke[:zaposljavanje]], + [ "HR68 8109-#{postavke[:oib_platitelja]}-#{godina_mjesec}",'MIO I STUP',get_iban('1001005-1863000160'),'DRZAVNI PRORACUN REPUBLIKE HRVATSKE', postavke[:mio_i] ], + [ "HR68 2003-#{postavke[:oib_platitelja]}-#{godina_mjesec}",'MIO II STUP',get_iban('1001005-1700036001'),'DOPRINOS ZA MIROVINSKO OSIGURANJE', postavke[:mio_ii] ], + [ "HR68 8400-#{postavke[:oib_platitelja]}-#{godina_mjesec}",'Doprinos za osnovno zdravstveno osiguranja',get_iban('1001005-1863000160'),'DRZAVNI PRORACUN REPUBLIKE HRVATSKE', postavke[:zdravstveno_osiguranje] ], + [ "HR68 8559-#{postavke[:oib_platitelja]}-#{godina_mjesec}",'Doprinos za ozljede na radu',get_iban('1001005-1863000160'),'DRZAVNI PRORACUN REPUBLIKE HRVATSKE', postavke[:ozljede_na_radu] ], + [ "HR68 8702-#{postavke[:oib_platitelja]}-#{godina_mjesec}",'Doprinos za zaposljavanje',get_iban('1001005-1863000160'),'DRZAVNI PRORACUN REPUBLIKE HRVATSKE', postavke[:zaposljavanje]], ] #broj racuna je za grad Zagreb unless postavke[:porez_prirez_dohodak].nil? - result << [ "HR68 1406-#{postavke[:oib_platitelja]}","Porez prirez dohodak #{godina_mjesec}",'1001005-1713312009','Grad Zagreb', postavke[:porez_prirez_dohodak]] + result << [ "HR68 1406-#{postavke[:oib_platitelja]}","Porez prirez dohodak #{godina_mjesec}",get_iban('1001005-1713312009'),'Grad Zagreb', postavke[:porez_prirez_dohodak]] end unless postavke[:place].nil? postavke[:place].each do |placa| - result << [ "HR67 #{postavke[:oib_platitelja]}-#{godina_mjesec}-0",'Isplata place',"#{placa[:racun]}","#{placa[:prima]}", placa[:iznos] ] + result << [ "HR67 #{postavke[:oib_platitelja]}-#{godina_mjesec}-0",'Isplata place',get_iban("#{placa[:racun]}"),"#{placa[:prima]}", placa[:iznos] ] end end unless postavke[:pdv].nil? - result << [ "HR68 1201-#{postavke[:oib_platitelja]}","PDV #{godina_mjesec}",'1001005-1863000160','DRŽAVNI PRORAČUN REPUBLIKE HRVATSKE', postavke[:pdv]] + result << [ "HR68 1201-#{postavke[:oib_platitelja]}","PDV #{godina_mjesec}",get_iban('1001005-1863000160'),'DRZAVNI PRORACUN REPUBLIKE HRVATSKE', postavke[:pdv]] end result + end + + def self.get_iban(account) + return account if account.length == 21 + clean_account = account.strip.gsub('-','').gsub(' ', '') + check_digits = 98 - "172700#{clean_account}".split('').rotate(6).join.to_i % 97 + "HR#{check_digits < 10 ? "0#{check_digits}" : check_digits}#{clean_account}" end end