sw_fac 0.3.52 → 0.3.57
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 +22 -19
- data/lib/sw_fac/version.rb +1 -1
- 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: 2b42c257daa8d42e001986d905ffab338db35601a8ddc082815ce3a9000440d2
|
4
|
+
data.tar.gz: f513ba041875e90d46cbc9ca47e57a4f3d216e669fa814fadb5539677094e050
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 69ecc08be4f9d4f5c97199b964085f6574a571271806c0ef7ff7b428c72072ab805ace8f8e1641cab06383c0befeac7b95fb1ed97a2a24383e5839fe0ea82c8c
|
7
|
+
data.tar.gz: 2140988d0cd6d7a09a58e80cbc10224c7385ff87196b9aa35d39665be54a9a9535ab47f21206f67593ae9ecb2a2c5cb64154d92bfdc9e1fa5637b3fbf5c39425
|
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}"
|
32
34
|
|
33
|
-
if (
|
34
|
-
raise 'Error - la suma de los complementos de pago es mayor al total reportado'
|
35
|
+
if (lines_total > 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)
|
@@ -513,6 +515,7 @@ module SwFac
|
|
513
515
|
suma_iva += importe_iva
|
514
516
|
suma_total += total_acumulator
|
515
517
|
|
518
|
+
puts "--- 01"
|
516
519
|
## calculando retencion de IVA en caso de tener
|
517
520
|
if ret_iva > 0
|
518
521
|
if ret_iva == 6
|
@@ -523,7 +526,7 @@ module SwFac
|
|
523
526
|
else
|
524
527
|
importe_ret_linea = 0
|
525
528
|
end
|
526
|
-
puts "---
|
529
|
+
puts "--- 02"
|
527
530
|
suma_ret += importe_ret_linea
|
528
531
|
|
529
532
|
|
@@ -535,8 +538,8 @@ module SwFac
|
|
535
538
|
child_concepto['Unidad'] = line[:unidad].to_s
|
536
539
|
child_concepto['Descripcion'] = line[:descripcion].to_s
|
537
540
|
child_concepto['Cantidad'] = cantidad.to_s
|
538
|
-
child_concepto['ValorUnitario'] = valor_unitario.round(
|
539
|
-
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
|
540
543
|
# child_concepto['Descuento'] = line.fetch(:descuento, 0.00).round(6).to_s
|
541
544
|
|
542
545
|
|
@@ -546,11 +549,11 @@ module SwFac
|
|
546
549
|
## Creando cfdi:Traslados para cada linea
|
547
550
|
child_traslados = Nokogiri::XML::Node.new "cfdi:Traslados", xml
|
548
551
|
child_traslado = Nokogiri::XML::Node.new "cfdi:Traslado", xml
|
549
|
-
child_traslado['Base'] = total_line.round(
|
552
|
+
child_traslado['Base'] = total_line.round(4).to_s
|
550
553
|
child_traslado['Impuesto'] = '002'
|
551
554
|
child_traslado['TipoFactor'] = "Tasa"
|
552
555
|
child_traslado['TasaOCuota'] = '0.160000'
|
553
|
-
child_traslado['Importe'] = importe_iva.round(
|
556
|
+
child_traslado['Importe'] = importe_iva.round(4).to_s
|
554
557
|
|
555
558
|
# if line[:tipo_impuesto] == '004'
|
556
559
|
# child_traslado['TasaOCuota'] = '0.000000'
|
@@ -568,7 +571,7 @@ module SwFac
|
|
568
571
|
if ret_iva > 0
|
569
572
|
child_retenciones = Nokogiri::XML::Node.new "cfdi:Retenciones", xml
|
570
573
|
child_retencion = Nokogiri::XML::Node.new "cfdi:Retencion", xml
|
571
|
-
child_retencion['Base'] = total_line.round(
|
574
|
+
child_retencion['Base'] = total_line.round(4).to_s
|
572
575
|
child_retencion['Impuesto'] = '002'
|
573
576
|
child_retencion['TipoFactor'] = "Tasa"
|
574
577
|
|
@@ -578,7 +581,7 @@ module SwFac
|
|
578
581
|
child_retencion['TasaOCuota'] = "0.160000"
|
579
582
|
end
|
580
583
|
|
581
|
-
child_retencion['Importe'] = importe_ret_linea.round(
|
584
|
+
child_retencion['Importe'] = importe_ret_linea.round(4).to_s
|
582
585
|
|
583
586
|
child_retenciones.add_child(child_retencion)
|
584
587
|
child_impuestos.add_child(child_retenciones)
|
@@ -617,7 +620,7 @@ module SwFac
|
|
617
620
|
comprobante['Total'] = suma_total.round(2).to_s
|
618
621
|
end
|
619
622
|
|
620
|
-
|
623
|
+
|
621
624
|
## filling traslado info
|
622
625
|
traslado_child = Nokogiri::XML::Node.new "cfdi:Traslado", xml
|
623
626
|
traslado_child['Impuesto'] = '002'
|
data/lib/sw_fac/version.rb
CHANGED
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.57
|
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
|