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,823 @@
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:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:sf="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/EventosSIF.xsd" targetNamespace="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/EventosSIF.xsd" elementFormDefault="qualified">
5
+ <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
6
+ <element name="RegistroEvento">
7
+ <complexType>
8
+ <sequence>
9
+ <element name="IDVersion" type="sf:VersionType"/>
10
+ <element name="Evento" type="sf:EventoType"/>
11
+ </sequence>
12
+ </complexType>
13
+ </element>
14
+ <complexType name="EventoType">
15
+ <sequence>
16
+ <element name="SistemaInformatico" type="sf:SistemaInformaticoType"/>
17
+ <element name="ObligadoEmision" type="sf:PersonaFisicaJuridicaESType">
18
+ <annotation>
19
+ <documentation xml:lang="es"> Obligado a expedir la factura. </documentation>
20
+ </annotation>
21
+ </element>
22
+ <element name="EmitidaPorTerceroODestinatario" type="sf:TercerosODestinatarioType" minOccurs="0"/>
23
+ <element name="TerceroODestinatario" type="sf:PersonaFisicaJuridicaType" minOccurs="0"/>
24
+ <element name="FechaHoraHusoGenEvento" type="dateTime">
25
+ <annotation>
26
+ <documentation xml:lang="es">Formato: YYYY-MM-DDThh:mm:ssTZD (ej: 2024-01-01T19:20:30+01:00) (ISO 8601)</documentation>
27
+ </annotation>
28
+ </element>
29
+ <element name="TipoEvento" type="sf:TipoEventoType"/>
30
+ <element name="DatosPropiosEvento" type="sf:DatosPropiosEventoType" minOccurs="0"/>
31
+ <element name="OtrosDatosEvento" type="sf:TextMax100Type" minOccurs="0"/>
32
+ <element name="Encadenamiento" type="sf:EncadenamientoType"/>
33
+ <element name="TipoHuella" type="sf:TipoHuellaType"/>
34
+ <element name="HuellaEvento" type="sf:TextMax64Type"/>
35
+ <element ref="ds:Signature"/>
36
+ </sequence>
37
+ </complexType>
38
+ <complexType name="SistemaInformaticoType">
39
+ <sequence>
40
+ <sequence>
41
+ <element name="NombreRazon" type="sf:TextMax120Type"/>
42
+ <choice>
43
+ <element name="NIF" type="sf:NIFType"/>
44
+ <element name="IDOtro" type="sf:IDOtroType"/>
45
+ </choice>
46
+ </sequence>
47
+ <element name="NombreSistemaInformatico" type="sf:TextMax30Type" minOccurs="0"/>
48
+ <element name="IdSistemaInformatico" type="sf:TextMax2Type"/>
49
+ <element name="Version" type="sf:TextMax50Type"/>
50
+ <element name="NumeroInstalacion" type="sf:TextMax100Type"/>
51
+ <element name="TipoUsoPosibleSoloVerifactu" type="sf:SiNoType" minOccurs="0"/>
52
+ <element name="TipoUsoPosibleMultiOT" type="sf:SiNoType" minOccurs="0"/>
53
+ <element name="IndicadorMultiplesOT" type="sf:SiNoType" minOccurs="0"/>
54
+ </sequence>
55
+ </complexType>
56
+ <complexType name="DatosPropiosEventoType">
57
+ <choice>
58
+ <element name="LanzamientoProcesoDeteccionAnomaliasRegFacturacion" type="sf:LanzamientoProcesoDeteccionAnomaliasRegFacturacionType"/>
59
+ <element name="DeteccionAnomaliasRegFacturacion" type="sf:DeteccionAnomaliasRegFacturacionType"/>
60
+ <element name="LanzamientoProcesoDeteccionAnomaliasRegEvento" type="sf:LanzamientoProcesoDeteccionAnomaliasRegEventoType"/>
61
+ <element name="DeteccionAnomaliasRegEvento" type="sf:DeteccionAnomaliasRegEventoType"/>
62
+ <element name="ExportacionRegFacturacionPeriodo" type="sf:ExportacionRegFacturacionPeriodoType"/>
63
+ <element name="ExportacionRegEventoPeriodo" type="sf:ExportacionRegEventoPeriodoType"/>
64
+ <element name="ResumenEventos" type="sf:ResumenEventosType"/>
65
+ </choice>
66
+ </complexType>
67
+ <complexType name="EncadenamientoType">
68
+ <choice>
69
+ <element name="PrimerEvento" type="sf:TextMax1Type"/>
70
+ <element name="EventoAnterior" type="sf:RegEventoAntType"/>
71
+ </choice>
72
+ </complexType>
73
+ <complexType name="LanzamientoProcesoDeteccionAnomaliasRegFacturacionType">
74
+ <sequence>
75
+ <element name="RealizadoProcesoSobreIntegridadHuellasRegFacturacion" type="sf:SiNoType"/>
76
+ <element name="NumeroDeRegistrosFacturacionProcesadosSobreIntegridadHuellas" type="sf:DigitosMax7Type" minOccurs="0"/>
77
+ <element name="RealizadoProcesoSobreIntegridadFirmasRegFacturacion" type="sf:SiNoType"/>
78
+ <element name="NumeroDeRegistrosFacturacionProcesadosSobreIntegridadFirmas" type="sf:DigitosMax7Type" minOccurs="0"/>
79
+ <element name="RealizadoProcesoSobreTrazabilidadCadenaRegFacturacion" type="sf:SiNoType"/>
80
+ <element name="NumeroDeRegistrosFacturacionProcesadosSobreTrazabilidadCadena" type="sf:DigitosMax7Type" minOccurs="0"/>
81
+ <element name="RealizadoProcesoSobreTrazabilidadFechasRegFacturacion" type="sf:SiNoType"/>
82
+ <element name="NumeroDeRegistrosFacturacionProcesadosSobreTrazabilidadFechas" type="sf:DigitosMax7Type" minOccurs="0"/>
83
+ </sequence>
84
+ </complexType>
85
+ <complexType name="DeteccionAnomaliasRegFacturacionType">
86
+ <sequence>
87
+ <element name="TipoAnomalia" type="sf:TipoAnomaliaType"/>
88
+ <element name="OtrosDatosAnomalia" type="sf:TextMax100Type" minOccurs="0"/>
89
+ <element name="RegistroFacturacionAnomalo" type="sf:IDFacturaExpedidaType" minOccurs="0"/>
90
+ </sequence>
91
+ </complexType>
92
+ <complexType name="LanzamientoProcesoDeteccionAnomaliasRegEventoType">
93
+ <sequence>
94
+ <element name="RealizadoProcesoSobreIntegridadHuellasRegEvento" type="sf:SiNoType"/>
95
+ <element name="NumeroDeRegistrosEventoProcesadosSobreIntegridadHuellas" type="sf:DigitosMax5Type" minOccurs="0"/>
96
+ <element name="RealizadoProcesoSobreIntegridadFirmasRegEvento" type="sf:SiNoType"/>
97
+ <element name="NumeroDeRegistrosEventoProcesadosSobreIntegridadFirmas" type="sf:DigitosMax5Type" minOccurs="0"/>
98
+ <element name="RealizadoProcesoSobreTrazabilidadCadenaRegEvento" type="sf:SiNoType"/>
99
+ <element name="NumeroDeRegistrosEventoProcesadosSobreTrazabilidadCadena" type="sf:DigitosMax5Type" minOccurs="0"/>
100
+ <element name="RealizadoProcesoSobreTrazabilidadFechasRegEvento" type="sf:SiNoType"/>
101
+ <element name="NumeroDeRegistrosEventoProcesadosSobreTrazabilidadFechas" type="sf:DigitosMax5Type" minOccurs="0"/>
102
+ </sequence>
103
+ </complexType>
104
+ <complexType name="DeteccionAnomaliasRegEventoType">
105
+ <sequence>
106
+ <element name="TipoAnomalia" type="sf:TipoAnomaliaType"/>
107
+ <element name="OtrosDatosAnomalia" type="sf:TextMax100Type" minOccurs="0"/>
108
+ <element name="RegEventoAnomalo" type="sf:RegEventoType" minOccurs="0"/>
109
+ </sequence>
110
+ </complexType>
111
+ <complexType name="ExportacionRegFacturacionPeriodoType">
112
+ <sequence>
113
+ <element name="FechaHoraHusoInicioPeriodoExport" type="dateTime">
114
+ <annotation>
115
+ <documentation xml:lang="es">Formato: YYYY-MM-DDThh:mm:ssTZD (ej: 2024-01-01T19:20:30+01:00) (ISO 8601)</documentation>
116
+ </annotation>
117
+ </element>
118
+ <element name="FechaHoraHusoFinPeriodoExport" type="dateTime">
119
+ <annotation>
120
+ <documentation xml:lang="es">Formato: YYYY-MM-DDThh:mm:ssTZD (ej: 2024-01-01T19:20:30+01:00) (ISO 8601)</documentation>
121
+ </annotation>
122
+ </element>
123
+ <element name="RegistroFacturacionInicialPeriodo" type="sf:IDFacturaExpedidaHuellaType"/>
124
+ <element name="RegistroFacturacionFinalPeriodo" type="sf:IDFacturaExpedidaHuellaType"/>
125
+ <element name="NumeroDeRegistrosFacturacionAltaExportados" type="sf:DigitosMax9Type"/>
126
+ <element name="SumaCuotaTotalAlta" type="sf:ImporteSgn12.2Type"/>
127
+ <element name="SumaImporteTotalAlta" type="sf:ImporteSgn12.2Type"/>
128
+ <element name="NumeroDeRegistrosFacturacionAnulacionExportados" type="sf:DigitosMax9Type"/>
129
+ <element name="RegistrosFacturacionExportadosDejanDeConservarse" type="sf:SiNoType"/>
130
+ </sequence>
131
+ </complexType>
132
+ <complexType name="ExportacionRegEventoPeriodoType">
133
+ <sequence>
134
+ <element name="FechaHoraHusoInicioPeriodoExport" type="dateTime">
135
+ <annotation>
136
+ <documentation xml:lang="es">Formato: YYYY-MM-DDThh:mm:ssTZD (ej: 2024-01-01T19:20:30+01:00) (ISO 8601)</documentation>
137
+ </annotation>
138
+ </element>
139
+ <element name="FechaHoraHusoFinPeriodoExport" type="dateTime">
140
+ <annotation>
141
+ <documentation xml:lang="es">Formato: YYYY-MM-DDThh:mm:ssTZD (ej: 2024-01-01T19:20:30+01:00) (ISO 8601)</documentation>
142
+ </annotation>
143
+ </element>
144
+ <element name="RegistroEventoInicialPeriodo" type="sf:RegEventoType"/>
145
+ <element name="RegistroEventoFinalPeriodo" type="sf:RegEventoType"/>
146
+ <element name="NumeroDeRegEventoExportados" type="sf:DigitosMax7Type"/>
147
+ <element name="RegEventoExportadosDejanDeConservarse" type="sf:SiNoType"/>
148
+ </sequence>
149
+ </complexType>
150
+ <complexType name="ResumenEventosType">
151
+ <sequence>
152
+ <element name="TipoEvento" type="sf:TipoEventoAgrType" maxOccurs="20"/>
153
+ <element name="RegistroFacturacionInicialPeriodo" type="sf:IDFacturaExpedidaHuellaType" minOccurs="0"/>
154
+ <element name="RegistroFacturacionFinalPeriodo" type="sf:IDFacturaExpedidaHuellaType" minOccurs="0"/>
155
+ <element name="NumeroDeRegistrosFacturacionAltaGenerados" type="sf:DigitosMax6Type"/>
156
+ <element name="SumaCuotaTotalAlta" type="sf:ImporteSgn12.2Type"/>
157
+ <element name="SumaImporteTotalAlta" type="sf:ImporteSgn12.2Type"/>
158
+ <element name="NumeroDeRegistrosFacturacionAnulacionGenerados" type="sf:DigitosMax6Type"/>
159
+ </sequence>
160
+ </complexType>
161
+ <complexType name="RegEventoType">
162
+ <sequence>
163
+ <element name="TipoEvento" type="sf:TipoEventoType"/>
164
+ <element name="FechaHoraHusoEvento" type="dateTime">
165
+ <annotation>
166
+ <documentation xml:lang="es">Formato: YYYY-MM-DDThh:mm:ssTZD (ej: 2024-01-01T19:20:30+01:00) (ISO 8601)</documentation>
167
+ </annotation>
168
+ </element>
169
+ <element name="HuellaEvento" type="sf:TextMax64Type"/>
170
+ </sequence>
171
+ </complexType>
172
+ <complexType name="RegEventoAntType">
173
+ <sequence>
174
+ <element name="TipoEvento" type="sf:TipoEventoType"/>
175
+ <element name="FechaHoraHusoGenEvento" type="dateTime">
176
+ <annotation>
177
+ <documentation xml:lang="es">Formato: YYYY-MM-DDThh:mm:ssTZD (ej: 2024-01-01T19:20:30+01:00) (ISO 8601)</documentation>
178
+ </annotation>
179
+ </element>
180
+ <element name="HuellaEvento" type="sf:TextMax64Type"/>
181
+ </sequence>
182
+ </complexType>
183
+ <complexType name="TipoEventoAgrType">
184
+ <sequence>
185
+ <element name="TipoEvento" type="sf:TipoEventoType"/>
186
+ <element name="NumeroDeEventos" type="sf:DigitosMax4Type"/>
187
+ </sequence>
188
+ </complexType>
189
+ <!-- Datos de persona Física o jurídica : Denominación, representación, identificación (NIF) -->
190
+ <complexType name="PersonaFisicaJuridicaESType">
191
+ <annotation>
192
+ <documentation xml:lang="es">Datos de una persona física o jurídica Española con un NIF asociado</documentation>
193
+ </annotation>
194
+ <sequence>
195
+ <element name="NombreRazon" type="sf:TextMax120Type"/>
196
+ <element name="NIF" type="sf:NIFType"/>
197
+ </sequence>
198
+ </complexType>
199
+ <simpleType name="NIFType">
200
+ <annotation>
201
+ <documentation xml:lang="es">NIF</documentation>
202
+ </annotation>
203
+ <restriction base="string">
204
+ <length value="9"/>
205
+ </restriction>
206
+ </simpleType>
207
+ <!-- Datos de persona Física o jurídica : Denominación, representación, identificación (NIF/Otro) -->
208
+ <complexType name="PersonaFisicaJuridicaType">
209
+ <annotation>
210
+ <documentation xml:lang="es">Datos de una persona física o jurídica Española o Extranjera</documentation>
211
+ </annotation>
212
+ <sequence>
213
+ <element name="NombreRazon" type="sf:TextMax120Type"/>
214
+ <choice>
215
+ <element name="NIF" type="sf:NIFType"/>
216
+ <element name="IDOtro" type="sf:IDOtroType"/>
217
+ </choice>
218
+ </sequence>
219
+ </complexType>
220
+ <!-- Datos de persona Física o jurídica : Denominación, representación, identificación (NIF/Otro) -->
221
+ <complexType name="IDOtroType">
222
+ <annotation>
223
+ <documentation xml:lang="es">Identificador de persona Física o jurídica distinto del NIF
224
+ (Código pais, Tipo de Identificador, y hasta 15 caractéres)
225
+ No se permite CodigoPais=ES e IDType=01-NIFContraparte
226
+ para ese caso, debe utilizarse NIF en lugar de IDOtro.
227
+ </documentation>
228
+ </annotation>
229
+ <sequence>
230
+ <element name="CodigoPais" type="sf:CountryType2" minOccurs="0"/>
231
+ <element name="IDType" type="sf:PersonaFisicaJuridicaIDTypeType"/>
232
+ <element name="ID" type="sf:TextMax20Type"/>
233
+ </sequence>
234
+ </complexType>
235
+ <!-- Tercero o Destinatario -->
236
+ <simpleType name="TercerosODestinatarioType">
237
+ <restriction base="string">
238
+ <enumeration value="D">
239
+ <annotation>
240
+ <documentation xml:lang="es">Destinatario</documentation>
241
+ </annotation>
242
+ </enumeration>
243
+ <enumeration value="T">
244
+ <annotation>
245
+ <documentation xml:lang="es">Tercero</documentation>
246
+ </annotation>
247
+ </enumeration>
248
+ </restriction>
249
+ </simpleType>
250
+ <simpleType name="SiNoType">
251
+ <restriction base="string">
252
+ <enumeration value="S"/>
253
+ <enumeration value="N"/>
254
+ </restriction>
255
+ </simpleType>
256
+ <simpleType name="VersionType">
257
+ <restriction base="string">
258
+ <enumeration value="1.0"/>
259
+ </restriction>
260
+ </simpleType>
261
+ <!-- Cadena de 120 caracteres -->
262
+ <simpleType name="TextMax120Type">
263
+ <restriction base="string">
264
+ <maxLength value="120"/>
265
+ </restriction>
266
+ </simpleType>
267
+ <!-- Cadena de 100 caracteres -->
268
+ <simpleType name="TextMax100Type">
269
+ <restriction base="string">
270
+ <maxLength value="100"/>
271
+ </restriction>
272
+ </simpleType>
273
+ <!-- Cadena de 64 caracteres -->
274
+ <simpleType name="TextMax64Type">
275
+ <restriction base="string">
276
+ <maxLength value="64"/>
277
+ </restriction>
278
+ </simpleType>
279
+ <!-- Cadena de 60 caracteres -->
280
+ <simpleType name="TextMax60Type">
281
+ <restriction base="string">
282
+ <maxLength value="60"/>
283
+ </restriction>
284
+ </simpleType>
285
+ <!-- Cadena de 50 caracteres -->
286
+ <simpleType name="TextMax50Type">
287
+ <restriction base="string">
288
+ <maxLength value="50"/>
289
+ </restriction>
290
+ </simpleType>
291
+ <!-- Cadena de 30 caracteres -->
292
+ <simpleType name="TextMax30Type">
293
+ <restriction base="string">
294
+ <maxLength value="30"/>
295
+ </restriction>
296
+ </simpleType>
297
+ <!-- Cadena de 20 caracteres -->
298
+ <simpleType name="TextMax20Type">
299
+ <restriction base="string">
300
+ <maxLength value="20"/>
301
+ </restriction>
302
+ </simpleType>
303
+ <!-- Cadena de 2 caracteres -->
304
+ <simpleType name="TextMax2Type">
305
+ <restriction base="string">
306
+ <maxLength value="2"/>
307
+ </restriction>
308
+ </simpleType>
309
+ <!-- Cadena de 1 caracteres -->
310
+ <simpleType name="TextMax1Type">
311
+ <restriction base="string">
312
+ <maxLength value="1"/>
313
+ </restriction>
314
+ </simpleType>
315
+ <!-- Definición de un tipo simple restringido a 9 dígitos -->
316
+ <simpleType name="DigitosMax9Type">
317
+ <restriction base="string">
318
+ <maxLength value="9"/>
319
+ <pattern value="\d{1,9}"/>
320
+ </restriction>
321
+ </simpleType>
322
+ <!-- Definición de un tipo simple restringido a 7 dígitos -->
323
+ <simpleType name="DigitosMax7Type">
324
+ <restriction base="string">
325
+ <maxLength value="7"/>
326
+ <pattern value="\d{1,7}"/>
327
+ </restriction>
328
+ </simpleType>
329
+ <!-- Definición de un tipo simple restringido a 6 dígitos -->
330
+ <simpleType name="DigitosMax6Type">
331
+ <restriction base="string">
332
+ <maxLength value="6"/>
333
+ <pattern value="\d{1,6}"/>
334
+ </restriction>
335
+ </simpleType>
336
+ <!-- Definición de un tipo simple restringido a 5 dígitos -->
337
+ <simpleType name="DigitosMax5Type">
338
+ <restriction base="string">
339
+ <maxLength value="5"/>
340
+ <pattern value="\d{1,5}"/>
341
+ </restriction>
342
+ </simpleType>
343
+ <!-- Definición de un tipo simple restringido a 4 dígitos -->
344
+ <simpleType name="DigitosMax4Type">
345
+ <restriction base="string">
346
+ <maxLength value="4"/>
347
+ <pattern value="\d{1,4}"/>
348
+ </restriction>
349
+ </simpleType>
350
+ <!-- Fecha (dd-mm-yyyy) -->
351
+ <simpleType name="fecha">
352
+ <restriction base="string">
353
+ <length value="10"/>
354
+ <pattern value="\d{2,2}-\d{2,2}-\d{4,4}"/>
355
+ </restriction>
356
+ </simpleType>
357
+ <!-- Importe de 15 dígitos (12+2) "." como separador decimal -->
358
+ <simpleType name="ImporteSgn12.2Type">
359
+ <restriction base="string">
360
+ <pattern value="(\+|-)?\d{1,12}(\.\d{0,2})?"/>
361
+ </restriction>
362
+ </simpleType>
363
+ <!-- Tipo de identificador fiscal de persona Física o jurídica -->
364
+ <simpleType name="PersonaFisicaJuridicaIDTypeType">
365
+ <restriction base="string">
366
+ <enumeration value="02">
367
+ <annotation>
368
+ <documentation xml:lang="es">NIF-IVA</documentation>
369
+ </annotation>
370
+ </enumeration>
371
+ <enumeration value="03">
372
+ <annotation>
373
+ <documentation xml:lang="es">Pasaporte</documentation>
374
+ </annotation>
375
+ </enumeration>
376
+ <enumeration value="04">
377
+ <annotation>
378
+ <documentation xml:lang="es">IDEnPaisResidencia</documentation>
379
+ </annotation>
380
+ </enumeration>
381
+ <enumeration value="05">
382
+ <annotation>
383
+ <documentation xml:lang="es">Certificado Residencia</documentation>
384
+ </annotation>
385
+ </enumeration>
386
+ <enumeration value="06">
387
+ <annotation>
388
+ <documentation xml:lang="es">Otro documento Probatorio</documentation>
389
+ </annotation>
390
+ </enumeration>
391
+ <enumeration value="07">
392
+ <annotation>
393
+ <documentation xml:lang="es">No Censado</documentation>
394
+ </annotation>
395
+ </enumeration>
396
+ </restriction>
397
+ </simpleType>
398
+ <!-- Tipo Hash -->
399
+ <simpleType name="TipoHuellaType">
400
+ <restriction base="string">
401
+ <enumeration value="01">
402
+ <annotation>
403
+ <documentation xml:lang="es">SHA-256</documentation>
404
+ </annotation>
405
+ </enumeration>
406
+ </restriction>
407
+ </simpleType>
408
+ <simpleType name="TipoEventoType">
409
+ <restriction base="string">
410
+ <enumeration value="01">
411
+ <annotation>
412
+ <documentation xml:lang="es">Inicio del funcionamiento del sistema informático como «NO VERI*FACTU».</documentation>
413
+ </annotation>
414
+ </enumeration>
415
+ <enumeration value="02">
416
+ <annotation>
417
+ <documentation xml:lang="es">Fin del funcionamiento del sistema informático como «NO VERI*FACTU».</documentation>
418
+ </annotation>
419
+ </enumeration>
420
+ <enumeration value="03">
421
+ <annotation>
422
+ <documentation xml:lang="es">Lanzamiento del proceso de detección de anomalías en los registros de facturación.</documentation>
423
+ </annotation>
424
+ </enumeration>
425
+ <enumeration value="04">
426
+ <annotation>
427
+ <documentation xml:lang="es">Detección de anomalías en la integridad, inalterabilidad y trazabilidad de registros de facturación.</documentation>
428
+ </annotation>
429
+ </enumeration>
430
+ <enumeration value="05">
431
+ <annotation>
432
+ <documentation xml:lang="es">Lanzamiento del proceso de detección de anomalías en los registros de evento.</documentation>
433
+ </annotation>
434
+ </enumeration>
435
+ <enumeration value="06">
436
+ <annotation>
437
+ <documentation xml:lang="es">Detección de anomalías en la integridad, inalterabilidad y trazabilidad de registros de evento.</documentation>
438
+ </annotation>
439
+ </enumeration>
440
+ <enumeration value="07">
441
+ <annotation>
442
+ <documentation xml:lang="es">Restauración de copia de seguridad, cuando ésta se gestione desde el propio sistema informático de facturación.</documentation>
443
+ </annotation>
444
+ </enumeration>
445
+ <enumeration value="08">
446
+ <annotation>
447
+ <documentation xml:lang="es">Exportación de registros de facturación generados en un periodo.</documentation>
448
+ </annotation>
449
+ </enumeration>
450
+ <enumeration value="09">
451
+ <annotation>
452
+ <documentation xml:lang="es">Exportación de registros de evento generados en un periodo.</documentation>
453
+ </annotation>
454
+ </enumeration>
455
+ <enumeration value="10">
456
+ <annotation>
457
+ <documentation xml:lang="es">Registro resumen de eventos</documentation>
458
+ </annotation>
459
+ </enumeration>
460
+ <enumeration value="90">
461
+ <annotation>
462
+ <documentation xml:lang="es">Otros tipos de eventos a registrar voluntariamente por la persona o entidad productora del sistema informático.
463
+ </documentation>
464
+ </annotation>
465
+ </enumeration>
466
+ </restriction>
467
+ </simpleType>
468
+ <simpleType name="TipoAnomaliaType">
469
+ <restriction base="string">
470
+ <enumeration value="01">
471
+ <annotation>
472
+ <documentation xml:lang="es">Integridad-huella</documentation>
473
+ </annotation>
474
+ </enumeration>
475
+ <enumeration value="02">
476
+ <annotation>
477
+ <documentation xml:lang="es">Integridad-firma</documentation>
478
+ </annotation>
479
+ </enumeration>
480
+ <enumeration value="03">
481
+ <annotation>
482
+ <documentation xml:lang="es">Integridad - Otros</documentation>
483
+ </annotation>
484
+ </enumeration>
485
+ <enumeration value="04">
486
+ <annotation>
487
+ <documentation xml:lang="es">Trazabilidad-cadena-registro - Reg. no primero pero con reg. anterior no anotado o inexistente</documentation>
488
+ </annotation>
489
+ </enumeration>
490
+ <enumeration value="05">
491
+ <annotation>
492
+ <documentation xml:lang="es">Trazabilidad-cadena-registro - Reg. no último pero con reg. posterior no anotado o inexistente</documentation>
493
+ </annotation>
494
+ </enumeration>
495
+ <enumeration value="06">
496
+ <annotation>
497
+ <documentation xml:lang="es">Trazabilidad-cadena-registro - Otros</documentation>
498
+ </annotation>
499
+ </enumeration>
500
+ <enumeration value="07">
501
+ <annotation>
502
+ <documentation xml:lang="es">Trazabilidad-cadena-huella - Huella del reg. no se corresponde con la 'huella del reg. anterior' almacenada en el registro posterior</documentation>
503
+ </annotation>
504
+ </enumeration>
505
+ <enumeration value="08">
506
+ <annotation>
507
+ <documentation xml:lang="es">Trazabilidad-cadena-huella - Campo 'huella del reg. anterior' no se corresponde con la huella del reg. anterior</documentation>
508
+ </annotation>
509
+ </enumeration>
510
+ <enumeration value="09">
511
+ <annotation>
512
+ <documentation xml:lang="es">Trazabilidad-cadena-huella - Otros</documentation>
513
+ </annotation>
514
+ </enumeration>
515
+ <enumeration value="10">
516
+ <annotation>
517
+ <documentation xml:lang="es">Trazabilidad-cadena - Otros</documentation>
518
+ </annotation>
519
+ </enumeration>
520
+ <enumeration value="11">
521
+ <annotation>
522
+ <documentation xml:lang="es">Trazabilidad-fechas - Fecha-hora anterior a la fecha del reg. anterior</documentation>
523
+ </annotation>
524
+ </enumeration>
525
+ <enumeration value="12">
526
+ <annotation>
527
+ <documentation xml:lang="es">Trazabilidad-fechas - Fecha-hora posterior a la fecha del reg. posterior</documentation>
528
+ </annotation>
529
+ </enumeration>
530
+ <enumeration value="13">
531
+ <annotation>
532
+ <documentation xml:lang="es">Trazabilidad-fechas - Reg. con fecha-hora de generación posterior a la fecha-hora actual del sistema</documentation>
533
+ </annotation>
534
+ </enumeration>
535
+ <enumeration value="14">
536
+ <annotation>
537
+ <documentation xml:lang="es">Trazabilidad-fechas - Otros</documentation>
538
+ </annotation>
539
+ </enumeration>
540
+ <enumeration value="15">
541
+ <annotation>
542
+ <documentation xml:lang="es">Trazabilidad - Otros</documentation>
543
+ </annotation>
544
+ </enumeration>
545
+ <enumeration value="90">
546
+ <annotation>
547
+ <documentation xml:lang="es">Otros</documentation>
548
+ </annotation>
549
+ </enumeration>
550
+ </restriction>
551
+ </simpleType>
552
+ <complexType name="IDFacturaExpedidaType">
553
+ <annotation>
554
+ <documentation xml:lang="es"> Datos de identificación de factura expedida para operaciones de consulta</documentation>
555
+ </annotation>
556
+ <sequence>
557
+ <element name="IDEmisorFactura" type="sf:NIFType"/>
558
+ <element name="NumSerieFactura" type="sf:TextMax60Type"/>
559
+ <element name="FechaExpedicionFactura" type="sf:fecha"/>
560
+ </sequence>
561
+ </complexType>
562
+ <complexType name="IDFacturaExpedidaHuellaType">
563
+ <annotation>
564
+ <documentation xml:lang="es">Datos de encadenamiento </documentation>
565
+ </annotation>
566
+ <sequence>
567
+ <element name="IDEmisorFactura" type="sf:NIFType"/>
568
+ <element name="NumSerieFactura" type="sf:TextMax60Type"/>
569
+ <element name="FechaExpedicionFactura" type="sf:fecha"/>
570
+ <element name="Huella" type="sf:TextMax64Type"/>
571
+ </sequence>
572
+ </complexType>
573
+ <!-- ISO 3166-1 alpha-2 codes -->
574
+ <simpleType name="CountryType2">
575
+ <restriction base="string">
576
+ <enumeration value="AF"/>
577
+ <enumeration value="AL"/>
578
+ <enumeration value="DE"/>
579
+ <enumeration value="AD"/>
580
+ <enumeration value="AO"/>
581
+ <enumeration value="AI"/>
582
+ <enumeration value="AQ"/>
583
+ <enumeration value="AG"/>
584
+ <enumeration value="SA"/>
585
+ <enumeration value="DZ"/>
586
+ <enumeration value="AR"/>
587
+ <enumeration value="AM"/>
588
+ <enumeration value="AW"/>
589
+ <enumeration value="AU"/>
590
+ <enumeration value="AT"/>
591
+ <enumeration value="AZ"/>
592
+ <enumeration value="BS"/>
593
+ <enumeration value="BH"/>
594
+ <enumeration value="BD"/>
595
+ <enumeration value="BB"/>
596
+ <enumeration value="BE"/>
597
+ <enumeration value="BZ"/>
598
+ <enumeration value="BJ"/>
599
+ <enumeration value="BM"/>
600
+ <enumeration value="BY"/>
601
+ <enumeration value="BO"/>
602
+ <enumeration value="BA"/>
603
+ <enumeration value="BW"/>
604
+ <enumeration value="BV"/>
605
+ <enumeration value="BR"/>
606
+ <enumeration value="BN"/>
607
+ <enumeration value="BG"/>
608
+ <enumeration value="BF"/>
609
+ <enumeration value="BI"/>
610
+ <enumeration value="BT"/>
611
+ <enumeration value="CV"/>
612
+ <enumeration value="KY"/>
613
+ <enumeration value="KH"/>
614
+ <enumeration value="CM"/>
615
+ <enumeration value="CA"/>
616
+ <enumeration value="CF"/>
617
+ <enumeration value="CC"/>
618
+ <enumeration value="CO"/>
619
+ <enumeration value="KM"/>
620
+ <enumeration value="CG"/>
621
+ <enumeration value="CD"/>
622
+ <enumeration value="CK"/>
623
+ <enumeration value="KP"/>
624
+ <enumeration value="KR"/>
625
+ <enumeration value="CI"/>
626
+ <enumeration value="CR"/>
627
+ <enumeration value="HR"/>
628
+ <enumeration value="CU"/>
629
+ <enumeration value="TD"/>
630
+ <enumeration value="CZ"/>
631
+ <enumeration value="CL"/>
632
+ <enumeration value="CN"/>
633
+ <enumeration value="CY"/>
634
+ <enumeration value="CW"/>
635
+ <enumeration value="DK"/>
636
+ <enumeration value="DM"/>
637
+ <enumeration value="DO"/>
638
+ <enumeration value="EC"/>
639
+ <enumeration value="EG"/>
640
+ <enumeration value="AE"/>
641
+ <enumeration value="ER"/>
642
+ <enumeration value="SK"/>
643
+ <enumeration value="SI"/>
644
+ <enumeration value="ES"/>
645
+ <enumeration value="US"/>
646
+ <enumeration value="EE"/>
647
+ <enumeration value="ET"/>
648
+ <enumeration value="FO"/>
649
+ <enumeration value="PH"/>
650
+ <enumeration value="FI"/>
651
+ <enumeration value="FJ"/>
652
+ <enumeration value="FR"/>
653
+ <enumeration value="GA"/>
654
+ <enumeration value="GM"/>
655
+ <enumeration value="GE"/>
656
+ <enumeration value="GS"/>
657
+ <enumeration value="GH"/>
658
+ <enumeration value="GI"/>
659
+ <enumeration value="GD"/>
660
+ <enumeration value="GR"/>
661
+ <enumeration value="GL"/>
662
+ <enumeration value="GU"/>
663
+ <enumeration value="GT"/>
664
+ <enumeration value="GG"/>
665
+ <enumeration value="GN"/>
666
+ <enumeration value="GQ"/>
667
+ <enumeration value="GW"/>
668
+ <enumeration value="GY"/>
669
+ <enumeration value="HT"/>
670
+ <enumeration value="HM"/>
671
+ <enumeration value="HN"/>
672
+ <enumeration value="HK"/>
673
+ <enumeration value="HU"/>
674
+ <enumeration value="IN"/>
675
+ <enumeration value="ID"/>
676
+ <enumeration value="IR"/>
677
+ <enumeration value="IQ"/>
678
+ <enumeration value="IE"/>
679
+ <enumeration value="IM"/>
680
+ <enumeration value="IS"/>
681
+ <enumeration value="IL"/>
682
+ <enumeration value="IT"/>
683
+ <enumeration value="JM"/>
684
+ <enumeration value="JP"/>
685
+ <enumeration value="JE"/>
686
+ <enumeration value="JO"/>
687
+ <enumeration value="KZ"/>
688
+ <enumeration value="KE"/>
689
+ <enumeration value="KG"/>
690
+ <enumeration value="KI"/>
691
+ <enumeration value="KW"/>
692
+ <enumeration value="LA"/>
693
+ <enumeration value="LS"/>
694
+ <enumeration value="LV"/>
695
+ <enumeration value="LB"/>
696
+ <enumeration value="LR"/>
697
+ <enumeration value="LY"/>
698
+ <enumeration value="LI"/>
699
+ <enumeration value="LT"/>
700
+ <enumeration value="LU"/>
701
+ <enumeration value="XG"/>
702
+ <enumeration value="MO"/>
703
+ <enumeration value="MK"/>
704
+ <enumeration value="MG"/>
705
+ <enumeration value="MY"/>
706
+ <enumeration value="MW"/>
707
+ <enumeration value="MV"/>
708
+ <enumeration value="ML"/>
709
+ <enumeration value="MT"/>
710
+ <enumeration value="FK"/>
711
+ <enumeration value="MP"/>
712
+ <enumeration value="MA"/>
713
+ <enumeration value="MH"/>
714
+ <enumeration value="MU"/>
715
+ <enumeration value="MR"/>
716
+ <enumeration value="YT"/>
717
+ <enumeration value="UM"/>
718
+ <enumeration value="MX"/>
719
+ <enumeration value="FM"/>
720
+ <enumeration value="MD"/>
721
+ <enumeration value="MC"/>
722
+ <enumeration value="MN"/>
723
+ <enumeration value="ME"/>
724
+ <enumeration value="MS"/>
725
+ <enumeration value="MZ"/>
726
+ <enumeration value="MM"/>
727
+ <enumeration value="NA"/>
728
+ <enumeration value="NR"/>
729
+ <enumeration value="CX"/>
730
+ <enumeration value="NP"/>
731
+ <enumeration value="NI"/>
732
+ <enumeration value="NE"/>
733
+ <enumeration value="NG"/>
734
+ <enumeration value="NU"/>
735
+ <enumeration value="NF"/>
736
+ <enumeration value="NO"/>
737
+ <enumeration value="NC"/>
738
+ <enumeration value="NZ"/>
739
+ <enumeration value="IO"/>
740
+ <enumeration value="OM"/>
741
+ <enumeration value="NL"/>
742
+ <enumeration value="BQ"/>
743
+ <enumeration value="PK"/>
744
+ <enumeration value="PW"/>
745
+ <enumeration value="PA"/>
746
+ <enumeration value="PG"/>
747
+ <enumeration value="PY"/>
748
+ <enumeration value="PE"/>
749
+ <enumeration value="PN"/>
750
+ <enumeration value="PF"/>
751
+ <enumeration value="PL"/>
752
+ <enumeration value="PT"/>
753
+ <enumeration value="PR"/>
754
+ <enumeration value="QA"/>
755
+ <enumeration value="GB"/>
756
+ <enumeration value="RW"/>
757
+ <enumeration value="RO"/>
758
+ <enumeration value="RU"/>
759
+ <enumeration value="SB"/>
760
+ <enumeration value="SV"/>
761
+ <enumeration value="WS"/>
762
+ <enumeration value="AS"/>
763
+ <enumeration value="KN"/>
764
+ <enumeration value="SM"/>
765
+ <enumeration value="SX"/>
766
+ <enumeration value="PM"/>
767
+ <enumeration value="VC"/>
768
+ <enumeration value="SH"/>
769
+ <enumeration value="LC"/>
770
+ <enumeration value="ST"/>
771
+ <enumeration value="SN"/>
772
+ <enumeration value="RS"/>
773
+ <enumeration value="SC"/>
774
+ <enumeration value="SL"/>
775
+ <enumeration value="SG"/>
776
+ <enumeration value="SY"/>
777
+ <enumeration value="SO"/>
778
+ <enumeration value="LK"/>
779
+ <enumeration value="SZ"/>
780
+ <enumeration value="ZA"/>
781
+ <enumeration value="SD"/>
782
+ <enumeration value="SS"/>
783
+ <enumeration value="SE"/>
784
+ <enumeration value="CH"/>
785
+ <enumeration value="SR"/>
786
+ <enumeration value="TH"/>
787
+ <enumeration value="TW"/>
788
+ <enumeration value="TZ"/>
789
+ <enumeration value="TJ"/>
790
+ <enumeration value="PS"/>
791
+ <enumeration value="TF"/>
792
+ <enumeration value="TL"/>
793
+ <enumeration value="TG"/>
794
+ <enumeration value="TK"/>
795
+ <enumeration value="TO"/>
796
+ <enumeration value="TT"/>
797
+ <enumeration value="TN"/>
798
+ <enumeration value="TC"/>
799
+ <enumeration value="TM"/>
800
+ <enumeration value="TR"/>
801
+ <enumeration value="TV"/>
802
+ <enumeration value="UA"/>
803
+ <enumeration value="UG"/>
804
+ <enumeration value="UY"/>
805
+ <enumeration value="UZ"/>
806
+ <enumeration value="VU"/>
807
+ <enumeration value="VA"/>
808
+ <enumeration value="VE"/>
809
+ <enumeration value="VN"/>
810
+ <enumeration value="VG"/>
811
+ <enumeration value="VI"/>
812
+ <enumeration value="WF"/>
813
+ <enumeration value="YE"/>
814
+ <enumeration value="DJ"/>
815
+ <enumeration value="ZM"/>
816
+ <enumeration value="ZW"/>
817
+ <enumeration value="QU"/>
818
+ <enumeration value="XB"/>
819
+ <enumeration value="XU"/>
820
+ <enumeration value="XN"/>
821
+ </restriction>
822
+ </simpleType>
823
+ </schema>