polish_invoicer 0.0.33 → 0.0.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1bc150b3394d7c7b2f413aa60b1786497feee7c3fc2e5636e538757decae08a9
4
- data.tar.gz: 6050884b9617130c8c5af7b56c729b77b07d2d967306f99a409a34a4268e3536
3
+ metadata.gz: a28a6aa9425c98da6aa3779b3c1251438efcd6976f876448d6c2bab5acedf5d1
4
+ data.tar.gz: b6f4c0ed789da7f1333fad67ebb02a624dc63545db19f314e6e7a209888f67ee
5
5
  SHA512:
6
- metadata.gz: bad0d1bd56b0fa9179ae8a1a2a8f846cebbfa8f16ed6d7429799ba1e55621d362b51bae19f95f9b7f938149a52d5c8c0772e94aace04fea8a11c4eeb42b7f79b
7
- data.tar.gz: 5e707f06500268e19d0e8c5fb1a3f699d3e73351c702e74042e6845adae0e14b615422a476f5a7c2b9647999c37137cb1dd5997578a21aa3b6e495e2429db3fd
6
+ metadata.gz: 1ef7113d42bb6cf1eb62b5cd6fab2dd5fd08612594618cf5d449fe18b796cc4686771293f8d4d5c9f4dcc667a39553ff4d8969a73e074b8b7cb06e969ec54ecf
7
+ data.tar.gz: 3a6f869d6ff8618b83c9d2e97bedfab5231ab7aca08bf516a1a5e79882d9098c1dcdd5b811a483984530c5cda92409401d5d7225ad463c320ea13d7cb69163d6
data/README.md CHANGED
@@ -110,6 +110,7 @@ invoice.save_to_pdf('/path/to/invoice.pdf')
110
110
  :footer, # treść umieszczana w stopce faktury (string)
111
111
  :price_paid, # kwota częściowego opłacenia faktury w złotych (float)
112
112
  :ksef_number, # numer faktury w KSeF (string)
113
+ :ksef_qr_code_url, # adres URL kodu QR dla faktury w KSeF (string)
113
114
 
114
115
  ### Parametry systemowe
115
116
 
