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 +4 -4
- data/lib/sw_fac/facturacion.rb +19 -17
- data/lib/sw_fac/version.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 053a99ed90bd5eb61ab4616e19fd44ab13b314ceed21b85bfd4cbd5e62463fd4
|
4
|
+
data.tar.gz: af3aba5ee6cf0b770e6d9abcb451c9ed580981e6e78fd3961b09848c18c3ebab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8eb95930bb7aedad4aefb38cbe09a5ae10926d37ea28b33b125d2e9cdd0c7f51fbdfa45daeba94d24591e1dd556349258ef1adf04b9a7eb935b55b827149b585
|
7
|
+
data.tar.gz: 263a17bdd4b379cc40c13a7b4a288652f5186a895cea66687e9061a6ed46d552824a0e1773a2c1e5ec791c164f11d5c71f934cceb1467abc0ddd065542bd5cd2
|
data/lib/sw_fac/facturacion.rb
CHANGED
@@ -9,9 +9,9 @@ module SwFac
|
|
9
9
|
# venta_folio: '',
|
10
10
|
# cp: '',
|
11
11
|
# receptor_razon: 'Car zone',
|
12
|
-
|
13
|
-
|
14
|
-
|
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
|
-
|
31
|
-
|
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 (
|
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]
|
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(
|
540
|
-
child_concepto['Importe'] = total_line.round(
|
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(
|
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(
|
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(
|
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(
|
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)
|
data/lib/sw_fac/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module SwFac
|
2
|
-
VERSION = "0.3.
|
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.
|
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-
|
11
|
+
date: 2020-09-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|