fina_files 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -15,3 +15,5 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
+ fina_files.sublime-project
19
+ fina_files.sublime-workspace
data/README.md CHANGED
@@ -1,9 +1,9 @@
1
1
  # Fina files
2
2
 
3
- Podrzani su:
3
+ Podržani su:
4
4
 
5
- 1. Import FINA format izvatka
6
- 2. Generiranje FINA zbrojnog naloga
5
+ 1. Generiranje FINA zbrojnog naloga
6
+ 2. Import FINA format izvatka - skoro bez validacija, ali dobije se array prometa
7
7
 
8
8
  Radi se o novom formatu koji je aktualan od 4. lipnja 2012 (Novi univerzalni HUB3 obrazac)
9
9
 
@@ -13,11 +13,21 @@ Radi se o novom formatu koji je aktualan od 4. lipnja 2012 (Novi univerzalni HUB
13
13
 
14
14
  ## Zbrojni nalog za doprinose
15
15
 
16
- Podese se osnovni podaci
16
+ Ovo je za napaćeni radni narod koji nema volje/živaca svaki mjesec raditi knjiženja našoj dragoj državnoj upravi (umjesto da ima mogućnost platiti jedan iznos).
17
+
18
+ Ogledni primjer:
19
+
17
20
 
18
21
  ```ruby
22
+ # !/usr/bin/env ruby
23
+ # encoding: UTF-8
24
+
25
+ require "fina_files"
26
+
27
+ # Podese se osnovni podaci
19
28
  Doprinosi.configure do
20
29
  {
30
+ :pdv => 100.00, #opcionalno
21
31
  :oib_platitelja => '58914703561',
22
32
  :mio_i => 574.60,
23
33
  :mio_ii => 191.53,
@@ -26,22 +36,30 @@ Doprinosi.configure do
26
36
  :zaposljavanje => 65.12,
27
37
  :place =>
28
38
  [
29
- { :oib => 58914703561, :prima => 'Kresimir Bojcic', :racun => '2484004-3235123152', :iznos => 3064.52 }
39
+ { :oib => 58914703561, :prima => 'Krešimir Bojčić', :racun => '2484004-3235123152', :iznos => 3064.52 }
30
40
  ]
31
41
  }
32
42
  end
33
- ```
34
43
 
35
- I nakon toga se moze generirati zbrojni nalog
44
+ fname = '~/Desktop/doprinosi.hub3'
36
45
 
37
- ```ruby
46
+ # nakon toga se može generirati zbrojni nalog za željeni broj računa:
38
47
  ZbrojniNalog.new("HR3624840081111111111").tap do |result|
39
48
  result.nalozi = Doprinosi.nalozi
40
- result.export('~/Desktop/doprinosi.hub3')
49
+ result.export(fname)
41
50
  end
51
+ puts "Ogledni primjer za prošli mjesec u #{fname} datoteci."
42
52
  ```
43
53
 
44
- * Garancija je - AS IS - molim da svi provjere naloge prije autorizacije jer ne mogu preuzeti odgovornost za moguce propuste.
54
+ Za broj "mjeseca" koji treba kod naloga koji se generiraju uzima se prošli mjesec. Dakle ako 1.11.2012 radimo naloge poziv na broj za MIO I stup je:
55
+
56
+ ```ruby
57
+ "HR68 8109-#{postavke[:oib_platitelja]}-#{godina_mjesec}" #=> "HR68 8109-58914703561-1210"
58
+ ```
59
+
60
+ Ovo nije točan podatak ako je firma tek otvorena jer se u biti gleda redni broj doprinosa, a ne mjesec. Kada firma radi punu godinu onda je taj redni broj jednak broju mjeseca. Ako nekome treba može se dodati postavka :korekcija_mjeseca.
61
+
62
+ * Garancija je - "AS IS" - molim da svi provjere naloge prije autorizacije jer ne mogu preuzeti odgovornost za moguće propuste.
45
63
 
46
64
 
47
65
 
@@ -27,6 +27,9 @@ class Doprinosi
27
27
  result << [ "HR67 #{placa[:oib]}-#{godina_mjesec}-0",'Isplata place',"#{placa[:racun]}","#{placa[:prima]}", placa[:iznos] ]
28
28
  end
29
29
  end
30
+ unless postavke[:pdv].nil?
31
+ result << [ "HR68 1201-#{postavke[:oib_platitelja]}","PDV #{godina_mjesec}",'1001005-1863000160','DRŽAVNI PRORAČUN REPUBLIKE HRVATSKE', postavke[:pdv]],
32
+ end
30
33
  result
31
34
  end
32
35
 
@@ -20,6 +20,26 @@ class FinaIzvadak
20
20
 
21
21
  line.unpack(DEFINICIJA.fetch(type(line))).map(&:strip)
22
22
  end
23
+ ####################
24
+ # format prometa
25
+ ####################
26
+ # broj_izvoda
27
+ # redni broj
28
+ # datum izvoda
29
+ # vrsta transakcije
30
+ # transakcijski racun
31
+ # valuta
32
+ # racun stranka
33
+ # naziv stranka
34
+ # adresa stranka
35
+ # mjesto stranka
36
+ # datum valute
37
+ # datum izvrsenja
38
+ # iznos
39
+ # poziv na broj platitelja
40
+ # poziv na broj primatelja
41
+ # opis prometa
42
+ # identifikacijski broj prometa
23
43
 
24
44
  def prometi(izvadak)
25
45
  [].tap do |result|
@@ -1,3 +1,3 @@
1
1
  module FinaFiles
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -60,6 +60,27 @@ describe FinaIzvadak do
60
60
  subject.prometi(FINA_FILE).count.should == 2
61
61
  end
62
62
 
63
+ ####################
64
+ # format prometa
65
+ ####################
66
+ # broj izvoda
67
+ # broj prometa u izvodu
68
+ # datum izvoda
69
+ # vrsta_transakcije
70
+ # transakcijski_racun
71
+ # valuta
72
+ # racun_stranka
73
+ # naziv stranka
74
+ # adresa_stranka
75
+ # mjesto_stranka
76
+ # datum_valute
77
+ # datum_izvrsenja
78
+ # iznos
79
+ # poziv_na_broj_platitelja
80
+ # poziv_na_broj_primatelja
81
+ # opis_prometa
82
+ # identifikacijski_broj_prometa
83
+
63
84
  it 'zna podatke naloga' do
64
85
  subject.prometi(FINA_FILE)[0].should == [
65
86
  251,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fina_files
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-05 00:00:00.000000000 Z
12
+ date: 2012-11-28 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: FINA formati na jednom mjestu
15
15
  email: