fdis 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +51 -0
  3. data/lib/cadena/ComercioExterior11.xslt +181 -0
  4. data/lib/cadena/Pagos10.xslt +165 -0
  5. data/lib/cadena/Pagos20.xsd +532 -0
  6. data/lib/cadena/Pagos20.xslt +233 -0
  7. data/lib/cadena/TuristaPasajeroExtranjero.xslt +40 -0
  8. data/lib/cadena/aerolineas.xslt +50 -0
  9. data/lib/cadena/cadena33.xslt +349 -0
  10. data/lib/cadena/cadenaoriginal_4_0.xslt +405 -0
  11. data/lib/cadena/catCFDI.xsd +162331 -0
  12. data/lib/cadena/certificadodedestruccion.xslt +60 -0
  13. data/lib/cadena/cfdiregistrofiscal.xslt +19 -0
  14. data/lib/cadena/cfdv33.xsd +737 -0
  15. data/lib/cadena/cfdv40.xsd +850 -0
  16. data/lib/cadena/consumodecombustibles.xslt +108 -0
  17. data/lib/cadena/detallista.xslt +42 -0
  18. data/lib/cadena/divisas.xslt +13 -0
  19. data/lib/cadena/donat11.xslt +13 -0
  20. data/lib/cadena/ecc11.xslt +102 -0
  21. data/lib/cadena/iedu.xslt +26 -0
  22. data/lib/cadena/implocal.xslt +39 -0
  23. data/lib/cadena/ine11.xslt +51 -0
  24. data/lib/cadena/leyendasFisc.xslt +28 -0
  25. data/lib/cadena/nomina12.xslt +412 -0
  26. data/lib/cadena/notariospublicos.xslt +301 -0
  27. data/lib/cadena/obrasarteantiguedades.xslt +33 -0
  28. data/lib/cadena/pagoenespecie.xslt +39 -0
  29. data/lib/cadena/pfic.xslt +13 -0
  30. data/lib/cadena/renovacionysustitucionvehiculos.xslt +152 -0
  31. data/lib/cadena/servicioparcialconstruccion.xslt +44 -0
  32. data/lib/cadena/terceros11.xslt +108 -0
  33. data/lib/cadena/utilerias.xslt +22 -0
  34. data/lib/cadena/valesdedespensa.xslt +70 -0
  35. data/lib/cadena/vehiculousado.xslt +63 -0
  36. data/lib/cadena/ventavehiculos11.xslt +53 -0
  37. data/lib/fdis/config.rb +94 -0
  38. data/lib/fdis/facturacion.rb +1028 -0
  39. data/lib/fdis/version.rb +3 -0
  40. data/lib/fdis.rb +17 -0
  41. metadata +139 -0
