sw_fac 0.3.53 → 0.3.58

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8e8d7f79168a645178cfe475de1e1fc4fbffdcb27a684f8c1c4d4dfd429b19ad
4
- data.tar.gz: a837c3cddc6733370155ae20f73cf3704f224a16e630d34cef884d9ebded5565
3
+ metadata.gz: 053a99ed90bd5eb61ab4616e19fd44ab13b314ceed21b85bfd4cbd5e62463fd4
4
+ data.tar.gz: af3aba5ee6cf0b770e6d9abcb451c9ed580981e6e78fd3961b09848c18c3ebab
5
5
  SHA512:
6
- metadata.gz: e96806f1a7cc6a1fe073e0114d053c94644485af62e53cc68467fbc5feb6e079ca3ca1dcae624d2c70026d81b237f1e30c295304c45765b31b947a299a0256f9
7
- data.tar.gz: a8c9697dc603de289c5132fd60dbef36e3fdf0d8baf473ef8c0939efe3b3646ca6a9140d3b2f04a0227fa92a5aa7d47a2e0fd0e48f26f296eeb34f4fdf119cd6
6
+ metadata.gz: 8eb95930bb7aedad4aefb38cbe09a5ae10926d37ea28b33b125d2e9cdd0c7f51fbdfa45daeba94d24591e1dd556349258ef1adf04b9a7eb935b55b827149b585
7
+ data.tar.gz: 263a17bdd4b379cc40c13a7b4a288652f5186a895cea66687e9061a6ed46d552824a0e1773a2c1e5ec791c164f11d5c71f934cceb1467abc0ddd065542bd5cd2
@@ -9,9 +9,9 @@ module SwFac
9
9
  # venta_folio: '',
10
10
  # cp: '',
11
11
  # receptor_razon: 'Car zone',
12
- # receptor_rfc: 'XAXX010101000',
13
- # forma_pago: '01',
14
- # total: 100.00,
12
+ # receptor_rfc: 'XAXX010101000',
13
+ # forma_pago: '01',
14
+ # total: 100.00,
15
15
  # time: '',
16
16
  # modena: '',
17
17
  # line_items: [
@@ -23,15 +23,17 @@ module SwFac
23
23
  # }
24
24
 
25
25
  puts " Datos --------"
26
- puts "-- Total: #{params[:total]}"
26
+ puts "-- Total params: #{params[:total]}"
27
27
  puts "--- Line items: "
28
28
  params[:line_items].each do |line|
29
29
  puts "--- #{line[:monto]}"
30
- end
31
- puts "-- Suma de line_items: #{params[:line_items].inject(0) {|sum, x| sum + x[:monto].to_f.round(2) }}"
30
+ end
31
+ lines_total = params[:line_items].inject(0) {|sum, x| sum + x[:monto].to_f}
32
+
33
+ puts "-- Suma de line_items: #{lines_total.round(2)}"
32
34
 
33
- if (params[:line_items].inject(0) {|sum, x| sum + x[:monto].to_f }) > params[:total].to_f.round(2)
34
- raise 'Error - la suma de los complementos de pago es mayor al total reportado'
35
+ if (lines_total.round(2) > params[:total].to_f)
36
+ raise 'Error SW - la suma de los complementos de pago es mayor al total reportado'
35
37
  end
36
38
 
37
39
  uri = @production ? URI("#{SwFac::UrlProduction}cfdi33/stamp/customv1/b64") : URI("#{SwFac::UrlDev}cfdi33/stamp/customv1/b64")
@@ -79,7 +81,7 @@ module SwFac
79
81
  child_pago['MonedaP'] = params.fetch(:moneda, 'MXN')
80
82
  child_pago['Monto'] = params[:total].round(2).to_s
81
83
 
82
- saldo_anterior = params[:total].to_f
84
+ saldo_anterior = params[:total]
83
85
 
84
86
  params[:line_items].each_with_index do |line, index|
85
87
  monto = line[:monto].to_f
