verifactu-rails 0.1.0.pre

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.
Files changed (42) hide show
  1. checksums.yaml +7 -0
  2. data/COMPLIANCE.md +149 -0
  3. data/LICENSE +21 -0
  4. data/README.md +404 -0
  5. data/doc/FUENTES.md +505 -0
  6. data/lib/generators/verifactu/install/install_generator.rb +61 -0
  7. data/lib/generators/verifactu/install/templates/instalar_verifactu.rb.tt +19 -0
  8. data/lib/generators/verifactu/install/templates/verifactu.rb.tt +64 -0
  9. data/lib/verifactu-rails.rb +31 -0
  10. data/lib/verifactu_rails/certificado.rb +122 -0
  11. data/lib/verifactu_rails/consulta.rb +279 -0
  12. data/lib/verifactu_rails/desglose.rb +396 -0
  13. data/lib/verifactu_rails/envio.rb +153 -0
  14. data/lib/verifactu_rails/error.rb +31 -0
  15. data/lib/verifactu_rails/formato.rb +199 -0
  16. data/lib/verifactu_rails/huella.rb +130 -0
  17. data/lib/verifactu_rails/importe.rb +80 -0
  18. data/lib/verifactu_rails/libro/autochequeo.rb +67 -0
  19. data/lib/verifactu_rails/libro/cadena.rb +110 -0
  20. data/lib/verifactu_rails/libro/migracion.rb +92 -0
  21. data/lib/verifactu_rails/libro/reconciliacion.rb +224 -0
  22. data/lib/verifactu_rails/libro/registro.rb +74 -0
  23. data/lib/verifactu_rails/libro/remesa.rb +120 -0
  24. data/lib/verifactu_rails/libro.rb +89 -0
  25. data/lib/verifactu_rails/qr.rb +56 -0
  26. data/lib/verifactu_rails/railtie.rb +30 -0
  27. data/lib/verifactu_rails/registro.rb +833 -0
  28. data/lib/verifactu_rails/respuesta.rb +154 -0
  29. data/lib/verifactu_rails/schemas/ConsultaLR.xsd +54 -0
  30. data/lib/verifactu_rails/schemas/EventosSIF.xsd +823 -0
  31. data/lib/verifactu_rails/schemas/PROCEDENCIA.md +64 -0
  32. data/lib/verifactu_rails/schemas/RespuestaConsultaLR.xsd +201 -0
  33. data/lib/verifactu_rails/schemas/RespuestaSuministro.xsd +139 -0
  34. data/lib/verifactu_rails/schemas/RespuestaValRegistNoVeriFactu.xsd +103 -0
  35. data/lib/verifactu_rails/schemas/SuministroInformacion.xsd +1390 -0
  36. data/lib/verifactu_rails/schemas/SuministroLR.xsd +25 -0
  37. data/lib/verifactu_rails/schemas/catalog.xml +5 -0
  38. data/lib/verifactu_rails/schemas/xmldsig-core-schema.xsd +318 -0
  39. data/lib/verifactu_rails/sistema_informatico.rb +88 -0
  40. data/lib/verifactu_rails/transporte.rb +127 -0
  41. data/lib/verifactu_rails/version.rb +5 -0
  42. metadata +124 -0