@@ -5,6 +5,7 @@ module PolishInvoicer
5
5
  AVAILABLE_PARAMS = [
6
6
  :number, # numer faktury (string)
7
7
  :ksef_number, # numer faktury w KSeF (string)
8
+ :ksef_qr_code_url, # adres URL kodu QR dla faktury w KSeF
8
9
  :create_date, # data wystawienia faktury (date)
9
10
  :trade_date, # data sprzedaży (date)
10
11
  :seller, # adres sprzedawcy (tablica stringów)
@@ -113,6 +114,12 @@ module PolishInvoicer
113
114
  proforma ? "proforma-#{template_lang}.slim" : "invoice-#{template_lang}.slim"
114
115
  end
115
116
 
117
+ def qr_code_data_url
118
+ return unless ksef_qr_code_url
119
+
120
+ RQRCode::QRCode.new(ksef_qr_code_url).as_png(size: 220).to_data_url
121
+ end
122
+
116
123
  private
117
124
 
118
125
  def set_defaults
@@ -33,7 +33,7 @@ module PolishInvoicer
33
33
  end
34
34
 
35
35
  def copy_additional_params
36
- %w[net_value vat_value gross_value exchanged_tax].each do |field|
36
+ %w[net_value vat_value gross_value exchanged_tax qr_code_data_url].each do |field|
37
37
  @out[field.to_sym] = @invoice.send(field)
38
38
  end
39
39
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PolishInvoicer
4
- VERSION = '0.0.33'
4
+ VERSION = '0.0.34'
5
5
  end
@@ -7,6 +7,7 @@ require 'polish_invoicer/version'
7
7
  require 'polish_invoicer/vat'
8
8
  require 'polish_invoicer/validator'
9
9
  require 'slim2pdf'
10
+ require 'rqrcode'
10
11
  require 'polish_invoicer/writer'
11
12
  require 'polish_invoicer/presenter'
12
13
  require 'polish_invoicer/invoice'
@@ -28,5 +28,6 @@ Gem::Specification.new do |spec|
28
28
  spec.add_development_dependency 'rubocop-rake'
29
29
  spec.add_development_dependency 'simplecov'
30
30
 
31
+ spec.add_dependency 'rqrcode'
31
32
  spec.add_dependency 'slim2pdf'
32
33
  end
@@ -9,7 +9,9 @@ i = PolishInvoicer::Invoice.new(
9
9
  item_name: 'Jakiś długi tytuł i jeszcze jakieś informacje na różne tematy oraz dodatkowy komentarz w sprawie różnej.',
10
10
  price: 123.45, payment_date: Date.today,
11
11
  comments: 'Test uwag', footer: 'Stopka faktury plus tekst promocyjny',
12
- seller_nip: '123-456-78-90', buyer_nip: '987-654-32-10'
12
+ seller_nip: '123-456-78-90', buyer_nip: '987-654-32-10',
13
+ ksef_number: '1234567890-20260211-0200C0785341-F8',
14
+ ksef_qr_code_url: 'https://qr-test.ksef.mf.gov.pl/invoice/1234567890/11-02-2026/vgAXyW8BGst1ply1ag8hwbZ84Qz4Fgi0GDw6r84u6Pg'
13
15
  )
14
16
 
15
17
  i.save_to_pdf('/tmp/invoice-default.pdf')
data/tpl/invoice-en.slim CHANGED
@@ -18,9 +18,6 @@ html
18
18
 
19
19
  h3 = "Invoice number #{number}"
20
20
 
21
- - if ksef_number
22
- h4 = "KSeF number: #{ksef_number}"
23
-
24
21
  .row
25
22
  .col-xs-6
26
23
  h4 Seller
@@ -117,3 +114,16 @@ html
117
114
  br
118
115
  br
119
116
  b Levy of VAT reverse charged to recipient of service (reverse charge)
117
+
118
+ - if ksef_number && ksef_qr_code_url
119
+ hr
120
+ .row
121
+ .col-xs-4
122
+ img src=qr_code_data_url
123
+ .col-xs-8
124
+ br
125
+ h4 KSeF
126
+ = ksef_number
127
+ br
128
+ br
129
+ a href=ksef_qr_code_url #{ksef_qr_code_url}
data/tpl/invoice-es.slim CHANGED
@@ -18,9 +18,6 @@ html
18
18
 
19
19
  h3 = "Factura No. #{number}"
20
20
 
21
- - if ksef_number
22
- h4 = "Número KSeF: #{ksef_number}"
23
-
24
21
  .row
25
22
  .col-xs-6
26
23
  h4 Vendedor
@@ -117,3 +114,16 @@ html
117
114
  br
118
115
  br
119
116
  b Recaudación del IVA con cargo revertido al destinatario del servicio (cargo revertido)
117
+
118
+ - if ksef_number && ksef_qr_code_url
119
+ hr
120
+ .row
121
+ .col-xs-4
122
+ img src=qr_code_data_url
123
+ .col-xs-8
124
+ br
125
+ h4 KSeF
126
+ = ksef_number
127
+ br
128
+ br
129
+ a href=ksef_qr_code_url #{ksef_qr_code_url}
data/tpl/invoice-pl.slim CHANGED
@@ -18,9 +18,6 @@ html
18
18
 
19
19
  h3 = "Faktura nr #{number}"
20
20
 
21
- - if ksef_number
22
- h4 = "Numer KSeF: #{ksef_number}"
23
-
24
21
  .row
25
22
  .col-xs-6
26
23
  h4 Sprzedawca
@@ -135,3 +132,16 @@ html
135
132
  b Podstawa zwolnienia z podatku VAT:
136
133
  br
137
134
  = no_vat_reason
135
+
136
+ - if ksef_number && ksef_qr_code_url
137
+ hr
138
+ .row
139
+ .col-xs-4
140
+ img src=qr_code_data_url
141
+ .col-xs-8
142
+ br
143
+ h4 KSeF
144
+ = ksef_number
145
+ br
146
+ br
147
+ a href=ksef_qr_code_url #{ksef_qr_code_url}
@@ -20,12 +20,6 @@ html
20
20
  h6.small
21
21
  em = "Invoice number #{number}"
22
22
 
23
- - if ksef_number
24
- h4 = "Numer KSeF: #{ksef_number}"
25
- h6.small
26
- em = "KSeF number: #{ksef_number}"
27
-
28
-
29
23
  .row
30
24
  .col-xs-6
31
25
  h4 Sprzedawca
@@ -210,3 +204,16 @@ html
210
204
  .small
211
205
  em Basis for VAT exemption:
212
206
  = no_vat_reason
207
+
208
+ - if ksef_number && ksef_qr_code_url
209
+ hr
210
+ .row
211
+ .col-xs-4
212
+ img src=qr_code_data_url
213
+ .col-xs-8
214
+ br
215
+ h4 KSeF
216
+ = ksef_number
217
+ br
218
+ br
219
+ a href=ksef_qr_code_url #{ksef_qr_code_url}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: polish_invoicer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.33
4
+ version: 0.0.34
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Macuk
@@ -107,6 +107,20 @@ dependencies:
107
107
  - - ">="
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: rqrcode
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ type: :runtime
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
110
124
  - !ruby/object:Gem::Dependency
111
125
  name: slim2pdf
112
126
  requirement: !ruby/object:Gem::Requirement