facturapi_ruby 1.3.0 → 2.0.0
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 +4 -4
- data/lib/facturapi_ruby/constants.rb +38 -0
- data/lib/facturapi_ruby/customers.rb +2 -2
- data/lib/facturapi_ruby/files.rb +2 -2
- data/lib/facturapi_ruby/http_client.rb +1 -1
- data/lib/facturapi_ruby/invoices.rb +3 -3
- data/lib/facturapi_ruby/v2/customers.rb +31 -0
- data/lib/facturapi_ruby/v2/files.rb +32 -0
- data/lib/facturapi_ruby/v2/invoices.rb +34 -0
- data/lib/facturapi_ruby/version.rb +3 -1
- data/lib/facturapi_ruby.rb +4 -0
- metadata +9 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1722b0098ee0ef6f187c3b3cb441513a415b388297ef4536ae4635d851254a39
|
4
|
+
data.tar.gz: 2ad3ee1d392a64bdade337461b896dd990339ed001af02afc0e7cf9ddb4151b9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f9b1155dd14026c3aaece114fda81239aa156c5f8ff5c3cf7a2637ab3b5db620ae24c3f0fb7f429e9a89d31a92c588b1ce956e5344a68e35f22fc3af8c76402a
|
7
|
+
data.tar.gz: 208890f3f4a05ea90f494e35bfcb3a505788510e8e365dcb84d0b09e56419900ba6b6fb08f54bf2ed6b3d3ab524771c00b230c4fc841a8f2ef50abdb8e75b212
|
@@ -101,4 +101,42 @@ module FacturapiRuby
|
|
101
101
|
ENAJENACION_DE_ACCIONES_EN_BOLSA_DE_VALORES: "630",
|
102
102
|
REGIMEN_DE_LOS_INGRESOS_POR_OBTENCION_DE_PREMIOS: "615"
|
103
103
|
}
|
104
|
+
|
105
|
+
REGIMEN_FISCAL = {
|
106
|
+
'603': 'Personas Morales con Fines no Lucrativos',
|
107
|
+
'605': 'Sueldos y Salarios e Ingresos Asimilados a Salarios',
|
108
|
+
'606': 'Arrendamiento',
|
109
|
+
'608': 'Demás ingresos',
|
110
|
+
'609': 'Consolidación',
|
111
|
+
'610': 'Residentes en el Extranjero sin Establecimiento Permanente en México',
|
112
|
+
'611': 'Ingresos por Dividendos (socios y accionistas)',
|
113
|
+
'612': 'Personas Físicas con Actividades Empresariales y Profesionales',
|
114
|
+
'614': 'Ingresos por intereses',
|
115
|
+
'616': 'Sin obligaciones fiscales',
|
116
|
+
'620': 'Sociedades Cooperativas de Producción que optan por diferir sus ingresos',
|
117
|
+
'621': 'Incorporación Fiscal',
|
118
|
+
'622': 'Actividades Agrícolas, Ganaderas, Silvícolas y Pesqueras',
|
119
|
+
'623': 'Opcional para Grupos de Sociedades',
|
120
|
+
'624': 'Coordinados',
|
121
|
+
'628': 'Hidrocarburos',
|
122
|
+
'607': 'Régimen de Enajenación o Adquisición de Bienes',
|
123
|
+
'629': 'De los Regímenes Fiscales Preferentes y de las Empresas Multinacionales',
|
124
|
+
'630': 'Enajenación de acciones en bolsa de valores',
|
125
|
+
'615': 'Régimen de los ingresos por obtención de premios',
|
126
|
+
'625': 'Régimen de las Actividades Empresariales con ingresos a través de Plataformas Tecnológicas',
|
127
|
+
'626': 'Régimen Simplificado de Confianza',
|
128
|
+
}.freeze
|
129
|
+
|
130
|
+
CANCELACION_FISCAL = {
|
131
|
+
'01': 'Comprobante emitido con errores con relación',
|
132
|
+
'02': 'Comprobante emitido con errores sin relación',
|
133
|
+
'03': 'No se llevó a cabo la operación',
|
134
|
+
'04': 'Operación nominativa relacionada en la factura global',
|
135
|
+
}.freeze
|
136
|
+
|
137
|
+
TAXABILITY = {
|
138
|
+
'01': 'No objeto de impuesto',
|
139
|
+
'02': 'Sí objeto de impuesto',
|
140
|
+
'03': 'Sí objeto de impuesto, pero no obligado a desglose',
|
141
|
+
}.freeze
|
104
142
|
end
|
@@ -5,14 +5,14 @@ module FacturapiRuby
|
|
5
5
|
class << self
|
6
6
|
def create(options)
|
7
7
|
HttpClient.post(
|
8
|
-
endpoint: '/customers',
|
8
|
+
endpoint: '/v1/customers',
|
9
9
|
api_options: options
|
10
10
|
)
|
11
11
|
end
|
12
12
|
|
13
13
|
def update(customer_id, options)
|
14
14
|
HttpClient.put(
|
15
|
-
endpoint: "/customers/#{customer_id}",
|
15
|
+
endpoint: "/v1/customers/#{customer_id}",
|
16
16
|
api_options: options
|
17
17
|
)
|
18
18
|
end
|
data/lib/facturapi_ruby/files.rb
CHANGED
@@ -5,14 +5,14 @@ module FacturapiRuby
|
|
5
5
|
class << self
|
6
6
|
def pdf(options)
|
7
7
|
HttpClient.get_file(
|
8
|
-
endpoint: "/invoices/#{options[:invoice_id]}/pdf",
|
8
|
+
endpoint: "/v1/invoices/#{options[:invoice_id]}/pdf",
|
9
9
|
file_ext: '.pdf'
|
10
10
|
)
|
11
11
|
end
|
12
12
|
|
13
13
|
def xml(options)
|
14
14
|
HttpClient.get_file(
|
15
|
-
endpoint: "/invoices/#{options[:invoice_id]}/xml",
|
15
|
+
endpoint: "/v1/invoices/#{options[:invoice_id]}/xml",
|
16
16
|
file_ext: '.xml'
|
17
17
|
)
|
18
18
|
end
|
@@ -5,21 +5,21 @@ module FacturapiRuby
|
|
5
5
|
class << self
|
6
6
|
def create(options)
|
7
7
|
HttpClient.post(
|
8
|
-
endpoint: '/invoices',
|
8
|
+
endpoint: '/v1/invoices',
|
9
9
|
api_options: options
|
10
10
|
)
|
11
11
|
end
|
12
12
|
|
13
13
|
def cancel(invoice_id, options={})
|
14
14
|
HttpClient.delete(
|
15
|
-
endpoint: "/invoices/#{invoice_id}",
|
15
|
+
endpoint: "/v1/invoices/#{invoice_id}",
|
16
16
|
api_options: options
|
17
17
|
)
|
18
18
|
end
|
19
19
|
|
20
20
|
def get(invoice_id, options={})
|
21
21
|
HttpClient.get(
|
22
|
-
endpoint: "/invoices/#{invoice_id}",
|
22
|
+
endpoint: "/v1/invoices/#{invoice_id}",
|
23
23
|
api_options: options
|
24
24
|
)
|
25
25
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'facturapi_ruby/http_client'
|
4
|
+
|
5
|
+
module FacturapiRuby
|
6
|
+
module V2
|
7
|
+
module Customers
|
8
|
+
class << self
|
9
|
+
def create(options)
|
10
|
+
HttpClient.post(
|
11
|
+
endpoint: '/v2/customers',
|
12
|
+
api_options: options
|
13
|
+
)
|
14
|
+
end
|
15
|
+
|
16
|
+
def update(customer_id, options)
|
17
|
+
HttpClient.put(
|
18
|
+
endpoint: "/v2/customers/#{customer_id}",
|
19
|
+
api_options: options
|
20
|
+
)
|
21
|
+
end
|
22
|
+
|
23
|
+
def validate(customer_id)
|
24
|
+
HttpClient.get(
|
25
|
+
endpoint: '/v2/customers/{customer_id}/tax-info-validation'
|
26
|
+
)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'facturapi_ruby/http_client'
|
4
|
+
|
5
|
+
module FacturapiRuby
|
6
|
+
module V2
|
7
|
+
module Files
|
8
|
+
class << self
|
9
|
+
def pdf(options)
|
10
|
+
HttpClient.get_file(
|
11
|
+
endpoint: "/v2/invoices/#{options[:invoice_id]}/pdf",
|
12
|
+
file_ext: '.pdf'
|
13
|
+
)
|
14
|
+
end
|
15
|
+
|
16
|
+
def xml(options)
|
17
|
+
HttpClient.get_file(
|
18
|
+
endpoint: "/v2/invoices/#{options[:invoice_id]}/xml",
|
19
|
+
file_ext: '.xml'
|
20
|
+
)
|
21
|
+
end
|
22
|
+
|
23
|
+
def zip(options)
|
24
|
+
HttpClient.get_file(
|
25
|
+
endpoint: "/v2/invoices/#{options[:invoice_id]}/zip",
|
26
|
+
file_ext: '.zip'
|
27
|
+
)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'facturapi_ruby/http_client'
|
4
|
+
|
5
|
+
module FacturapiRuby
|
6
|
+
module V2
|
7
|
+
module Invoices
|
8
|
+
class << self
|
9
|
+
def create(options)
|
10
|
+
HttpClient.post(
|
11
|
+
endpoint: '/v2/invoices',
|
12
|
+
api_options: options
|
13
|
+
)
|
14
|
+
end
|
15
|
+
|
16
|
+
def cancel(invoice_id, motive, substitution=nil, options={})
|
17
|
+
path = "/v2/invoices/#{invoice_id}?motive=#{motive}"
|
18
|
+
path += "&substitution=#{substitution}" if substitution
|
19
|
+
HttpClient.delete(
|
20
|
+
endpoint: path,
|
21
|
+
api_options: options
|
22
|
+
)
|
23
|
+
end
|
24
|
+
|
25
|
+
def get(invoice_id, options={})
|
26
|
+
HttpClient.get(
|
27
|
+
endpoint: "/v2/invoices/#{invoice_id}",
|
28
|
+
api_options: options
|
29
|
+
)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
data/lib/facturapi_ruby.rb
CHANGED
@@ -4,6 +4,10 @@ require 'facturapi_ruby/customers'
|
|
4
4
|
require 'facturapi_ruby/files'
|
5
5
|
require 'facturapi_ruby/invoices'
|
6
6
|
require 'facturapi_ruby/version'
|
7
|
+
require 'facturapi_ruby/v2/customers'
|
8
|
+
require 'facturapi_ruby/v2/files'
|
9
|
+
require 'facturapi_ruby/v2/invoices'
|
10
|
+
|
7
11
|
|
8
12
|
module FacturapiRuby
|
9
13
|
class << self
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: facturapi_ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Diego Llamas Velasco
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-04-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -78,12 +78,15 @@ files:
|
|
78
78
|
- lib/facturapi_ruby/files.rb
|
79
79
|
- lib/facturapi_ruby/http_client.rb
|
80
80
|
- lib/facturapi_ruby/invoices.rb
|
81
|
+
- lib/facturapi_ruby/v2/customers.rb
|
82
|
+
- lib/facturapi_ruby/v2/files.rb
|
83
|
+
- lib/facturapi_ruby/v2/invoices.rb
|
81
84
|
- lib/facturapi_ruby/version.rb
|
82
85
|
homepage: https://github.com/diegollams/facturapi_ruby
|
83
86
|
licenses:
|
84
87
|
- MIT
|
85
88
|
metadata: {}
|
86
|
-
post_install_message:
|
89
|
+
post_install_message:
|
87
90
|
rdoc_options: []
|
88
91
|
require_paths:
|
89
92
|
- lib
|
@@ -98,9 +101,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
98
101
|
- !ruby/object:Gem::Version
|
99
102
|
version: '0'
|
100
103
|
requirements: []
|
101
|
-
|
102
|
-
|
103
|
-
signing_key:
|
104
|
+
rubygems_version: 3.1.2
|
105
|
+
signing_key:
|
104
106
|
specification_version: 4
|
105
107
|
summary: Crea Facturas Electrónicas válidas lo más fácil posible (CFDI) https://facturapi.io
|
106
108
|
test_files: []
|