@@ -89,9 +91,9 @@ module SwFac
89
91
  child_pago_relacionado['MetodoDePagoDR'] = 'PPD'
90
92
  child_pago_relacionado['NumParcialidad'] = (index + 1).to_s
91
93
 
92
- child_pago_relacionado['ImpSaldoAnt'] = (saldo_anterior).to_s
94
+ child_pago_relacionado['ImpSaldoAnt'] = (saldo_anterior).round(2).to_s
93
95
  child_pago_relacionado['ImpPagado'] = monto.round(2).to_s
94
- child_pago_relacionado['ImpSaldoInsoluto'] = (saldo_anterior - monto).to_s
96
+ child_pago_relacionado['ImpSaldoInsoluto'] = (saldo_anterior - monto).round(2).to_s
95
97
  saldo_anterior -= monto
96
98
 
97
99
  child_pago.add_child(child_pago_relacionado)
@@ -536,8 +538,8 @@ module SwFac
536
538
  child_concepto['Unidad'] = line[:unidad].to_s
537
539
  child_concepto['Descripcion'] = line[:descripcion].to_s
538
540
  child_concepto['Cantidad'] = cantidad.to_s
539
- child_concepto['ValorUnitario'] = valor_unitario.round(2).to_s
540
- child_concepto['Importe'] = total_line.round(2).to_s
541
+ child_concepto['ValorUnitario'] = valor_unitario.round(4).to_s
542
+ child_concepto['Importe'] = total_line.round(4).to_s
541
543
  # child_concepto['Descuento'] = line.fetch(:descuento, 0.00).round(6).to_s
542
544
 
543
545
 
@@ -547,11 +549,11 @@ module SwFac
547
549
  ## Creando cfdi:Traslados para cada linea
548
550
  child_traslados = Nokogiri::XML::Node.new "cfdi:Traslados", xml
549
551
  child_traslado = Nokogiri::XML::Node.new "cfdi:Traslado", xml
550
- child_traslado['Base'] = total_line.round(2).to_s
552
+ child_traslado['Base'] = total_line.round(4).to_s
551
553
  child_traslado['Impuesto'] = '002'
552
554
  child_traslado['TipoFactor'] = "Tasa"
553
555
  child_traslado['TasaOCuota'] = '0.160000'
554
- child_traslado['Importe'] = importe_iva.round(2).to_s
556
+ child_traslado['Importe'] = importe_iva.round(4).to_s
555
557
 
556
558
  # if line[:tipo_impuesto] == '004'
557
559
  # child_traslado['TasaOCuota'] = '0.000000'
@@ -569,7 +571,7 @@ module SwFac
569
571
  if ret_iva > 0
570
572
  child_retenciones = Nokogiri::XML::Node.new "cfdi:Retenciones", xml
571
573
  child_retencion = Nokogiri::XML::Node.new "cfdi:Retencion", xml
572
- child_retencion['Base'] = total_line.round(2).to_s
574
+ child_retencion['Base'] = total_line.round(4).to_s
573
575
  child_retencion['Impuesto'] = '002'
574
576
  child_retencion['TipoFactor'] = "Tasa"
575
577
 
@@ -579,7 +581,7 @@ module SwFac
579
581
  child_retencion['TasaOCuota'] = "0.160000"
580
582
  end
581
583
 
582
- child_retencion['Importe'] = importe_ret_linea.round(2).to_s
584
+ child_retencion['Importe'] = importe_ret_linea.round(4).to_s
583
585
 
584
586
  child_retenciones.add_child(child_retencion)
585
587
  child_impuestos.add_child(child_retenciones)
@@ -1,3 +1,3 @@
1
1
  module SwFac
2
- VERSION = "0.3.53"
3
- end
2
+ VERSION = "0.3.58"
3
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sw_fac
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.53
4
+ version: 0.3.58
5
5
  platform: ruby
6
6
  authors:
7
7
  - Angel Padilla
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-03-20 00:00:00.000000000 Z
11
+ date: 2020-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler