cfdi40 0.0.1.alfa → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +10 -5
  4. data/README_es-MX.md +62 -0
  5. data/cfdi40.gemspec +2 -2
  6. data/lib/cfdi40/comprobante.rb +215 -20
  7. data/lib/cfdi40/concepto.rb +126 -0
  8. data/lib/cfdi40/conceptos.rb +4 -0
  9. data/lib/cfdi40/emisor.rb +7 -0
  10. data/lib/cfdi40/impuestos.rb +28 -0
  11. data/lib/cfdi40/node.rb +122 -0
  12. data/lib/cfdi40/receptor.rb +11 -0
  13. data/lib/cfdi40/sat_csd.rb +83 -0
  14. data/lib/cfdi40/schema_validator.rb +29 -0
  15. data/lib/cfdi40/traslado.rb +9 -0
  16. data/lib/cfdi40/traslados.rb +17 -0
  17. data/lib/cfdi40/version.rb +1 -1
  18. data/lib/cfdi40.rb +12 -0
  19. data/lib/xsd/README.md +30 -0
  20. data/lib/xsd/catCFDI.xsd +162329 -0
  21. data/lib/xsd/cfdv40.xsd +856 -0
  22. data/lib/xsd/tdCFDI.xsd +157 -0
  23. data/lib/xslt/CartaPorte20.xslt +615 -0
  24. data/lib/xslt/GastosHidrocarburos10.xslt +171 -0
  25. data/lib/xslt/IngresosHidrocarburos.xslt +39 -0
  26. data/lib/xslt/Pagos20.xslt +233 -0
  27. data/lib/xslt/TuristaPasajeroExtranjero.xslt +40 -0
  28. data/lib/xslt/aerolineas.xslt +50 -0
  29. data/lib/xslt/cadenaoriginal.xslt +405 -0
  30. data/lib/xslt/cadenaoriginal_local.xslt +405 -0
  31. data/lib/xslt/certificadodedestruccion.xslt +60 -0
  32. data/lib/xslt/cfdiregistrofiscal.xslt +19 -0
  33. data/lib/xslt/consumodeCombustibles11.xslt +94 -0
  34. data/lib/xslt/detallista.xslt +42 -0
  35. data/lib/xslt/divisas.xslt +13 -0
  36. data/lib/xslt/donat11.xslt +13 -0
  37. data/lib/xslt/iedu.xslt +26 -0
  38. data/lib/xslt/implocal.xslt +39 -0
  39. data/lib/xslt/ine11.xslt +30 -0
  40. data/lib/xslt/leyendasFisc.xslt +28 -0
  41. data/lib/xslt/nomina12.xslt +412 -0
  42. data/lib/xslt/notariospublicos.xslt +301 -0
  43. data/lib/xslt/obrasarteantiguedades.xslt +33 -0
  44. data/lib/xslt/pagoenespecie.xslt +39 -0
  45. data/lib/xslt/pfic.xslt +13 -0
  46. data/lib/xslt/renovacionysustitucionvehiculos.xslt +152 -0
  47. data/lib/xslt/servicioparcialconstruccion.xslt +44 -0
  48. data/lib/xslt/utilerias.xslt +22 -0
  49. data/lib/xslt/valesdedespensa.xslt +70 -0
  50. data/lib/xslt/vehiculousado.xslt +63 -0
  51. metadata +50 -13