@@ -0,0 +1,64 @@
1
+ # Procedencia de los esquemas
2
+
3
+ Estos ficheros son **el contrato con la AEAT**. Se versionan tal cual se sirven,
4
+ byte a byte, para que un `git diff` muestre exactamente qué cambia cuando la AEAT
5
+ los toca. **No editarlos nunca**, ni siquiera para arreglar rutas: ver más abajo
6
+ cómo se resuelve la dependencia remota sin tocarlos.
7
+
8
+ Descargados el **6 de agosto de 2026** de:
9
+
10
+ ```
11
+ https://prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/
12
+ ```
13
+
14
+ ## Ficheros de la AEAT
15
+
16
+ | Fichero | En alcance | SHA-256 |
17
+ |---|---|---|
18
+ | `SuministroInformacion.xsd` | sí — núcleo, define `RegistroAlta`/`RegistroAnulacion` | `ee4c1655175644de…` |
19
+ | `SuministroLR.xsd` | sí — envoltorio de envío, `RegFactuSistemaFacturacion` | `cbdac8d427cc5ab5…` |
20
+ | `RespuestaSuministro.xsd` | sí — respuesta al envío | `82acf80f785643ca…` |
21
+ | `ConsultaLR.xsd` | sí — consulta de registros remitidos | `bf2cdb8fc4b95b29…` |
22
+ | `RespuestaConsultaLR.xsd` | sí — respuesta a la consulta | `de35063acb8d9ba0…` |
23
+ | `EventosSIF.xsd` | **no** — registro de eventos, solo NO VERI\*FACTU | `cc7347c6a9a57a0c…` |
24
+ | `RespuestaValRegistNoVeriFactu.xsd` | **no** — validación NO VERI\*FACTU | `8f47af4f3c49d29b…` |
25
+
26
+ Los dos fuera de alcance se conservan como referencia del contrato completo; no se
27
+ compilan en los tests.
28
+
29
+ ## Ficheros que NO son de la AEAT
30
+
31
+ - `xmldsig-core-schema.xsd` — del W3C (`http://www.w3.org/TR/xmldsig-core/`),
32
+ SHA-256 `d102ad3df7664c30…`
33
+ - `catalog.xml` — nuestro, no viene de ninguna fuente externa
34
+
35
+ ## Por qué hace falta el catálogo
36
+
37
+ `SuministroInformacion.xsd` importa el esquema de firma del W3C **por URL remota**:
38
+
39
+ ```xml
40
+ <import namespace="http://www.w3.org/2000/09/xmldsig#"
41
+ schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
42
+ ```
43
+
44
+ libxml2 bloquea por defecto la carga de entidades de red (y hace bien), así que sin
45
+ más el esquema no compila: `Attempt to load network entity`.
46
+
47
+ La salida es un catálogo XML OASIS que redirige esa URL al fichero local, sin tocar
48
+ el XSD de la AEAT. Se activa con la variable de entorno `XML_CATALOG_FILES`, que
49
+ **pone el proceso de tests**, no la librería: una gema no debe escribir en una
50
+ variable de entorno global que el proceso anfitrión también podría estar usando.
51
+
52
+ ```ruby
53
+ ENV['XML_CATALOG_FILES'] = File.expand_path('catalog.xml', __dir__)
54
+ ```
55
+
56
+ Que la firma no se pueda resolver offline es, en la práctica, irrelevante para esta
57
+ gema: en modalidad VERI\*FACTU `ds:Signature` es **opcional** en el esquema y no la
58
+ emitimos. El import hay que resolverlo igualmente solo para que el XSD compile.
59
+
60
+ ## Cómo actualizar
61
+
62
+ Volver a descargar sobre estos mismos ficheros y mirar el `git diff`. Si cambia
63
+ algo, actualizar los SHA-256 de `test/esquemas_test.rb` **en el mismo commit** que
64
+ el cambio del esquema, para que quede constancia de qué se aceptó y cuándo.
@@ -0,0 +1,201 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- editado con XMLSpy v2019 sp1 (x64) (http://www.altova.com) por AEAT (Agencia Estatal de Administracion Tributaria ((AEAT))) -->
3
+ <!-- edited with XMLSpy v2009 sp1 (http://www.altova.com) by PC Corporativo (AGENCIA TRIBUTARIA) -->
4
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:sfLRRC="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/RespuestaConsultaLR.xsd" xmlns:sf="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" targetNamespace="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/RespuestaConsultaLR.xsd" elementFormDefault="qualified">
5
+ <import namespace="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" schemaLocation="SuministroInformacion.xsd"/>
6
+ <!-- edited with XMLSpy v2009 sp1 (http://www.altova.com) by PC Corporativo (AGENCIA TRIBUTARIA) -->
7
+ <element name="RespuestaConsultaFactuSistemaFacturacion" type="sfLRRC:RespuestaConsultaFactuSistemaFacturacionType">
8
+ <annotation>
9
+ <documentation>Servicio de consulta de regIstros de facturacion</documentation>
10
+ </annotation>
11
+ </element>
12
+ <complexType name="RespuestaConsultaFactuSistemaFacturacionType">
13
+ <complexContent>
14
+ <extension base="sfLRRC:RespuestaConsultaType">
15
+ <sequence>
16
+ <element name="RegistroRespuestaConsultaFactuSistemaFacturacion" type="sfLRRC:RegistroRespuestaConsultaRegFacturacionType" minOccurs="0" maxOccurs="10000"/>
17
+ <element name="ClavePaginacion" type="sf:IDFacturaExpedidaBCType" minOccurs="0"/>
18
+ </sequence>
19
+ </extension>
20
+ </complexContent>
21
+ </complexType>
22
+ <complexType name="EstadoRegFactuType">
23
+ <sequence>
24
+ <element name="TimestampUltimaModificacion" type="dateTime"/>
25
+ <element name="EstadoRegistro" type="sfLRRC:EstadoRegistroType">
26
+ <annotation>
27
+ <documentation xml:lang="es">
28
+ Estado del registro almacenado en el sistema. Los estados posibles son: Correcta, AceptadaConErrores y Anulada
29
+ </documentation>
30
+ </annotation>
31
+ </element>
32
+ <element name="CodigoErrorRegistro" type="sfLRRC:ErrorDetalleType" minOccurs="0">
33
+ <annotation>
34
+ <documentation xml:lang="es">
35
+ Código del error de registro, en su caso.
36
+ </documentation>
37
+ </annotation>
38
+ </element>
39
+ <element name="DescripcionErrorRegistro" type="sf:TextMax500Type" minOccurs="0">
40
+ <annotation>
41
+ <documentation xml:lang="es">
42
+ Descripción detallada del error de registro, en su caso.
43
+ </documentation>
44
+ </annotation>
45
+ </element>
46
+ </sequence>
47
+ </complexType>
48
+ <complexType name="RegistroRespuestaConsultaRegFacturacionType">
49
+ <sequence>
50
+ <element name="IDFactura" type="sf:IDFacturaExpedidaType"/>
51
+ <element name="DatosRegistroFacturacion" type="sfLRRC:RespuestaDatosRegistroFacturacionType"/>
52
+ <element name="DatosPresentacion" type="sf:DatosPresentacion2Type" minOccurs="0"/>
53
+ <element name="EstadoRegistro" type="sfLRRC:EstadoRegFactuType"/>
54
+ </sequence>
55
+ </complexType>
56
+ <complexType name="RespuestaConsultaType">
57
+ <sequence>
58
+ <element name="Cabecera" type="sf:CabeceraConsultaSf"/>
59
+ <element name="PeriodoImputacion">
60
+ <complexType>
61
+ <annotation>
62
+ <documentation xml:lang="es"> Período al que corresponden los apuntes. todos los apuntes deben corresponder al mismo período impositivo </documentation>
63
+ </annotation>
64
+ <sequence>
65
+ <element name="Ejercicio" type="sf:YearType"/>
66
+ <element name="Periodo" type="sf:TipoPeriodoType"/>
67
+ </sequence>
68
+ </complexType>
69
+ </element>
70
+ <element name="IndicadorPaginacion" type="sfLRRC:IndicadorPaginacionType"/>
71
+ <element name="ResultadoConsulta" type="sfLRRC:ResultadoConsultaType"/>
72
+ </sequence>
73
+ </complexType>
74
+ <!-- Datos del registro de facturacion -->
75
+ <complexType name="RespuestaDatosRegistroFacturacionType">
76
+ <annotation>
77
+ <documentation xml:lang="es"> Apunte correspondiente al libro de facturas expedidas. </documentation>
78
+ </annotation>
79
+ <sequence>
80
+ <element name="NombreRazonEmisor" type="sf:TextMax120Type" minOccurs="0">
81
+ <annotation>
82
+ <documentation xml:lang="es"> Solo se informa el campo NombreRazonEmisor si se realiza la consulta con valor S en el campo MostrarNombreRazonEmisor </documentation>
83
+ </annotation>
84
+ </element>
85
+ <element name="RefExterna" type="sf:TextMax60Type" minOccurs="0"/>
86
+ <element name="Subsanacion" type="sf:SubsanacionType" minOccurs="0"/>
87
+ <element name="RechazoPrevio" type="sf:RechazoPrevioType" minOccurs="0"/>
88
+ <element name="SinRegistroPrevio" type="sf:SinRegistroPrevioType" minOccurs="0"/>
89
+ <element name="GeneradoPor" type="sf:GeneradoPorType" minOccurs="0"/>
90
+ <element name="Generador" type="sf:PersonaFisicaJuridicaType" minOccurs="0"/>
91
+ <element name="TipoFactura" type="sf:ClaveTipoFacturaType" minOccurs="0">
92
+ <annotation>
93
+ <documentation xml:lang="es"> Clave del tipo de factura </documentation>
94
+ </annotation>
95
+ </element>
96
+ <element name="TipoRectificativa" type="sf:ClaveTipoRectificativaType" minOccurs="0">
97
+ <annotation>
98
+ <documentation xml:lang="es"> Identifica si el tipo de factura rectificativa es por sustitución o por diferencia </documentation>
99
+ </annotation>
100
+ </element>
101
+ <element name="FacturasRectificadas" minOccurs="0">
102
+ <complexType>
103
+ <annotation>
104
+ <documentation xml:lang="es">El ID de las facturas rectificadas, únicamente se rellena en el caso de rectificación de facturas</documentation>
105
+ </annotation>
106
+ <sequence>
107
+ <element name="IDFacturaRectificada" type="sf:IDFacturaARType" maxOccurs="1000"/>
108
+ </sequence>
109
+ </complexType>
110
+ </element>
111
+ <element name="FacturasSustituidas" minOccurs="0">
112
+ <complexType>
113
+ <annotation>
114
+ <documentation xml:lang="es">El ID de las facturas sustituidas, únicamente se rellena en el caso de facturas sustituidas</documentation>
115
+ </annotation>
116
+ <sequence>
117
+ <element name="IDFacturaSustituida" type="sf:IDFacturaARType" maxOccurs="1000"/>
118
+ </sequence>
119
+ </complexType>
120
+ </element>
121
+ <element name="ImporteRectificacion" type="sf:DesgloseRectificacionType" minOccurs="0"/>
122
+ <element name="FechaOperacion" type="sf:fecha" minOccurs="0"/>
123
+ <element name="DescripcionOperacion" type="sf:TextMax500Type" minOccurs="0"/>
124
+ <element name="FacturaSimplificadaArt7273" type="sf:SimplificadaCualificadaType" minOccurs="0"/>
125
+ <element name="FacturaSinIdentifDestinatarioArt61d" type="sf:CompletaSinDestinatarioType" minOccurs="0"/>
126
+ <element name="Macrodato" type="sf:MacrodatoType" minOccurs="0"/>
127
+ <element name="EmitidaPorTerceroODestinatario" type="sf:TercerosODestinatarioType" minOccurs="0"/>
128
+ <element name="Tercero" type="sf:PersonaFisicaJuridicaType" minOccurs="0">
129
+ <annotation>
130
+ <documentation xml:lang="es"> Tercero que expida la factura y/o genera el registro de alta. </documentation>
131
+ </annotation>
132
+ </element>
133
+ <element name="Destinatarios" minOccurs="0">
134
+ <complexType>
135
+ <annotation>
136
+ <documentation xml:lang="es">Contraparte de la operación. Cliente</documentation>
137
+ </annotation>
138
+ <sequence>
139
+ <element name="IDDestinatario" type="sf:PersonaFisicaJuridicaType" maxOccurs="1000"/>
140
+ </sequence>
141
+ </complexType>
142
+ </element>
143
+ <element name="Cupon" type="sf:CuponType" minOccurs="0"/>
144
+ <element name="Desglose" type="sf:DesgloseType" minOccurs="0"/>
145
+ <element name="CuotaTotal" type="sf:ImporteSgn12.2Type" minOccurs="0"/>
146
+ <element name="ImporteTotal" type="sf:ImporteSgn12.2Type" minOccurs="0"/>
147
+ <element name="Encadenamiento" minOccurs="0">
148
+ <complexType>
149
+ <choice>
150
+ <element name="PrimerRegistro" type="sf:PrimerRegistroCadenaType"/>
151
+ <element name="RegistroAnterior" type="sf:EncadenamientoFacturaAnteriorType"/>
152
+ </choice>
153
+ </complexType>
154
+ </element>
155
+ <element name="SistemaInformatico" type="sf:SistemaInformaticoType" minOccurs="0"/>
156
+ <element name="FechaHoraHusoGenRegistro" type="dateTime" minOccurs="0"/>
157
+ <element name="NumRegistroAcuerdoFacturacion" type="sf:TextMax15Type" minOccurs="0"/>
158
+ <element name="IdAcuerdoSistemaInformatico" type="sf:TextMax16Type" minOccurs="0"/>
159
+ <element name="TipoHuella" type="sf:TipoHuellaType" minOccurs="0"/>
160
+ <element name="Huella" type="sf:TextMax64Type" minOccurs="0"/>
161
+ <element name="NifRepresentante" type="sf:NIFType" minOccurs="0"/>
162
+ <element name="FechaFinVeriFactu" type="sf:fecha" minOccurs="0"/>
163
+ <element name="Incidencia" type="sf:IncidenciaType" minOccurs="0"/>
164
+ </sequence>
165
+ </complexType>
166
+ <simpleType name="IndicadorPaginacionType">
167
+ <restriction base="string">
168
+ <enumeration value="S"/>
169
+ <enumeration value="N"/>
170
+ </restriction>
171
+ </simpleType>
172
+ <simpleType name="ResultadoConsultaType">
173
+ <restriction base="string">
174
+ <enumeration value="ConDatos"/>
175
+ <enumeration value="SinDatos"/>
176
+ </restriction>
177
+ </simpleType>
178
+ <simpleType name="ErrorDetalleType">
179
+ <restriction base="integer"/>
180
+ </simpleType>
181
+ <!-- Estado del registro almacenado en el sistema -->
182
+ <simpleType name="EstadoRegistroType">
183
+ <restriction base="string">
184
+ <enumeration value="Correcto">
185
+ <annotation>
186
+ <documentation xml:lang="es">El registro se almacenado sin errores</documentation>
187
+ </annotation>
188
+ </enumeration>
189
+ <enumeration value="AceptadoConErrores">
190
+ <annotation>
191
+ <documentation xml:lang="es">El registro se almacenado tiene algunos errores. Ver detalle del error</documentation>
192
+ </annotation>
193
+ </enumeration>
194
+ <enumeration value="Anulado">
195
+ <annotation>
196
+ <documentation xml:lang="es">El registro almacenado ha sido anulado</documentation>
197
+ </annotation>
198
+ </enumeration>
199
+ </restriction>
200
+ </simpleType>
201
+ </schema>
@@ -0,0 +1,139 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- editado con XMLSpy v2019 sp1 (x64) (http://www.altova.com) por Puesto de Trabajo (Agencia Estatal de Administracion Tributaria ((AEAT))) -->
3
+ <!-- edited with XMLSpy v2009 sp1 (http://www.altova.com) by PC Corporativo (AGENCIA TRIBUTARIA) -->
4
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:sfR="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/RespuestaSuministro.xsd" xmlns:sf="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" xmlns:sfLR="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" targetNamespace="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/RespuestaSuministro.xsd" elementFormDefault="qualified">
5
+ <import namespace="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" schemaLocation="SuministroInformacion.xsd"/>
6
+ <import namespace="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" schemaLocation="SuministroLR.xsd"/>
7
+ <element name="RespuestaRegFactuSistemaFacturacion" type="sfR:RespuestaRegFactuSistemaFacturacionType"/>
8
+ <complexType name="RespuestaBaseType">
9
+ <sequence>
10
+ <element name="CSV" type="string" minOccurs="0">
11
+ <annotation>
12
+ <documentation xml:lang="es"> CSV asociado al envío generado por AEAT. Solo se genera si no hay rechazo del envio</documentation>
13
+ </annotation>
14
+ </element>
15
+ <element name="DatosPresentacion" type="sf:DatosPresentacionType" minOccurs="0">
16
+ <annotation>
17
+ <documentation xml:lang="es"> Se devuelven datos de la presentacion realizada. Solo se genera si no hay rechazo del envio </documentation>
18
+ </annotation>
19
+ </element>
20
+ <element name="Cabecera" type="sf:CabeceraType">
21
+ <annotation>
22
+ <documentation xml:lang="es"> Se devuelve la cabecera que se incluyó en el envío. </documentation>
23
+ </annotation>
24
+ </element>
25
+ <element name="TiempoEsperaEnvio" type="sf:Tipo6Type"/>
26
+ <element name="EstadoEnvio" type="sfR:EstadoEnvioType">
27
+ <annotation>
28
+ <documentation xml:lang="es">
29
+ Estado del envío en conjunto.
30
+ Si los datos de cabecera y todos los registros son correctos,el estado es correcto.
31
+ En caso de estructura y cabecera correctos donde todos los registros son incorrectos, el estado es incorrecto
32
+ En caso de estructura y cabecera correctos con al menos un registro incorrecto, el estado global es parcialmente correcto.
33
+ </documentation>
34
+ </annotation>
35
+ </element>
36
+ </sequence>
37
+ </complexType>
38
+ <complexType name="RespuestaRegFactuSistemaFacturacionType">
39
+ <annotation>
40
+ <documentation xml:lang="es"> Respuesta a un envío de registro de facturacion</documentation>
41
+ </annotation>
42
+ <complexContent>
43
+ <extension base="sfR:RespuestaBaseType">
44
+ <sequence>
45
+ <element name="RespuestaLinea" type="sfR:RespuestaExpedidaType" minOccurs="0" maxOccurs="1000">
46
+ <annotation>
47
+ <documentation xml:lang="es">
48
+ Estado detallado de cada línea del suministro.
49
+ </documentation>
50
+ </annotation>
51
+ </element>
52
+ </sequence>
53
+ </extension>
54
+ </complexContent>
55
+ </complexType>
56
+ <complexType name="RespuestaExpedidaType">
57
+ <annotation>
58
+ <documentation xml:lang="es"> Respuesta a un envío </documentation>
59
+ </annotation>
60
+ <sequence>
61
+ <element name="IDFactura" type="sf:IDFacturaExpedidaType">
62
+ <annotation>
63
+ <documentation xml:lang="es"> ID Factura Expedida </documentation>
64
+ </annotation>
65
+ </element>
66
+ <element name="Operacion" type="sf:OperacionType"/>
67
+ <element name="RefExterna" type="sf:TextMax60Type" minOccurs="0"/>
68
+ <element name="EstadoRegistro" type="sfR:EstadoRegistroType">
69
+ <annotation>
70
+ <documentation xml:lang="es">
71
+ Estado del registro. Correcto o Incorrecto
72
+ </documentation>
73
+ </annotation>
74
+ </element>
75
+ <element name="CodigoErrorRegistro" type="sfR:ErrorDetalleType" minOccurs="0">
76
+ <annotation>
77
+ <documentation xml:lang="es">
78
+ Código del error de registro, en su caso.
79
+ </documentation>
80
+ </annotation>
81
+ </element>
82
+ <element name="DescripcionErrorRegistro" type="sf:TextMax1500Type" minOccurs="0">
83
+ <annotation>
84
+ <documentation xml:lang="es">
85
+ Descripción detallada del error de registro, en su caso.
86
+ </documentation>
87
+ </annotation>
88
+ </element>
89
+ <element name="RegistroDuplicado" type="sf:RegistroDuplicadoType" minOccurs="0">
90
+ <annotation>
91
+ <documentation xml:lang="es">
92
+ Solo en el caso de que se rechace el registro por duplicado se devuelve este nodo con la informacion registrada en el sistema para este registro
93
+ </documentation>
94
+ </annotation>
95
+ </element>
96
+ </sequence>
97
+ </complexType>
98
+ <simpleType name="EstadoEnvioType">
99
+ <restriction base="string">
100
+ <enumeration value="Correcto">
101
+ <annotation>
102
+ <documentation xml:lang="es">Correcto</documentation>
103
+ </annotation>
104
+ </enumeration>
105
+ <enumeration value="ParcialmenteCorrecto">
106
+ <annotation>
107
+ <documentation xml:lang="es">Parcialmente correcto. Ver detalle de errores</documentation>
108
+ </annotation>
109
+ </enumeration>
110
+ <enumeration value="Incorrecto">
111
+ <annotation>
112
+ <documentation xml:lang="es">Incorrecto</documentation>
113
+ </annotation>
114
+ </enumeration>
115
+ </restriction>
116
+ </simpleType>
117
+ <simpleType name="EstadoRegistroType">
118
+ <restriction base="string">
119
+ <enumeration value="Correcto">
120
+ <annotation>
121
+ <documentation xml:lang="es">Correcto</documentation>
122
+ </annotation>
123
+ </enumeration>
124
+ <enumeration value="AceptadoConErrores">
125
+ <annotation>
126
+ <documentation xml:lang="es">Aceptado con Errores. Ver detalle del error</documentation>
127
+ </annotation>
128
+ </enumeration>
129
+ <enumeration value="Incorrecto">
130
+ <annotation>
131
+ <documentation xml:lang="es">Incorrecto</documentation>
132
+ </annotation>
133
+ </enumeration>
134
+ </restriction>
135
+ </simpleType>
136
+ <simpleType name="ErrorDetalleType">
137
+ <restriction base="integer"/>
138
+ </simpleType>
139
+ </schema>
@@ -0,0 +1,103 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- editado con XMLSpy v2019 sp1 (x64) (http://www.altova.com) por Puesto de Trabajo (Agencia Estatal de Administracion Tributaria ((AEAT))) -->
3
+ <!-- edited with XMLSpy v2009 sp1 (http://www.altova.com) by PC Corporativo (AGENCIA TRIBUTARIA) -->
4
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:sfR="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/RespuestaValRegistNoVeriFactu.xsd" xmlns:sf="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" targetNamespace="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/RespuestaValRegistNoVeriFactu.xsd" elementFormDefault="qualified">
5
+ <import namespace="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" schemaLocation="SuministroInformacion.xsd"/>
6
+ <element name="RespuestaValContenidoFactuSistemaFacturacion" type="sfR:RespuestaValContenidoFactuSistemaFacturacionType"/>
7
+ <complexType name="RespuestaValContenidoFactuSistemaFacturacionType">
8
+ <sequence>
9
+ <choice>
10
+ <element name="DescripcionErrorFormatoXML" type="sf:TextMax1500Type">
11
+ <annotation>
12
+ <documentation xml:lang="es">
13
+ Error a nivel de formato XML
14
+ </documentation>
15
+ </annotation>
16
+ </element>
17
+ <element name="RespuestaValidacion" type="sfR:RespuestaRegType">
18
+ <annotation>
19
+ <documentation xml:lang="es">
20
+ Resultado de la validación si el formato del XML es correcto
21
+ </documentation>
22
+ </annotation>
23
+ </element>
24
+ </choice>
25
+ </sequence>
26
+ </complexType>
27
+ <complexType name="RespuestaRegType">
28
+ <annotation>
29
+ <documentation xml:lang="es"> Respuesta a un envío </documentation>
30
+ </annotation>
31
+ <sequence>
32
+ <element name="IDFactura" type="sf:IDFacturaExpedidaType">
33
+ <annotation>
34
+ <documentation xml:lang="es"> ID Factura Expedida </documentation>
35
+ </annotation>
36
+ </element>
37
+ <element name="Operacion" type="sf:OperacionType"/>
38
+ <element name="RefExterna" type="sf:TextMax60Type" minOccurs="0"/>
39
+ <element name="EstadoRegistro" type="sfR:EstadoRegistroType">
40
+ <annotation>
41
+ <documentation xml:lang="es">
42
+ Estado del registro. Correcto o Incorrecto
43
+ </documentation>
44
+ </annotation>
45
+ </element>
46
+ <element name="CodigoErrorRegistro" type="sfR:ErrorDetalleType" minOccurs="0">
47
+ <annotation>
48
+ <documentation xml:lang="es">
49
+ Código del error de registro, en su caso.
50
+ </documentation>
51
+ </annotation>
52
+ </element>
53
+ <element name="DescripcionErrorRegistro" type="sf:TextMax1500Type" minOccurs="0">
54
+ <annotation>
55
+ <documentation xml:lang="es">
56
+ Descripción detallada del error de registro, en su caso.
57
+ </documentation>
58
+ </annotation>
59
+ </element>
60
+ </sequence>
61
+ </complexType>
62
+ <simpleType name="EstadoEnvioType">
63
+ <restriction base="string">
64
+ <enumeration value="Correcto">
65
+ <annotation>
66
+ <documentation xml:lang="es">Correcto</documentation>
67
+ </annotation>
68
+ </enumeration>
69
+ <enumeration value="ParcialmenteCorrecto">
70
+ <annotation>
71
+ <documentation xml:lang="es">Parcialmente correcto. Ver detalle de errores</documentation>
72
+ </annotation>
73
+ </enumeration>
74
+ <enumeration value="Incorrecto">
75
+ <annotation>
76
+ <documentation xml:lang="es">Incorrecto</documentation>
77
+ </annotation>
78
+ </enumeration>
79
+ </restriction>
80
+ </simpleType>
81
+ <simpleType name="EstadoRegistroType">
82
+ <restriction base="string">
83
+ <enumeration value="Correcto">
84
+ <annotation>
85
+ <documentation xml:lang="es">Correcto</documentation>
86
+ </annotation>
87
+ </enumeration>
88
+ <enumeration value="AceptadoConErrores">
89
+ <annotation>
90
+ <documentation xml:lang="es">Aceptado con Errores. Ver detalle del error</documentation>
91
+ </annotation>
92
+ </enumeration>
93
+ <enumeration value="Incorrecto">
94
+ <annotation>
95
+ <documentation xml:lang="es">Incorrecto</documentation>
96
+ </annotation>
97
+ </enumeration>
98
+ </restriction>
99
+ </simpleType>
100
+ <simpleType name="ErrorDetalleType">
101
+ <restriction base="integer"/>
102
+ </simpleType>
103
+ </schema>