@@ -0,0 +1,532 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <xs:schema xmlns:pago20="http://www.sat.gob.mx/Pagos20" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:catCFDI="http://www.sat.gob.mx/sitio_internet/cfd/catalogos" xmlns:tdCFDI="http://www.sat.gob.mx/sitio_internet/cfd/tipoDatos/tdCFDI" xmlns:catPagos="http://www.sat.gob.mx/sitio_internet/cfd/catalogos/Pagos" targetNamespace="http://www.sat.gob.mx/Pagos20" elementFormDefault="qualified" attributeFormDefault="unqualified">
3
+ <xs:import namespace="http://www.sat.gob.mx/sitio_internet/cfd/catalogos" schemaLocation="http://www.sat.gob.mx/sitio_internet/cfd/catalogos/catCFDI.xsd"/>
4
+ <xs:import namespace="http://www.sat.gob.mx/sitio_internet/cfd/tipoDatos/tdCFDI" schemaLocation="http://www.sat.gob.mx/sitio_internet/cfd/tipoDatos/tdCFDI/tdCFDI.xsd"/>
5
+ <xs:import namespace="http://www.sat.gob.mx/sitio_internet/cfd/catalogos/Pagos" schemaLocation="http://www.sat.gob.mx/sitio_internet/cfd/catalogos/Pagos/catPagos.xsd"/>
6
+ <xs:element name="Pagos">
7
+ <xs:annotation>
8
+ <xs:documentation>Complemento para el Comprobante Fiscal Digital por Internet (CFDI) para registrar información sobre la recepción de pagos. El emisor de este complemento para recepción de pagos debe ser quien las leyes le obligue a expedir comprobantes por los actos o actividades que realicen, por los ingresos que se perciban o por las retenciones de contribuciones que efectúen.</xs:documentation>
9
+ </xs:annotation>
10
+ <xs:complexType>
11
+ <xs:sequence>
12
+ <xs:element name="Totales">
13
+ <xs:annotation>
14
+ <xs:documentation>Nodo requerido para especificar el monto total de los pagos y el total de los impuestos, deben ser expresados en MXN.</xs:documentation>
15
+ </xs:annotation>
16
+ <xs:complexType>
17
+ <xs:attribute name="TotalRetencionesIVA" type="tdCFDI:t_ImporteMXN" use="optional">
18
+ <xs:annotation>
19
+ <xs:documentation>Atributo condicional para expresar el total de los impuestos retenidos de IVA que se desprenden de los pagos. No se permiten valores negativos.</xs:documentation>
20
+ </xs:annotation>
21
+ </xs:attribute>
22
+ <xs:attribute name="TotalRetencionesISR" type="tdCFDI:t_ImporteMXN" use="optional">
23
+ <xs:annotation>
24
+ <xs:documentation>Atributo condicional para expresar el total de los impuestos retenidos de ISR que se desprenden de los pagos. No se permiten valores negativos.</xs:documentation>
25
+ </xs:annotation>
26
+ </xs:attribute>
27
+ <xs:attribute name="TotalRetencionesIEPS" type="tdCFDI:t_ImporteMXN" use="optional">
28
+ <xs:annotation>
29
+ <xs:documentation>Atributo condicional para expresar el total de los impuestos retenidos de IEPS que se desprenden de los pagos. No se permiten valores negativos.</xs:documentation>
30
+ </xs:annotation>
31
+ </xs:attribute>
32
+ <xs:attribute name="TotalTrasladosBaseIVA16" type="tdCFDI:t_ImporteMXN" use="optional">
33
+ <xs:annotation>
34
+ <xs:documentation>Atributo condicional para expresar el total de la base de IVA trasladado a la tasa del 16% que se desprende de los pagos. No se permiten valores negativos.</xs:documentation>
35
+ </xs:annotation>
36
+ </xs:attribute>
37
+ <xs:attribute name="TotalTrasladosImpuestoIVA16" type="tdCFDI:t_ImporteMXN" use="optional">
38
+ <xs:annotation>
39
+ <xs:documentation>Atributo condicional para expresar el total de los impuestos de IVA trasladado a la tasa del 16% que se desprenden de los pagos. No se permiten valores negativos.</xs:documentation>
40
+ </xs:annotation>
41
+ </xs:attribute>
42
+ <xs:attribute name="TotalTrasladosBaseIVA8" type="tdCFDI:t_ImporteMXN" use="optional">
43
+ <xs:annotation>
44
+ <xs:documentation>Atributo condicional para expresar el total de la base de IVA trasladado a la tasa del 8% que se desprende de los pagos. No se permiten valores negativos.</xs:documentation>
45
+ </xs:annotation>
46
+ </xs:attribute>
47
+ <xs:attribute name="TotalTrasladosImpuestoIVA8" type="tdCFDI:t_ImporteMXN" use="optional">
48
+ <xs:annotation>
49
+ <xs:documentation>Atributo condicional para expresar el total de los impuestos de IVA trasladado a la tasa del 8% que se desprenden de los pagos. No se permiten valores negativos.</xs:documentation>
50
+ </xs:annotation>
51
+ </xs:attribute>
52
+ <xs:attribute name="TotalTrasladosBaseIVA0" type="tdCFDI:t_ImporteMXN" use="optional">
53
+ <xs:annotation>
54
+ <xs:documentation>Atributo condicional para expresar el total de la base de IVA trasladado a la tasa del 0% que se desprende de los pagos. No se permiten valores negativos.</xs:documentation>
55
+ </xs:annotation>
56
+ </xs:attribute>
57
+ <xs:attribute name="TotalTrasladosImpuestoIVA0" type="tdCFDI:t_ImporteMXN" use="optional">
58
+ <xs:annotation>
59
+ <xs:documentation>Atributo condicional para expresar el total de los impuestos de IVA trasladado a la tasa del 0% que se desprenden de los pagos. No se permiten valores negativos.</xs:documentation>
60
+ </xs:annotation>
61
+ </xs:attribute>
62
+ <xs:attribute name="TotalTrasladosBaseIVAExento" type="tdCFDI:t_ImporteMXN" use="optional">
63
+ <xs:annotation>
64
+ <xs:documentation>Atributo condicional para expresar el total de la base de IVA trasladado exento que se desprende de los pagos. No se permiten valores negativos.</xs:documentation>
65
+ </xs:annotation>
66
+ </xs:attribute>
67
+ <xs:attribute name="MontoTotalPagos" type="tdCFDI:t_ImporteMXN" use="required">
68
+ <xs:annotation>
69
+ <xs:documentation>Atributo requerido para expresar el total de los pagos que se desprenden de los nodos Pago. No se permiten valores negativos.</xs:documentation>
70
+ </xs:annotation>
71
+ </xs:attribute>
72
+ </xs:complexType>
73
+ </xs:element>
74
+ <xs:element name="Pago" maxOccurs="unbounded">
75
+ <xs:annotation>
76
+ <xs:documentation>Elemento requerido para incorporar la información de la recepción de pagos.</xs:documentation>
77
+ </xs:annotation>
78
+ <xs:complexType>
79
+ <xs:sequence>
80
+ <xs:element name="DoctoRelacionado" maxOccurs="unbounded">
81
+ <xs:annotation>
82
+ <xs:documentation>Nodo requerido para expresar la lista de documentos relacionados con los pagos. Por cada documento que se relacione se debe generar un nodo DoctoRelacionado.</xs:documentation>
83
+ </xs:annotation>
84
+ <xs:complexType>
85
+ <xs:sequence>
86
+ <xs:element name="ImpuestosDR" minOccurs="0">
87
+ <xs:annotation>
88
+ <xs:documentation>Nodo condicional para registrar los impuestos aplicables conforme al monto del pago recibido, expresados a la moneda del documento relacionado.</xs:documentation>
89
+ </xs:annotation>
90
+ <xs:complexType>
91
+ <xs:sequence>
92
+ <xs:element name="RetencionesDR" minOccurs="0">
93
+ <xs:annotation>
94
+ <xs:documentation>Nodo opcional para capturar los impuestos retenidos aplicables conforme al monto del pago recibido.</xs:documentation>
95
+ </xs:annotation>
96
+ <xs:complexType>
97
+ <xs:sequence>
98
+ <xs:element name="RetencionDR" maxOccurs="unbounded">
99
+ <xs:annotation>
100
+ <xs:documentation>Nodo requerido para registrar la información detallada de una retención de impuesto específico conforme al monto del pago recibido.</xs:documentation>
101
+ </xs:annotation>
102
+ <xs:complexType>
103
+ <xs:attribute name="BaseDR" use="required">
104
+ <xs:annotation>
105
+ <xs:documentation>Atributo requerido para señalar la base para el cálculo de la retención conforme al monto del pago, aplicable al documento relacionado, la determinación de la base se realiza de acuerdo con las disposiciones fiscales vigentes. No se permiten valores negativos.</xs:documentation>
106
+ </xs:annotation>
107
+ <xs:simpleType>
108
+ <xs:restriction base="xs:decimal">
109
+ <xs:minInclusive value="0.000001"/>
110
+ <xs:fractionDigits value="6"/>
111
+ <xs:whiteSpace value="collapse"/>
112
+ </xs:restriction>
113
+ </xs:simpleType>
114
+ </xs:attribute>
115
+ <xs:attribute name="ImpuestoDR" type="catCFDI:c_Impuesto" use="required">
116
+ <xs:annotation>
117
+ <xs:documentation>Atributo requerido para señalar la clave del tipo de impuesto retenido conforme al monto del pago, aplicable al documento relacionado.</xs:documentation>
118
+ </xs:annotation>
119
+ </xs:attribute>
120
+ <xs:attribute name="TipoFactorDR" type="catCFDI:c_TipoFactor" use="required">
121
+ <xs:annotation>
122
+ <xs:documentation>Atributo requerido para señalar la clave del tipo de factor que se aplica a la base del impuesto.</xs:documentation>
123
+ </xs:annotation>
124
+ </xs:attribute>
125
+ <xs:attribute name="TasaOCuotaDR" use="required">
126
+ <xs:annotation>
127
+ <xs:documentation>Atributo requerido para señalar el valor de la tasa o cuota del impuesto que se retiene.</xs:documentation>
128
+ </xs:annotation>
129
+ <xs:simpleType>
130
+ <xs:restriction base="xs:decimal">
131
+ <xs:minInclusive value="0.000000"/>
132
+ <xs:fractionDigits value="6"/>
133
+ <xs:whiteSpace value="collapse"/>
134
+ </xs:restriction>
135
+ </xs:simpleType>
136
+ </xs:attribute>
137
+ <xs:attribute name="ImporteDR" type="tdCFDI:t_Importe" use="required">
138
+ <xs:annotation>
139
+ <xs:documentation>Atributo requerido para señalar el importe del impuesto retenido conforme al monto del pago, aplicable al documento relacionado. No se permiten valores negativos.</xs:documentation>
140
+ </xs:annotation>
141
+ </xs:attribute>
142
+ </xs:complexType>
143
+ </xs:element>
144
+ </xs:sequence>
145
+ </xs:complexType>
146
+ </xs:element>
147
+ <xs:element name="TrasladosDR" minOccurs="0">
148
+ <xs:annotation>
149
+ <xs:documentation>Nodo opcional para capturar los impuestos trasladados aplicables conforme al monto del pago recibido.</xs:documentation>
150
+ </xs:annotation>
151
+ <xs:complexType>
152
+ <xs:sequence>
153
+ <xs:element name="TrasladoDR" maxOccurs="unbounded">
154
+ <xs:annotation>
155
+ <xs:documentation>Nodo requerido para asentar la información detallada de un traslado de impuesto específico conforme al monto del pago recibido.</xs:documentation>
156
+ </xs:annotation>
157
+ <xs:complexType>
158
+ <xs:attribute name="BaseDR" use="required">
159
+ <xs:annotation>
160
+ <xs:documentation>Atributo requerido para señalar la base para el cálculo del impuesto trasladado conforme al monto del pago, aplicable al documento relacionado, la determinación de la base se realiza de acuerdo con las disposiciones fiscales vigentes. No se permiten valores negativos.</xs:documentation>
161
+ </xs:annotation>
162
+ <xs:simpleType>
163
+ <xs:restriction base="xs:decimal">
164
+ <xs:minInclusive value="0.000001"/>
165
+ <xs:fractionDigits value="6"/>
166
+ <xs:whiteSpace value="collapse"/>
167
+ </xs:restriction>
168
+ </xs:simpleType>
169
+ </xs:attribute>
170
+ <xs:attribute name="ImpuestoDR" type="catCFDI:c_Impuesto" use="required">
171
+ <xs:annotation>
172
+ <xs:documentation>Atributo requerido para señalar la clave del tipo de impuesto trasladado conforme al monto del pago, aplicable al documento relacionado.</xs:documentation>
173
+ </xs:annotation>
174
+ </xs:attribute>
175
+ <xs:attribute name="TipoFactorDR" type="catCFDI:c_TipoFactor" use="required">
176
+ <xs:annotation>
177
+ <xs:documentation>Atributo requerido para señalar la clave del tipo de factor que se aplica a la base del impuesto.</xs:documentation>
178
+ </xs:annotation>
179
+ </xs:attribute>
180
+ <xs:attribute name="TasaOCuotaDR" use="optional">
181
+ <xs:annotation>
182
+ <xs:documentation>Atributo condicional para señalar el valor de la tasa o cuota del impuesto que se traslada. Es requerido cuando el atributo TipoFactorDR contenga una clave que corresponda a Tasa o Cuota.</xs:documentation>
183
+ </xs:annotation>
184
+ <xs:simpleType>
185
+ <xs:restriction base="xs:decimal">
186
+ <xs:minInclusive value="0.000000"/>
187
+ <xs:fractionDigits value="6"/>
188
+ <xs:whiteSpace value="collapse"/>
189
+ </xs:restriction>
190
+ </xs:simpleType>
191
+ </xs:attribute>
192
+ <xs:attribute name="ImporteDR" type="tdCFDI:t_Importe" use="optional">
193
+ <xs:annotation>
194
+ <xs:documentation>Atributo condicional para señalar el importe del impuesto trasladado conforme al monto del pago, aplicable al documento relacionado. No se permiten valores negativos. Es requerido cuando el tipo factor sea Tasa o Cuota.</xs:documentation>
195
+ </xs:annotation>
196
+ </xs:attribute>
197
+ </xs:complexType>
198
+ </xs:element>
199
+ </xs:sequence>
200
+ </xs:complexType>
201
+ </xs:element>
202
+ </xs:sequence>
203
+ </xs:complexType>
204
+ </xs:element>
205
+ </xs:sequence>
206
+ <xs:attribute name="IdDocumento" use="required">
207
+ <xs:annotation>
208
+ <xs:documentation>Atributo requerido para expresar el identificador del documento relacionado con el pago. Este dato puede ser un Folio Fiscal de la Factura Electrónica o bien el número de operación de un documento digital.</xs:documentation>
209
+ </xs:annotation>
210
+ <xs:simpleType>
211
+ <xs:restriction base="xs:string">
212
+ <xs:minLength value="16"/>
213
+ <xs:maxLength value="36"/>
214
+ <xs:whiteSpace value="collapse"/>
215
+ <xs:pattern value="([a-f0-9A-F]{8}-[a-f0-9A-F]{4}-[a-f0-9A-F]{4}-[a-f0-9A-F]{4}-[a-f0-9A-F]{12})|([0-9]{3}-[0-9]{2}-[0-9]{9})"/>
216
+ </xs:restriction>
217
+ </xs:simpleType>
218
+ </xs:attribute>
219
+ <xs:attribute name="Serie" use="optional">
220
+ <xs:annotation>
221
+ <xs:documentation>Atributo opcional para precisar la serie del comprobante para control interno del contribuyente, acepta una cadena de caracteres.</xs:documentation>
222
+ </xs:annotation>
223
+ <xs:simpleType>
224
+ <xs:restriction base="xs:string">
225
+ <xs:minLength value="1"/>
226
+ <xs:maxLength value="25"/>
227
+ <xs:whiteSpace value="collapse"/>
228
+ <xs:pattern value="[^|]{1,25}"/>
229
+ </xs:restriction>
230
+ </xs:simpleType>
231
+ </xs:attribute>
232
+ <xs:attribute name="Folio" use="optional">
233
+ <xs:annotation>
234
+ <xs:documentation>Atributo opcional para precisar el folio del comprobante para control interno del contribuyente, acepta una cadena de caracteres.</xs:documentation>
235
+ </xs:annotation>
236
+ <xs:simpleType>
237
+ <xs:restriction base="xs:string">
238
+ <xs:minLength value="1"/>
239
+ <xs:maxLength value="40"/>
240
+ <xs:whiteSpace value="collapse"/>
241
+ <xs:pattern value="[^|]{1,40}"/>
242
+ </xs:restriction>
243
+ </xs:simpleType>
244
+ </xs:attribute>
245
+ <xs:attribute name="MonedaDR" type="catCFDI:c_Moneda" use="required">
246
+ <xs:annotation>
247
+ <xs:documentation>Atributo requerido para identificar la clave de la moneda utilizada en los importes del documento relacionado, cuando se usa moneda nacional o el documento relacionado no especifica la moneda se registra MXN. Los importes registrados en los atributos “ImpSaldoAnt”, “ImpPagado” e “ImpSaldoInsoluto” de éste nodo, deben corresponder a esta moneda. Conforme con la especificación ISO 4217.</xs:documentation>
248
+ </xs:annotation>
249
+ </xs:attribute>
250
+ <xs:attribute name="EquivalenciaDR" use="optional">
251
+ <xs:annotation>
252
+ <xs:documentation>Atributo condicional para expresar el tipo de cambio conforme con la moneda registrada en el documento relacionado. Es requerido cuando la moneda del documento relacionado es distinta de la moneda de pago. Se debe registrar el número de unidades de la moneda señalada en el documento relacionado que equivalen a una unidad de la moneda del pago. Por ejemplo: El documento relacionado se registra en USD. El pago se realiza por 100 EUR. Este atributo se registra como 1.114700 USD/EUR. El importe pagado equivale a 100 EUR * 1.114700 USD/EUR = 111.47 USD.</xs:documentation>
253
+ </xs:annotation>
254
+ <xs:simpleType>
255
+ <xs:restriction base="xs:decimal">
256
+ <xs:fractionDigits value="6"/>
257
+ <xs:minInclusive value="0.000001"/>
258
+ <xs:whiteSpace value="collapse"/>
259
+ </xs:restriction>
260
+ </xs:simpleType>
261
+ </xs:attribute>
262
+ <xs:attribute name="NumParcialidad" use="required">
263
+ <xs:annotation>
264
+ <xs:documentation>Atributo requerido para expresar el número de parcialidad que corresponde al pago.</xs:documentation>
265
+ </xs:annotation>
266
+ <xs:simpleType>
267
+ <xs:restriction base="xs:integer">
268
+ <xs:whiteSpace value="collapse"/>
269
+ <xs:pattern value="[1-9][0-9]{0,2}"/>
270
+ </xs:restriction>
271
+ </xs:simpleType>
272
+ </xs:attribute>
273
+ <xs:attribute name="ImpSaldoAnt" type="tdCFDI:t_Importe" use="required">
274
+ <xs:annotation>
275
+ <xs:documentation>Atributo requerido para expresar el monto del saldo insoluto de la parcialidad anterior. En el caso de que sea la primer parcialidad este atributo debe contener el importe total del documento relacionado.</xs:documentation>
276
+ </xs:annotation>
277
+ </xs:attribute>
278
+ <xs:attribute name="ImpPagado" type="tdCFDI:t_Importe" use="required">
279
+ <xs:annotation>
280
+ <xs:documentation>Atributo requerido para expresar el importe pagado para el documento relacionado.</xs:documentation>
281
+ </xs:annotation>
282
+ </xs:attribute>
283
+ <xs:attribute name="ImpSaldoInsoluto" type="tdCFDI:t_Importe" use="required">
284
+ <xs:annotation>
285
+ <xs:documentation>Atributo requerido para expresar la diferencia entre el importe del saldo anterior y el monto del pago.</xs:documentation>
286
+ </xs:annotation>
287
+ </xs:attribute>
288
+ <xs:attribute name="ObjetoImpDR" type="catCFDI:c_ObjetoImp" use="required">
289
+ <xs:annotation>
290
+ <xs:documentation>Atributo requerido para expresar si el pago del documento relacionado es objeto o no de impuesto.</xs:documentation>
291
+ </xs:annotation>
292
+ </xs:attribute>
293
+ </xs:complexType>
294
+ </xs:element>
295
+ <xs:element name="ImpuestosP" minOccurs="0">
296
+ <xs:annotation>
297
+ <xs:documentation>Nodo condicional para registrar el resumen de los impuestos aplicables conforme al monto del pago recibido, expresados a la moneda de pago.</xs:documentation>
298
+ </xs:annotation>
299
+ <xs:complexType>
300
+ <xs:sequence>
301
+ <xs:element name="RetencionesP" minOccurs="0">
302
+ <xs:annotation>
303
+ <xs:documentation>Nodo condicional para señalar los impuestos retenidos aplicables conforme al monto del pago recibido. Es requerido cuando en los documentos relacionados se registre algún impuesto retenido.</xs:documentation>
304
+ </xs:annotation>
305
+ <xs:complexType>
306
+ <xs:sequence>
307
+ <xs:element name="RetencionP" maxOccurs="unbounded">
308
+ <xs:annotation>
309
+ <xs:documentation>Nodo requerido para señalar la información detallada de una retención de impuesto específico conforme al monto del pago recibido.</xs:documentation>
310
+ </xs:annotation>
311
+ <xs:complexType>
312
+ <xs:attribute name="ImpuestoP" type="catCFDI:c_Impuesto" use="required">
313
+ <xs:annotation>
314
+ <xs:documentation>Atributo requerido para señalar la clave del tipo de impuesto retenido conforme al monto del pago.</xs:documentation>
315
+ </xs:annotation>
316
+ </xs:attribute>
317
+ <xs:attribute name="ImporteP" type="tdCFDI:t_Importe" use="required">
318
+ <xs:annotation>
319
+ <xs:documentation>Atributo requerido para señalar el importe del impuesto retenido conforme al monto del pago. No se permiten valores negativos.</xs:documentation>
320
+ </xs:annotation>
321
+ </xs:attribute>
322
+ </xs:complexType>
323
+ </xs:element>
324
+ </xs:sequence>
325
+ </xs:complexType>
326
+ </xs:element>
327
+ <xs:element name="TrasladosP" minOccurs="0">
328
+ <xs:annotation>
329
+ <xs:documentation>Nodo condicional para capturar los impuestos trasladados aplicables conforme al monto del pago recibido. Es requerido cuando en los documentos relacionados se registre un impuesto trasladado.</xs:documentation>
330
+ </xs:annotation>
331
+ <xs:complexType>
332
+ <xs:sequence>
333
+ <xs:element name="TrasladoP" maxOccurs="unbounded">
334
+ <xs:annotation>
335
+ <xs:documentation>Nodo requerido para señalar la información detallada de un traslado de impuesto específico conforme al monto del pago recibido.</xs:documentation>
336
+ </xs:annotation>
337
+ <xs:complexType>
338
+ <xs:attribute name="BaseP" type="tdCFDI:t_Importe" use="required">
339
+ <xs:annotation>
340
+ <xs:documentation>Atributo requerido para señalar la suma de los atributos BaseDR de los documentos relacionados del impuesto trasladado. No se permiten valores negativos.</xs:documentation>
341
+ </xs:annotation>
342
+ </xs:attribute>
343
+ <xs:attribute name="ImpuestoP" type="catCFDI:c_Impuesto" use="required">
344
+ <xs:annotation>
345
+ <xs:documentation>Atributo requerido para señalar la clave del tipo de impuesto trasladado conforme al monto del pago.</xs:documentation>
346
+ </xs:annotation>
347
+ </xs:attribute>
348
+ <xs:attribute name="TipoFactorP" type="catCFDI:c_TipoFactor" use="required">
349
+ <xs:annotation>
350
+ <xs:documentation>Atributo requerido para señalar la clave del tipo de factor que se aplica a la base del impuesto.</xs:documentation>
351
+ </xs:annotation>
352
+ </xs:attribute>
353
+ <xs:attribute name="TasaOCuotaP" use="optional">
354
+ <xs:annotation>
355
+ <xs:documentation>Atributo condicional para señalar el valor de la tasa o cuota del impuesto que se traslada en los documentos relacionados.</xs:documentation>
356
+ </xs:annotation>
357
+ <xs:simpleType>
358
+ <xs:restriction base="xs:decimal">
359
+ <xs:fractionDigits value="6"/>
360
+ <xs:minInclusive value="0.000000"/>
361
+ <xs:whiteSpace value="collapse"/>
362
+ </xs:restriction>
363
+ </xs:simpleType>
364
+ </xs:attribute>
365
+ <xs:attribute name="ImporteP" type="tdCFDI:t_Importe" use="optional">
366
+ <xs:annotation>
367
+ <xs:documentation>Atributo condicional para señalar la suma del impuesto trasladado, agrupado por ImpuestoP, TipoFactorP y TasaOCuotaP. No se permiten valores negativos.</xs:documentation>
368
+ </xs:annotation>
369
+ </xs:attribute>
370
+ </xs:complexType>
371
+ </xs:element>
372
+ </xs:sequence>
373
+ </xs:complexType>
374
+ </xs:element>
375
+ </xs:sequence>
376
+ </xs:complexType>
377
+ </xs:element>
378
+ </xs:sequence>
379
+ <xs:attribute name="FechaPago" type="tdCFDI:t_FechaH" use="required">
380
+ <xs:annotation>
381
+ <xs:documentation>Atributo requerido para expresar la fecha y hora en la que el beneficiario recibe el pago. Se expresa en la forma aaaa-mm-ddThh:mm:ss, de acuerdo con la especificación ISO 8601.En caso de no contar con la hora se debe registrar 12:00:00.</xs:documentation>
382
+ </xs:annotation>
383
+ </xs:attribute>
384
+ <xs:attribute name="FormaDePagoP" type="catCFDI:c_FormaPago" use="required">
385
+ <xs:annotation>
386
+ <xs:documentation>Atributo requerido para expresar la clave de la forma en que se realiza el pago.</xs:documentation>
387
+ </xs:annotation>
388
+ </xs:attribute>
389
+ <xs:attribute name="MonedaP" type="catCFDI:c_Moneda" use="required">
390
+ <xs:annotation>
391
+ <xs:documentation>Atributo requerido para identificar la clave de la moneda utilizada para realizar el pago conforme a la especificación ISO 4217. Cuando se usa moneda nacional se registra MXN. El atributo Pagos:Pago:Monto debe ser expresado en la moneda registrada en este atributo.</xs:documentation>
392
+ </xs:annotation>
393
+ </xs:attribute>
394
+ <xs:attribute name="TipoCambioP" use="optional">
395
+ <xs:annotation>
396
+ <xs:documentation>Atributo condicional para expresar el tipo de cambio de la moneda a la fecha en que se realizó el pago. El valor debe reflejar el número de pesos mexicanos que equivalen a una unidad de la divisa señalada en el atributo MonedaP. Es requerido cuando el atributo MonedaP es diferente a MXN.</xs:documentation>
397
+ </xs:annotation>
398
+ <xs:simpleType>
399
+ <xs:restriction base="xs:decimal">
400
+ <xs:fractionDigits value="6"/>
401
+ <xs:minInclusive value="0.000001"/>
402
+ <xs:whiteSpace value="collapse"/>
403
+ </xs:restriction>
404
+ </xs:simpleType>
405
+ </xs:attribute>
406
+ <xs:attribute name="Monto" type="tdCFDI:t_Importe" use="required">
407
+ <xs:annotation>
408
+ <xs:documentation>Atributo requerido para expresar el importe del pago.</xs:documentation>
409
+ </xs:annotation>
410
+ </xs:attribute>
411
+ <xs:attribute name="NumOperacion" use="optional">
412
+ <xs:annotation>
413
+ <xs:documentation>Atributo condicional para expresar el número de cheque, número de autorización, número de referencia, clave de rastreo en caso de ser SPEI, línea de captura o algún número de referencia análogo que identifique la operación que ampara el pago efectuado.</xs:documentation>
414
+ </xs:annotation>
415
+ <xs:simpleType>
416
+ <xs:restriction base="xs:string">
417
+ <xs:minLength value="1"/>
418
+ <xs:maxLength value="100"/>
419
+ <xs:pattern value="[^|]{1,100}"/>
420
+ </xs:restriction>
421
+ </xs:simpleType>
422
+ </xs:attribute>
423
+ <xs:attribute name="RfcEmisorCtaOrd" use="optional">
424
+ <xs:annotation>
425
+ <xs:documentation>Atributo condicional para expresar la clave RFC de la entidad emisora de la cuenta origen, es decir, la operadora, el banco, la institución financiera, emisor de monedero electrónico, etc., en caso de ser extranjero colocar XEXX010101000, considerar las reglas de obligatoriedad publicadas en la página del SAT para éste atributo de acuerdo con el catálogo catCFDI:c_FormaPago.</xs:documentation>
426
+ </xs:annotation>
427
+ <xs:simpleType>
428
+ <xs:restriction base="xs:string">
429
+ <xs:minLength value="12"/>
430
+ <xs:maxLength value="13"/>
431
+ <xs:whiteSpace value="collapse"/>
432
+ <xs:pattern value="XEXX010101000|[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]"/>
433
+ </xs:restriction>
434
+ </xs:simpleType>
435
+ </xs:attribute>
436
+ <xs:attribute name="NomBancoOrdExt" use="optional">
437
+ <xs:annotation>
438
+ <xs:documentation>Atributo condicional para expresar el nombre del banco ordenante, es requerido en caso de ser extranjero. Considerar las reglas de obligatoriedad publicadas en la página del SAT para éste atributo de acuerdo con el catálogo catCFDI:c_FormaPago.</xs:documentation>
439
+ </xs:annotation>
440
+ <xs:simpleType>
441
+ <xs:restriction base="xs:string">
442
+ <xs:minLength value="1"/>
443
+ <xs:maxLength value="300"/>
444
+ <xs:whiteSpace value="collapse"/>
445
+ <xs:pattern value="[^|]{1,300}"/>
446
+ </xs:restriction>
447
+ </xs:simpleType>
448
+ </xs:attribute>
449
+ <xs:attribute name="CtaOrdenante" use="optional">
450
+ <xs:annotation>
451
+ <xs:documentation>Atributo condicional para incorporar el número de la cuenta con la que se realizó el pago. Considerar las reglas de obligatoriedad publicadas en la página del SAT para éste atributo de acuerdo con el catálogo catCFDI:c_FormaPago.</xs:documentation>
452
+ </xs:annotation>
453
+ <xs:simpleType>
454
+ <xs:restriction base="xs:string">
455
+ <xs:minLength value="10"/>
456
+ <xs:maxLength value="50"/>
457
+ <xs:whiteSpace value="collapse"/>
458
+ <xs:pattern value="[A-Z0-9_]{10,50}"/>
459
+ </xs:restriction>
460
+ </xs:simpleType>
461
+ </xs:attribute>
462
+ <xs:attribute name="RfcEmisorCtaBen" type="tdCFDI:t_RFC_PM" use="optional">
463
+ <xs:annotation>
464
+ <xs:documentation>Atributo condicional para expresar la clave RFC de la entidad operadora de la cuenta destino, es decir, la operadora, el banco, la institución financiera, emisor de monedero electrónico, etc. Considerar las reglas de obligatoriedad publicadas en la página del SAT para éste atributo de acuerdo con el catálogo catCFDI:c_FormaPago.</xs:documentation>
465
+ </xs:annotation>
466
+ </xs:attribute>
467
+ <xs:attribute name="CtaBeneficiario" use="optional">
468
+ <xs:annotation>
469
+ <xs:documentation>Atributo condicional para incorporar el número de cuenta en donde se recibió el pago. Considerar las reglas de obligatoriedad publicadas en la página del SAT para éste atributo de acuerdo con el catálogo catCFDI:c_FormaPago.</xs:documentation>
470
+ </xs:annotation>
471
+ <xs:simpleType>
472
+ <xs:restriction base="xs:string">
473
+ <xs:minLength value="10"/>
474
+ <xs:maxLength value="50"/>
475
+ <xs:whiteSpace value="collapse"/>
476
+ <xs:pattern value="[A-Z0-9_]{10,50}"/>
477
+ </xs:restriction>
478
+ </xs:simpleType>
479
+ </xs:attribute>
480
+ <xs:attribute name="TipoCadPago" type="catPagos:c_TipoCadenaPago" use="optional">
481
+ <xs:annotation>
482
+ <xs:documentation>Atributo condicional para identificar la clave del tipo de cadena de pago que genera la entidad receptora del pago. Considerar las reglas de obligatoriedad publicadas en la página del SAT para éste atributo de acuerdo con el catálogo catCFDI:c_FormaPago.</xs:documentation>
483
+ </xs:annotation>
484
+ </xs:attribute>
485
+ <xs:attribute name="CertPago" use="optional">
486
+ <xs:annotation>
487
+ <xs:documentation>Atributo condicional que sirve para incorporar el certificado que ampara al pago, como una cadena de texto en formato base 64. Es requerido en caso de que el atributo TipoCadPago contenga información.</xs:documentation>
488
+ </xs:annotation>
489
+ <xs:simpleType>
490
+ <xs:restriction base="xs:base64Binary">
491
+ <xs:whiteSpace value="collapse"/>
492
+ </xs:restriction>
493
+ </xs:simpleType>
494
+ </xs:attribute>
495
+ <xs:attribute name="CadPago" use="optional">
496
+ <xs:annotation>
497
+ <xs:documentation>Atributo condicional para expresar la cadena original del comprobante de pago generado por la entidad emisora de la cuenta beneficiaria. Es requerido en caso de que el atributo TipoCadPago contenga información.</xs:documentation>
498
+ </xs:annotation>
499
+ <xs:simpleType>
500
+ <xs:restriction base="xs:string">
501
+ <xs:minLength value="1"/>
502
+ <xs:maxLength value="8192"/>
503
+ <xs:whiteSpace value="collapse"/>
504
+ </xs:restriction>
505
+ </xs:simpleType>
506
+ </xs:attribute>
507
+ <xs:attribute name="SelloPago" use="optional">
508
+ <xs:annotation>
509
+ <xs:documentation>Atributo condicional para integrar el sello digital que se asocie al pago. La entidad que emite el comprobante de pago, ingresa una cadena original y el sello digital en una sección de dicho comprobante, este sello digital es el que se debe registrar en este atributo. Debe ser expresado como una cadena de texto en formato base 64. Es requerido en caso de que el atributo TipoCadPago contenga información.</xs:documentation>
510
+ </xs:annotation>
511
+ <xs:simpleType>
512
+ <xs:restriction base="xs:base64Binary">
513
+ <xs:whiteSpace value="collapse"/>
514
+ </xs:restriction>
515
+ </xs:simpleType>
516
+ </xs:attribute>
517
+ </xs:complexType>
518
+ </xs:element>
519
+ </xs:sequence>
520
+ <xs:attribute name="Version" use="required" fixed="2.0">
521
+ <xs:annotation>
522
+ <xs:documentation>Atributo requerido que indica la versión del complemento para recepción de pagos.</xs:documentation>
523
+ </xs:annotation>
524
+ <xs:simpleType>
525
+ <xs:restriction base="xs:string">
526
+ <xs:whiteSpace value="collapse"/>
527
+ </xs:restriction>
528
+ </xs:simpleType>
529
+ </xs:attribute>
530
+ </xs:complexType>
531
+ </xs:element>
532
+ </xs:schema>