@@ -0,0 +1,157 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <xs:schema xmlns:tdCFDI="http://www.sat.gob.mx/sitio_internet/cfd/tipoDatos/tdCFDI" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.sat.gob.mx/sitio_internet/cfd/tipoDatos/tdCFDI" elementFormDefault="unqualified" attributeFormDefault="unqualified">
3
+ <xs:simpleType name="t_CURP">
4
+ <xs:annotation>
5
+ <xs:documentation>Tipo definido para expresar la Clave Única de Registro de Población (CURP)</xs:documentation>
6
+ </xs:annotation>
7
+ <xs:restriction base="xs:string">
8
+ <xs:whiteSpace value="collapse"/>
9
+ <xs:length value="18"/>
10
+ <xs:pattern value="[A-Z][AEIOUX][A-Z]{2}[0-9]{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])[MH]([ABCMTZ]S|[BCJMOT]C|[CNPST]L|[GNQ]T|[GQS]R|C[MH]|[MY]N|[DH]G|NE|VZ|DF|SP)[BCDFGHJ-NP-TV-Z]{3}[0-9A-Z][0-9]"/>
11
+ </xs:restriction>
12
+ </xs:simpleType>
13
+ <xs:simpleType name="t_Importe">
14
+ <xs:annotation>
15
+ <xs:documentation>Tipo definido para expresar importes numéricos con fracción hasta seis decimales. No se permiten valores negativos.</xs:documentation>
16
+ </xs:annotation>
17
+ <xs:restriction base="xs:decimal">
18
+ <xs:fractionDigits value="6"/>
19
+ <xs:minInclusive value="0.000000"/>
20
+ <xs:pattern value="[0-9]{1,18}(.[0-9]{1,6})?"/>
21
+ <xs:whiteSpace value="collapse"/>
22
+ </xs:restriction>
23
+ </xs:simpleType>
24
+ <xs:simpleType name="t_Fecha">
25
+ <xs:annotation>
26
+ <xs:documentation>Tipo definido para la expresión de la fecha. Se expresa en la forma AAAA-MM-DD.</xs:documentation>
27
+ </xs:annotation>
28
+ <xs:restriction base="xs:date">
29
+ <xs:whiteSpace value="collapse"/>
30
+ <xs:pattern value="((19|20)[0-9][0-9])-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])"/>
31
+ </xs:restriction>
32
+ </xs:simpleType>
33
+ <xs:simpleType name="t_ImporteMXN">
34
+ <xs:annotation>
35
+ <xs:documentation>Tipo definido para expresar importes monetarios en moneda nacional MXN con fracción hasta dos decimales. No se permiten valores negativos.</xs:documentation>
36
+ </xs:annotation>
37
+ <xs:restriction base="xs:decimal">
38
+ <xs:fractionDigits value="2"/>
39
+ <xs:minInclusive value="0.00"/>
40
+ <xs:whiteSpace value="collapse"/>
41
+ <xs:pattern value="[0-9]{1,18}(.[0-9]{1,2})?"/>
42
+ </xs:restriction>
43
+ </xs:simpleType>
44
+ <xs:simpleType name="t_CuentaBancaria">
45
+ <xs:annotation>
46
+ <xs:documentation>Tipo definido para expresar la cuenta bancarizada.</xs:documentation>
47
+ </xs:annotation>
48
+ <xs:restriction base="xs:integer">
49
+ <xs:whiteSpace value="collapse"/>
50
+ <xs:pattern value="[0-9]{10,18}"/>
51
+ </xs:restriction>
52
+ </xs:simpleType>
53
+ <xs:simpleType name="t_RFC">
54
+ <xs:annotation>
55
+ <xs:documentation>Tipo definido para expresar claves del Registro Federal de Contribuyentes</xs:documentation>
56
+ </xs:annotation>
57
+ <xs:restriction base="xs:string">
58
+ <xs:whiteSpace value="collapse"/>
59
+ <xs:minLength value="12"/>
60
+ <xs:maxLength value="13"/>
61
+ <xs:pattern value="[A-Z&amp;Ñ]{3,4}[0-9]{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])[A-Z0-9]{2}[0-9A]"/>
62
+ </xs:restriction>
63
+ </xs:simpleType>
64
+ <xs:simpleType name="t_RFC_PM">
65
+ <xs:annotation>
66
+ <xs:documentation>Tipo definido para la expresión de un Registro Federal de Contribuyentes de persona moral.</xs:documentation>
67
+ </xs:annotation>
68
+ <xs:restriction base="xs:string">
69
+ <xs:whiteSpace value="collapse"/>
70
+ <xs:minLength value="12"/>
71
+ <xs:pattern value="[A-Z&amp;Ñ]{3}[0-9]{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])[A-Z0-9]{2}[0-9A]"/>
72
+ </xs:restriction>
73
+ </xs:simpleType>
74
+ <xs:simpleType name="t_RFC_PF">
75
+ <xs:annotation>
76
+ <xs:documentation>Tipo definido para la expresión de un Registro Federal de Contribuyentes de persona física.</xs:documentation>
77
+ </xs:annotation>
78
+ <xs:restriction base="xs:string">
79
+ <xs:whiteSpace value="collapse"/>
80
+ <xs:minLength value="13"/>
81
+ <xs:pattern value="[A-Z&amp;Ñ]{4}[0-9]{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])[A-Z0-9]{2}[0-9A]"/>
82
+ </xs:restriction>
83
+ </xs:simpleType>
84
+ <xs:simpleType name="t_FechaHora">
85
+ <xs:annotation>
86
+ <xs:documentation>Tipo definido para la expresión de la fecha y hora. Se expresa en la forma AAAA-MM-DDThh:mm:ss</xs:documentation>
87
+ </xs:annotation>
88
+ <xs:restriction base="xs:dateTime">
89
+ <xs:whiteSpace value="collapse"/>
90
+ <xs:pattern value="((19|20)[0-9][0-9])-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])"/>
91
+ </xs:restriction>
92
+ </xs:simpleType>
93
+ <xs:simpleType name="t_FechaH">
94
+ <xs:annotation>
95
+ <xs:documentation>Tipo definido para la expresión de la fecha y hora. Se expresa en la forma AAAA-MM-DDThh:mm:ss</xs:documentation>
96
+ </xs:annotation>
97
+ <xs:restriction base="xs:dateTime">
98
+ <xs:whiteSpace value="collapse"/>
99
+ <xs:pattern value="(20[1-9][0-9])-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])"/>
100
+ </xs:restriction>
101
+ </xs:simpleType>
102
+ <xs:simpleType name="t_Descrip100">
103
+ <xs:annotation>
104
+ <xs:documentation>Tipo definido para expresar la calle en que está ubicado el domicilio del emisor del comprobante o del destinatario de la mercancía.</xs:documentation>
105
+ </xs:annotation>
106
+ <xs:restriction base="xs:string">
107
+ <xs:minLength value="1"/>
108
+ <xs:maxLength value="100"/>
109
+ <xs:whiteSpace value="collapse"/>
110
+ <xs:pattern value="[^|]{1,100}"/>
111
+ </xs:restriction>
112
+ </xs:simpleType>
113
+ <xs:simpleType name="t_NumeroDomicilio">
114
+ <xs:annotation>
115
+ <xs:documentation>Tipo definido para expresar el número interior o el número exterior en donde se ubica el domicilio del emisor del comprobante o del destinatario de la mercancía.</xs:documentation>
116
+ </xs:annotation>
117
+ <xs:restriction base="xs:string">
118
+ <xs:minLength value="1"/>
119
+ <xs:maxLength value="55"/>
120
+ <xs:whiteSpace value="collapse"/>
121
+ <xs:pattern value="[^|]{1,55}"/>
122
+ </xs:restriction>
123
+ </xs:simpleType>
124
+ <xs:simpleType name="t_Referencia">
125
+ <xs:annotation>
126
+ <xs:documentation>Tipo definido para expresar la referencia geográfica adicional que permita una fácil o precisa ubicación del domicilio del emisor del comprobante o del destinatario de la mercancía, por ejemplo las coordenadas GPS.</xs:documentation>
127
+ </xs:annotation>
128
+ <xs:restriction base="xs:string">
129
+ <xs:minLength value="1"/>
130
+ <xs:maxLength value="250"/>
131
+ <xs:whiteSpace value="collapse"/>
132
+ <xs:pattern value="[^|]{1,250}"/>
133
+ </xs:restriction>
134
+ </xs:simpleType>
135
+ <xs:simpleType name="t_Descrip120">
136
+ <xs:annotation>
137
+ <xs:documentation>Tipo definido para expresar la colonia, localidad o municipio en que está ubicado el domicilio del emisor del comprobante o del destinatario de la mercancía.</xs:documentation>
138
+ </xs:annotation>
139
+ <xs:restriction base="xs:string">
140
+ <xs:minLength value="1"/>
141
+ <xs:maxLength value="120"/>
142
+ <xs:whiteSpace value="collapse"/>
143
+ <xs:pattern value="[^|]{1,120}"/>
144
+ </xs:restriction>
145
+ </xs:simpleType>
146
+ <xs:simpleType name="t_TipoCambio">
147
+ <xs:annotation>
148
+ <xs:documentation>Tipo definido para expresar el tipo de cambio. No se permiten valores negativos.</xs:documentation>
149
+ </xs:annotation>
150
+ <xs:restriction base="xs:decimal">
151
+ <xs:minInclusive value="0.00"/>
152
+ <xs:fractionDigits value="6"/>
153
+ <xs:whiteSpace value="collapse"/>
154
+ <xs:pattern value="[0-9]{1,18}(.[0-9]{1,6})?"/>
155
+ </xs:restriction>
156
+ </xs:simpleType>
157
+ </xs:schema>