MX-SAT 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +20 -0
  3. data/.rspec +3 -0
  4. data/.travis.yml +11 -0
  5. data/.yardopts +9 -0
  6. data/Gemfile +34 -0
  7. data/Guardfile +26 -0
  8. data/LICENSE.txt +22 -0
  9. data/MX-SAT.gemspec +26 -0
  10. data/README.md +89 -0
  11. data/REFERENCIAS.md +30 -0
  12. data/Rakefile +15 -0
  13. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/Anexo24_05012015.pdf +0 -0
  14. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/M_1aRMRMF_270215.pdf +0 -0
  15. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/RecomendacionesalSAT.pdf +0 -0
  16. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/catalogo_bancos.pdf +0 -0
  17. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/catalogo_metodos_pago.pdf +0 -0
  18. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/catalogo_monedas.pdf +0 -0
  19. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/codigo_agrupador.pdf +0 -0
  20. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/e_AuxiliarCtas.pdf +0 -0
  21. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/e_AuxiliarFolios.pdf +0 -0
  22. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/e_BalanzaComprobacion.pdf +0 -0
  23. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/e_CatalogoCuentas.pdf +0 -0
  24. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/e_PolizasPeriodo.pdf +0 -0
  25. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/e_SelloDigitalContElec.pdf +0 -0
  26. data/data/MX/SAT/contabilidad/archivos/v1.0/pdf/extracto_reglas.pdf +0 -0
  27. data/data/MX/SAT/contabilidad/archivos/v1.0/plantillas_xls/balanza_comprobacion.xlsx +0 -0
  28. data/data/MX/SAT/contabilidad/archivos/v1.0/plantillas_xls/catalogo_cuentas.xlsx +0 -0
  29. data/lib/MX/SAT.rb +8 -0
  30. data/lib/MX/SAT/Contabilidad/balanza_comprobacion.rb +141 -0
  31. data/lib/MX/SAT/Contabilidad/catalogo_cuentas.rb +117 -0
  32. data/lib/MX/SAT/Contabilidad/data/v1.1/xsd/AuxiliarCtas_1_1.xsd +215 -0
  33. data/lib/MX/SAT/Contabilidad/data/v1.1/xsd/AuxiliarFolios_1_2.xsd +342 -0
  34. data/lib/MX/SAT/Contabilidad/data/v1.1/xsd/BalanzaComprobacion_1_1.xsd +160 -0
  35. data/lib/MX/SAT/Contabilidad/data/v1.1/xsd/CatalogoCuentas_1_1.xsd +157 -0
  36. data/lib/MX/SAT/Contabilidad/data/v1.1/xsd/CatalogosParaEsqContE.xsd +1398 -0
  37. data/lib/MX/SAT/Contabilidad/data/v1.1/xsd/PolizasPeriodo_1_1.xsd +664 -0
  38. data/lib/MX/SAT/Contabilidad/data/v1.1/xsd/SelloDigitalContElec.xsd +80 -0
  39. data/lib/MX/SAT/Contabilidad/data/v1.1/xslt/AuxiliarCtas_1_1.xslt +63 -0
  40. data/lib/MX/SAT/Contabilidad/data/v1.1/xslt/AuxiliarFolios_1_1.xslt +104 -0
  41. data/lib/MX/SAT/Contabilidad/data/v1.1/xslt/BalanzaComprobacion_1_1.xslt +53 -0
  42. data/lib/MX/SAT/Contabilidad/data/v1.1/xslt/CatalogoCuentas_1_1.xslt +47 -0
  43. data/lib/MX/SAT/Contabilidad/data/v1.1/xslt/PolizasPeriodo_1_1.xslt +176 -0
  44. data/lib/MX/SAT/Contabilidad/data/v1.1/xslt/utilerias.xslt +22 -0
  45. data/lib/MX/SAT/certificacion.rb +36 -0
  46. data/lib/MX/SAT/version.rb +6 -0
  47. data/spec/MX/SAT/contabilidad/balanza_comprobacion_spec.rb +160 -0
  48. data/spec/MX/SAT/contabilidad/catalogo_cuentas_spec.rb +101 -0
  49. data/spec/spec_helper.rb +23 -0
  50. data/spec/support/archivos/xlsx/balanza_comprobacion_complementaria.xlsx +0 -0
  51. data/spec/support/archivos/xlsx/balanza_comprobacion_normal.xlsx +0 -0
  52. data/spec/support/archivos/xlsx/catalogo_cuentas.xlsx +0 -0
  53. data/spec/support/archivos/xml/MTS110304UT4201501BC.xml +8 -0
  54. data/spec/support/archivos/xml/MTS110304UT4201501BN.xml +8 -0
  55. data/spec/support/archivos/xml/MTS110304UT4201501CT.xml +8 -0
  56. metadata +152 -0
@@ -0,0 +1,664 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:PLZ="www.sat.gob.mx/esquemas/ContabilidadE/1_1/PolizasPeriodo" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:contelec_td="www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogosParaEsqContE" targetNamespace="www.sat.gob.mx/esquemas/ContabilidadE/1_1/PolizasPeriodo" elementFormDefault="qualified" attributeFormDefault="unqualified">
3
+ <xs:import namespace="www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogosParaEsqContE" schemaLocation="http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogosParaEsqContE/CatalogosParaEsqContE.xsd"/>
4
+ <xs:element name="Polizas">
5
+ <xs:annotation>
6
+ <xs:documentation>Estándar de pólizas del periodo que se entrega como parte de la contabilidad electrónica.</xs:documentation>
7
+ </xs:annotation>
8
+ <xs:complexType>
9
+ <xs:sequence>
10
+ <xs:element name="Poliza" maxOccurs="unbounded">
11
+ <xs:annotation>
12
+ <xs:documentation>Nodo obligatorio para relacionar el detalle de cada transacción dentro de la póliza.</xs:documentation>
13
+ </xs:annotation>
14
+ <xs:complexType>
15
+ <xs:sequence>
16
+ <xs:element name="Transaccion" maxOccurs="unbounded">
17
+ <xs:annotation>
18
+ <xs:documentation>Nodo obligatorio para relacionar el detalle de cada transacción dentro de la póliza</xs:documentation>
19
+ </xs:annotation>
20
+ <xs:complexType>
21
+ <xs:sequence>
22
+ <xs:element name="CompNal" minOccurs="0" maxOccurs="unbounded">
23
+ <xs:annotation>
24
+ <xs:documentation>Nodo opcional para relacionar el detalle de los comprobantes de origen nacional relacionados con la transacción. Se considera que se debe identificar, el soporte documental, tanto en la provisión, como en el pago y/o cobro de cada una de las cuentas y subcuentas que se vean afectadas. Se convierte en requerido cuando se cuente con la información.</xs:documentation>
25
+ </xs:annotation>
26
+ <xs:complexType>
27
+ <xs:attribute name="UUID_CFDI" use="required">
28
+ <xs:annotation>
29
+ <xs:documentation>Atributo requerido para expresar la clave UUID del CFDI soporte de la operación. (36 caracteres)</xs:documentation>
30
+ </xs:annotation>
31
+ <xs:simpleType>
32
+ <xs:restriction base="xs:string">
33
+ <xs:whiteSpace value="collapse"/>
34
+ <xs:length value="36"/>
35
+ <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}"/>
36
+ </xs:restriction>
37
+ </xs:simpleType>
38
+ </xs:attribute>
39
+ <xs:attribute name="RFC" use="required">
40
+ <xs:annotation>
41
+ <xs:documentation>Atributo requerido para expresar el RFC relacionado con el movimiento o transacción. El RFC al que se hace referencia, es el distinto del contribuyente que envía los datos, es decir, el RFC del tercero vinculado.</xs:documentation>
42
+ </xs:annotation>
43
+ <xs:simpleType>
44
+ <xs:restriction base="xs:string">
45
+ <xs:minLength value="12"/>
46
+ <xs:maxLength value="13"/>
47
+ <xs:whiteSpace value="collapse"/>
48
+ <xs:pattern value="[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?"/>
49
+ </xs:restriction>
50
+ </xs:simpleType>
51
+ </xs:attribute>
52
+ <xs:attribute name="MontoTotal" type="PLZ:t_Importe" use="required">
53
+ <xs:annotation>
54
+ <xs:documentation>Atributo requerido para expresar el monto total del CFDI que soporte la transacción. (Incluye IVA en su caso)</xs:documentation>
55
+ </xs:annotation>
56
+ </xs:attribute>
57
+ <xs:attribute name="Moneda" type="contelec_td:c_Moneda" use="optional">
58
+ <xs:annotation>
59
+ <xs:documentation>Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>
60
+ </xs:annotation>
61
+ </xs:attribute>
62
+ <xs:attribute name="TipCamb" use="optional">
63
+ <xs:annotation>
64
+ <xs:documentation>Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>
65
+ </xs:annotation>
66
+ <xs:simpleType>
67
+ <xs:restriction base="xs:decimal">
68
+ <xs:minInclusive value="0"/>
69
+ <xs:totalDigits value="19"/>
70
+ <xs:fractionDigits value="5"/>
71
+ </xs:restriction>
72
+ </xs:simpleType>
73
+ </xs:attribute>
74
+ </xs:complexType>
75
+ </xs:element>
76
+ <xs:element name="CompNalOtr" minOccurs="0" maxOccurs="unbounded">
77
+ <xs:annotation>
78
+ <xs:documentation>Nodo opcional para relacionar el detalle de los comprobantes de origen nacional relacionados con la transacción, diferente a CFDI, es decir, CFD y/o CBB. Se considera que se debe identificar, el soporte documental, tanto en la provisión, como en el pago y/o cobro de cada una de las cuentas y subcuentas que se vean afectadas. Se convierte en requerido cuando se cuente con la información.</xs:documentation>
79
+ </xs:annotation>
80
+ <xs:complexType>
81
+ <xs:attribute name="CFD_CBB_Serie" use="optional">
82
+ <xs:annotation>
83
+ <xs:documentation>Atributo opcional para expresar la serie del comprobante CFD_CBB que soporte la transacción.</xs:documentation>
84
+ </xs:annotation>
85
+ <xs:simpleType>
86
+ <xs:restriction base="xs:string">
87
+ <xs:minLength value="1"/>
88
+ <xs:maxLength value="10"/>
89
+ <xs:pattern value="[A-Z]+"/>
90
+ </xs:restriction>
91
+ </xs:simpleType>
92
+ </xs:attribute>
93
+ <xs:attribute name="CFD_CBB_NumFol" use="required">
94
+ <xs:annotation>
95
+ <xs:documentation>Atributo requerido para expresar el número de folio del comprobante CFD_CBB que soporte la transacción.</xs:documentation>
96
+ </xs:annotation>
97
+ <xs:simpleType>
98
+ <xs:restriction base="xs:integer">
99
+ <xs:minInclusive value="1"/>
100
+ <xs:totalDigits value="20"/>
101
+ </xs:restriction>
102
+ </xs:simpleType>
103
+ </xs:attribute>
104
+ <xs:attribute name="RFC" use="required">
105
+ <xs:annotation>
106
+ <xs:documentation>Atributo requerido para expresar el RFC relacionado con el movimiento o transacción. El RFC al que se hace referencia, es el distinto del contribuyente que envía los datos, es decir, el RFC del tercero vinculado.</xs:documentation>
107
+ </xs:annotation>
108
+ <xs:simpleType>
109
+ <xs:restriction base="xs:string">
110
+ <xs:minLength value="12"/>
111
+ <xs:maxLength value="13"/>
112
+ <xs:whiteSpace value="collapse"/>
113
+ <xs:pattern value="[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?"/>
114
+ </xs:restriction>
115
+ </xs:simpleType>
116
+ </xs:attribute>
117
+ <xs:attribute name="MontoTotal" type="PLZ:t_Importe" use="required">
118
+ <xs:annotation>
119
+ <xs:documentation>Atributo requerido para expresar el monto total del CFD y/o CBB que soporte la transacción. (Incluye IVA en su caso)</xs:documentation>
120
+ </xs:annotation>
121
+ </xs:attribute>
122
+ <xs:attribute name="Moneda" type="contelec_td:c_Moneda" use="optional">
123
+ <xs:annotation>
124
+ <xs:documentation>Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>
125
+ </xs:annotation>
126
+ </xs:attribute>
127
+ <xs:attribute name="TipCamb" use="optional">
128
+ <xs:annotation>
129
+ <xs:documentation>Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>
130
+ </xs:annotation>
131
+ <xs:simpleType>
132
+ <xs:restriction base="xs:decimal">
133
+ <xs:minInclusive value="0"/>
134
+ <xs:totalDigits value="19"/>
135
+ <xs:fractionDigits value="5"/>
136
+ </xs:restriction>
137
+ </xs:simpleType>
138
+ </xs:attribute>
139
+ </xs:complexType>
140
+ </xs:element>
141
+ <xs:element name="CompExt" minOccurs="0" maxOccurs="unbounded">
142
+ <xs:annotation>
143
+ <xs:documentation>Nodo opcional para relacionar el detalle de los comprobantes de origen extranjero relacionados con la transacción. Se considera que se debe identificar, el soporte documental, tanto en la provisión, como en el pago y/o cobro de cada una de las cuentas y subcuentas que se vean afectadas. Se convierte en requerido cuando se cuente con la información.</xs:documentation>
144
+ </xs:annotation>
145
+ <xs:complexType>
146
+ <xs:attribute name="NumFactExt" use="required">
147
+ <xs:annotation>
148
+ <xs:documentation>Atributo requerido para expresar la clave numérico o alfanumérico del comprobante de origen extranjero que soporte la operación</xs:documentation>
149
+ </xs:annotation>
150
+ <xs:simpleType>
151
+ <xs:restriction base="xs:string">
152
+ <xs:whiteSpace value="collapse"/>
153
+ <xs:minLength value="1"/>
154
+ <xs:maxLength value="36"/>
155
+ </xs:restriction>
156
+ </xs:simpleType>
157
+ </xs:attribute>
158
+ <xs:attribute name="TaxID" use="optional">
159
+ <xs:annotation>
160
+ <xs:documentation>Atributo opcional que sirve para expresar el Identificador del contribuyente extranjero. Se convierte en requerido cuando se cuente con la información </xs:documentation>
161
+ </xs:annotation>
162
+ <xs:simpleType>
163
+ <xs:restriction base="xs:string">
164
+ <xs:minLength value="1"/>
165
+ <xs:maxLength value="30"/>
166
+ <xs:whiteSpace value="collapse"/>
167
+ </xs:restriction>
168
+ </xs:simpleType>
169
+ </xs:attribute>
170
+ <xs:attribute name="MontoTotal" type="PLZ:t_Importe" use="required">
171
+ <xs:annotation>
172
+ <xs:documentation>Atributo requerido para expresar el monto total del comprobante de origen extranjero que soporte la operación.</xs:documentation>
173
+ </xs:annotation>
174
+ </xs:attribute>
175
+ <xs:attribute name="Moneda" type="contelec_td:c_Moneda" use="optional">
176
+ <xs:annotation>
177
+ <xs:documentation>Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>
178
+ </xs:annotation>
179
+ </xs:attribute>
180
+ <xs:attribute name="TipCamb" use="optional">
181
+ <xs:annotation>
182
+ <xs:documentation>Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>
183
+ </xs:annotation>
184
+ <xs:simpleType>
185
+ <xs:restriction base="xs:decimal">
186
+ <xs:minInclusive value="0"/>
187
+ <xs:totalDigits value="19"/>
188
+ <xs:fractionDigits value="5"/>
189
+ </xs:restriction>
190
+ </xs:simpleType>
191
+ </xs:attribute>
192
+ </xs:complexType>
193
+ </xs:element>
194
+ <xs:element name="Cheque" minOccurs="0" maxOccurs="unbounded">
195
+ <xs:annotation>
196
+ <xs:documentation>Nodo opcional para relacionar el detalle de los cheques que integran la póliza. Se convierte en requerido cuando exista una salida de recursos, que involucre este método de pago de la obligación contraída por parte del contribuyente que envía los datos</xs:documentation>
197
+ </xs:annotation>
198
+ <xs:complexType>
199
+ <xs:attribute name="Num" use="required">
200
+ <xs:annotation>
201
+ <xs:documentation>Atributo requerido para expresar el número del cheque emitido</xs:documentation>
202
+ </xs:annotation>
203
+ <xs:simpleType>
204
+ <xs:restriction base="xs:string">
205
+ <xs:maxLength value="20"/>
206
+ <xs:minLength value="1"/>
207
+ </xs:restriction>
208
+ </xs:simpleType>
209
+ </xs:attribute>
210
+ <xs:attribute name="BanEmisNal" type="contelec_td:c_Banco" use="required">
211
+ <xs:annotation>
212
+ <xs:documentation>Atributo requerido, para expresar el Banco nacional emisor del cheque, de acuerdo al catálogo publicado en la página de internet del SAT. Se consideran banco nacional aquellos bancos de residencia nacional, indistintamente, si el tipo de moneda es nacional o extranjero.</xs:documentation>
213
+ </xs:annotation>
214
+ </xs:attribute>
215
+ <xs:attribute name="BanEmisExt" use="optional">
216
+ <xs:annotation>
217
+ <xs:documentation>Atributo opcional para expresar el nombre completo del Banco extranjero emisor del cheque. Se convierte en requerido cuando se cuente con la información.</xs:documentation>
218
+ </xs:annotation>
219
+ <xs:simpleType>
220
+ <xs:restriction base="xs:string">
221
+ <xs:maxLength value="150"/>
222
+ </xs:restriction>
223
+ </xs:simpleType>
224
+ </xs:attribute>
225
+ <xs:attribute name="CtaOri" use="required">
226
+ <xs:annotation>
227
+ <xs:documentation>Atributo requerido para expresar el número de cuenta bancaria del origen de los recursos.</xs:documentation>
228
+ </xs:annotation>
229
+ <xs:simpleType>
230
+ <xs:restriction base="xs:string">
231
+ <xs:maxLength value="50"/>
232
+ <xs:minLength value="1"/>
233
+ </xs:restriction>
234
+ </xs:simpleType>
235
+ </xs:attribute>
236
+ <xs:attribute name="Fecha" type="xs:date" use="required">
237
+ <xs:annotation>
238
+ <xs:documentation>Atributo requerido, es la fecha del cheque</xs:documentation>
239
+ </xs:annotation>
240
+ </xs:attribute>
241
+ <xs:attribute name="Benef" use="required">
242
+ <xs:annotation>
243
+ <xs:documentation>Atributo requerido, nombre del beneficiario del cheque</xs:documentation>
244
+ </xs:annotation>
245
+ <xs:simpleType>
246
+ <xs:restriction base="xs:string">
247
+ <xs:minLength value="1"/>
248
+ <xs:maxLength value="300"/>
249
+ </xs:restriction>
250
+ </xs:simpleType>
251
+ </xs:attribute>
252
+ <xs:attribute name="RFC" use="required">
253
+ <xs:annotation>
254
+ <xs:documentation>Atributo requerido para expresar el RFC relacionado con el movimiento. El RFC al que se hace referencia, es el distinto del contribuyente que envía los datos, es decir, el RFC del tercero vinculado.</xs:documentation>
255
+ </xs:annotation>
256
+ <xs:simpleType>
257
+ <xs:restriction base="xs:string">
258
+ <xs:minLength value="12"/>
259
+ <xs:maxLength value="13"/>
260
+ <xs:whiteSpace value="collapse"/>
261
+ <xs:pattern value="[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?"/>
262
+ </xs:restriction>
263
+ </xs:simpleType>
264
+ </xs:attribute>
265
+ <xs:attribute name="Monto" type="PLZ:t_Importe" use="required">
266
+ <xs:annotation>
267
+ <xs:documentation>Atributo requerido, es el monto del cheque emitido</xs:documentation>
268
+ </xs:annotation>
269
+ </xs:attribute>
270
+ <xs:attribute name="Moneda" type="contelec_td:c_Moneda" use="optional">
271
+ <xs:annotation>
272
+ <xs:documentation>Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>
273
+ </xs:annotation>
274
+ </xs:attribute>
275
+ <xs:attribute name="TipCamb" use="optional">
276
+ <xs:annotation>
277
+ <xs:documentation>Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>
278
+ </xs:annotation>
279
+ <xs:simpleType>
280
+ <xs:restriction base="xs:decimal">
281
+ <xs:minInclusive value="0"/>
282
+ <xs:totalDigits value="19"/>
283
+ <xs:fractionDigits value="5"/>
284
+ </xs:restriction>
285
+ </xs:simpleType>
286
+ </xs:attribute>
287
+ </xs:complexType>
288
+ </xs:element>
289
+ <xs:element name="Transferencia" minOccurs="0" maxOccurs="unbounded">
290
+ <xs:annotation>
291
+ <xs:documentation>Nodo opcional para relacionar el detalle de las transferencias bancarias que integran la póliza. Se convierte en requerido cuando exista una salida de recursos que involucre este método de pago por parte del contribuyente que envía los datos. Además se convierte en requerido cuando se realicen transacciones, entre las cuentas propias del contribuyente.</xs:documentation>
292
+ </xs:annotation>
293
+ <xs:complexType>
294
+ <xs:attribute name="CtaOri" use="optional">
295
+ <xs:annotation>
296
+ <xs:documentation>Atributo opcional para expresar el número de cuenta de origen desde la cual se transfieren los recursos. Se convierte en requerido cuando se cuente con la información. </xs:documentation>
297
+ </xs:annotation>
298
+ <xs:simpleType>
299
+ <xs:restriction base="xs:string">
300
+ <xs:minLength value="1"/>
301
+ <xs:maxLength value="50"/>
302
+ </xs:restriction>
303
+ </xs:simpleType>
304
+ </xs:attribute>
305
+ <xs:attribute name="BancoOriNal" type="contelec_td:c_Banco" use="required">
306
+ <xs:annotation>
307
+ <xs:documentation>Atributo requerido, para expresar el Banco de la cuenta origen de la transferencia, de acuerdo al catálogo publicado en la página de internet del SAT. Se considera banco nacional aquellos bancos de residencia nacional, indistintamente, si el tipo de moneda es nacional o extranjero.</xs:documentation>
308
+ </xs:annotation>
309
+ </xs:attribute>
310
+ <xs:attribute name="BancoOriExt" use="optional">
311
+ <xs:annotation>
312
+ <xs:documentation>Atributo opcional para expresar el nombre completo del banco origen extranjero. Se convierte en requerido cuando se cuente con la información.</xs:documentation>
313
+ </xs:annotation>
314
+ <xs:simpleType>
315
+ <xs:restriction base="xs:string">
316
+ <xs:maxLength value="150"/>
317
+ </xs:restriction>
318
+ </xs:simpleType>
319
+ </xs:attribute>
320
+ <xs:attribute name="CtaDest" use="required">
321
+ <xs:annotation>
322
+ <xs:documentation>Atributo requerido para expresar el número de cuenta destino, la cual se transfieren los recursos.</xs:documentation>
323
+ </xs:annotation>
324
+ <xs:simpleType>
325
+ <xs:restriction base="xs:string">
326
+ <xs:minLength value="1"/>
327
+ <xs:maxLength value="50"/>
328
+ </xs:restriction>
329
+ </xs:simpleType>
330
+ </xs:attribute>
331
+ <xs:attribute name="BancoDestNal" type="contelec_td:c_Banco" use="required">
332
+ <xs:annotation>
333
+ <xs:documentation>Atributo requerido, para expresar el Banco de la cuenta destino de la transferencia, de acuerdo al catálogo publicado en la página de internet del SAT. Se considera banco nacional aquellos bancos de residencia nacional, indistintamente, si el tipo de moneda es nacional o extranjero.</xs:documentation>
334
+ </xs:annotation>
335
+ </xs:attribute>
336
+ <xs:attribute name="BancoDestExt" use="optional">
337
+ <xs:annotation>
338
+ <xs:documentation>Atributo opcional para expresar el nombre completo del banco destino extranjero. Se convierte en requerido cuando se cuente con la información.</xs:documentation>
339
+ </xs:annotation>
340
+ <xs:simpleType>
341
+ <xs:restriction base="xs:string">
342
+ <xs:maxLength value="150"/>
343
+ </xs:restriction>
344
+ </xs:simpleType>
345
+ </xs:attribute>
346
+ <xs:attribute name="Fecha" type="xs:date" use="required">
347
+ <xs:annotation>
348
+ <xs:documentation>Atributo requerido, es la fecha de la transferencia</xs:documentation>
349
+ </xs:annotation>
350
+ </xs:attribute>
351
+ <xs:attribute name="Benef" use="required">
352
+ <xs:annotation>
353
+ <xs:documentation>Atributo requerido, nombre del beneficiario de la transferencia.</xs:documentation>
354
+ </xs:annotation>
355
+ <xs:simpleType>
356
+ <xs:restriction base="xs:string">
357
+ <xs:minLength value="1"/>
358
+ <xs:maxLength value="300"/>
359
+ </xs:restriction>
360
+ </xs:simpleType>
361
+ </xs:attribute>
362
+ <xs:attribute name="RFC" use="required">
363
+ <xs:annotation>
364
+ <xs:documentation>Atributo requerido para expresar el RFC relacionado con el movimiento. El RFC al que se hace referencia, es el distinto del contribuyente que envía los datos, es decir, el RFC del tercero vinculado.</xs:documentation>
365
+ </xs:annotation>
366
+ <xs:simpleType>
367
+ <xs:restriction base="xs:string">
368
+ <xs:minLength value="12"/>
369
+ <xs:maxLength value="13"/>
370
+ <xs:whiteSpace value="collapse"/>
371
+ <xs:pattern value="[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?"/>
372
+ </xs:restriction>
373
+ </xs:simpleType>
374
+ </xs:attribute>
375
+ <xs:attribute name="Monto" type="PLZ:t_Importe" use="required">
376
+ <xs:annotation>
377
+ <xs:documentation>Atributo requerido, es el monto transferido</xs:documentation>
378
+ </xs:annotation>
379
+ </xs:attribute>
380
+ <xs:attribute name="Moneda" type="contelec_td:c_Moneda" use="optional">
381
+ <xs:annotation>
382
+ <xs:documentation>Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>
383
+ </xs:annotation>
384
+ </xs:attribute>
385
+ <xs:attribute name="TipCamb" use="optional">
386
+ <xs:annotation>
387
+ <xs:documentation>Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>
388
+ </xs:annotation>
389
+ <xs:simpleType>
390
+ <xs:restriction base="xs:decimal">
391
+ <xs:minInclusive value="0"/>
392
+ <xs:totalDigits value="19"/>
393
+ <xs:fractionDigits value="5"/>
394
+ </xs:restriction>
395
+ </xs:simpleType>
396
+ </xs:attribute>
397
+ </xs:complexType>
398
+ </xs:element>
399
+ <xs:element name="OtrMetodoPago" minOccurs="0" maxOccurs="unbounded">
400
+ <xs:annotation>
401
+ <xs:documentation>Nodo opcional para relacionar otros métodos de pago de la transacción. Se convierte en requerido cuando la transacción involucra un método de pago diverso a cheque y/o transferencia.</xs:documentation>
402
+ </xs:annotation>
403
+ <xs:complexType>
404
+ <xs:attribute name="MetPagoPol" type="contelec_td:c_MetPagos" use="required">
405
+ <xs:annotation>
406
+ <xs:documentation>Atributo requerido para expresar el método de pago de la operación, de acuerdo al catálogo publicado en la página de internet del SAT.</xs:documentation>
407
+ </xs:annotation>
408
+ </xs:attribute>
409
+ <xs:attribute name="Fecha" type="xs:date" use="required">
410
+ <xs:annotation>
411
+ <xs:documentation>Atributo requerido, es la fecha de la transacción de otros métodos de pago.</xs:documentation>
412
+ </xs:annotation>
413
+ </xs:attribute>
414
+ <xs:attribute name="Benef" use="required">
415
+ <xs:annotation>
416
+ <xs:documentation>Atributo requerido, nombre de la persona o contribuyente a la cual se realiza éstos métodos de pago.</xs:documentation>
417
+ </xs:annotation>
418
+ <xs:simpleType>
419
+ <xs:restriction base="xs:string">
420
+ <xs:minLength value="1"/>
421
+ <xs:maxLength value="300"/>
422
+ </xs:restriction>
423
+ </xs:simpleType>
424
+ </xs:attribute>
425
+ <xs:attribute name="RFC" use="required">
426
+ <xs:annotation>
427
+ <xs:documentation>Atributo requerido para expresar el RFC relacionado con la transacción. El RFC al que se hace referencia, es el distinto del contribuyente que envía los datos, es decir, el RFC del tercero vinculado.</xs:documentation>
428
+ </xs:annotation>
429
+ <xs:simpleType>
430
+ <xs:restriction base="xs:string">
431
+ <xs:minLength value="12"/>
432
+ <xs:maxLength value="13"/>
433
+ <xs:whiteSpace value="collapse"/>
434
+ <xs:pattern value="[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?"/>
435
+ </xs:restriction>
436
+ </xs:simpleType>
437
+ </xs:attribute>
438
+ <xs:attribute name="Monto" type="PLZ:t_Importe" use="required">
439
+ <xs:annotation>
440
+ <xs:documentation>Atributo requerido para expresar el monto del método de pago soporte de la transacción.</xs:documentation>
441
+ </xs:annotation>
442
+ </xs:attribute>
443
+ <xs:attribute name="Moneda" type="contelec_td:c_Moneda" use="optional">
444
+ <xs:annotation>
445
+ <xs:documentation>Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>
446
+ </xs:annotation>
447
+ </xs:attribute>
448
+ <xs:attribute name="TipCamb" use="optional">
449
+ <xs:annotation>
450
+ <xs:documentation>Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>
451
+ </xs:annotation>
452
+ <xs:simpleType>
453
+ <xs:restriction base="xs:decimal">
454
+ <xs:minInclusive value="0"/>
455
+ <xs:totalDigits value="19"/>
456
+ <xs:fractionDigits value="5"/>
457
+ </xs:restriction>
458
+ </xs:simpleType>
459
+ </xs:attribute>
460
+ </xs:complexType>
461
+ </xs:element>
462
+ </xs:sequence>
463
+ <xs:attribute name="NumCta" use="required">
464
+ <xs:annotation>
465
+ <xs:documentation>Atributo requerido para expresar la clave con que se distingue la cuenta o subcuenta que se afecta por la transacción.</xs:documentation>
466
+ </xs:annotation>
467
+ <xs:simpleType>
468
+ <xs:restriction base="xs:string">
469
+ <xs:minLength value="1"/>
470
+ <xs:maxLength value="100"/>
471
+ </xs:restriction>
472
+ </xs:simpleType>
473
+ </xs:attribute>
474
+ <xs:attribute name="DesCta" use="required">
475
+ <xs:annotation>
476
+ <xs:documentation>Atributo requerido para expresar el nombre de la cuenta o subcuenta que se afecta por la transacción.</xs:documentation>
477
+ </xs:annotation>
478
+ <xs:simpleType>
479
+ <xs:restriction base="xs:string">
480
+ <xs:minLength value="1"/>
481
+ <xs:maxLength value="100"/>
482
+ </xs:restriction>
483
+ </xs:simpleType>
484
+ </xs:attribute>
485
+ <xs:attribute name="Concepto" use="required">
486
+ <xs:annotation>
487
+ <xs:documentation>Atributo requerido para expresar el concepto de la transacción</xs:documentation>
488
+ </xs:annotation>
489
+ <xs:simpleType>
490
+ <xs:restriction base="xs:string">
491
+ <xs:minLength value="1"/>
492
+ <xs:maxLength value="200"/>
493
+ </xs:restriction>
494
+ </xs:simpleType>
495
+ </xs:attribute>
496
+ <xs:attribute name="Debe" type="PLZ:t_Importe" use="required">
497
+ <xs:annotation>
498
+ <xs:documentation>Atributo requerido para expresar el monto del cargo a la cuenta o subcuenta que se afecta en la transacción. En caso de no existir dato, colocar cero (0)</xs:documentation>
499
+ </xs:annotation>
500
+ </xs:attribute>
501
+ <xs:attribute name="Haber" type="PLZ:t_Importe" use="required">
502
+ <xs:annotation>
503
+ <xs:documentation>Atributo requerido para expresar el monto del abono a la cuenta o subcuenta que se afecta en la transacción. En caso de no existir dato, colocar cero (0)</xs:documentation>
504
+ </xs:annotation>
505
+ </xs:attribute>
506
+ </xs:complexType>
507
+ </xs:element>
508
+ </xs:sequence>
509
+ <xs:attribute name="NumUnIdenPol" use="required">
510
+ <xs:annotation>
511
+ <xs:documentation>Atributo requerido para expresar el número único de identificación de la póliza. El campo deberá contener la clave o nombre utilizado por el contribuyente para diferenciar, el tipo de póliza y el número correspondiente. En un mes ordinario no debe repetirse un mismo número de póliza con la clave o nombre asignado por el contribuyente.</xs:documentation>
512
+ </xs:annotation>
513
+ <xs:simpleType>
514
+ <xs:restriction base="xs:string">
515
+ <xs:maxLength value="50"/>
516
+ <xs:minLength value="1"/>
517
+ </xs:restriction>
518
+ </xs:simpleType>
519
+ </xs:attribute>
520
+ <xs:attribute name="Fecha" type="xs:date" use="required">
521
+ <xs:annotation>
522
+ <xs:documentation>Atributo requerido para expresar la fecha de registro de la póliza</xs:documentation>
523
+ </xs:annotation>
524
+ </xs:attribute>
525
+ <xs:attribute name="Concepto" use="required">
526
+ <xs:annotation>
527
+ <xs:documentation>Atributo requerido para expresar el concepto de la operación</xs:documentation>
528
+ </xs:annotation>
529
+ <xs:simpleType>
530
+ <xs:restriction base="xs:string">
531
+ <xs:minLength value="1"/>
532
+ <xs:maxLength value="300"/>
533
+ </xs:restriction>
534
+ </xs:simpleType>
535
+ </xs:attribute>
536
+ </xs:complexType>
537
+ </xs:element>
538
+ </xs:sequence>
539
+ <xs:attribute name="Version" type="xs:string" use="required" fixed="1.1">
540
+ <xs:annotation>
541
+ <xs:documentation>Atributo requerido para expresar la versión del formato.</xs:documentation>
542
+ </xs:annotation>
543
+ </xs:attribute>
544
+ <xs:attribute name="RFC" use="required">
545
+ <xs:annotation>
546
+ <xs:documentation>Atributo requerido para expresar el RFC del contribuyente que envía los datos</xs:documentation>
547
+ </xs:annotation>
548
+ <xs:simpleType>
549
+ <xs:restriction base="xs:string">
550
+ <xs:minLength value="12"/>
551
+ <xs:maxLength value="13"/>
552
+ <xs:whiteSpace value="collapse"/>
553
+ <xs:pattern value="[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?"/>
554
+ </xs:restriction>
555
+ </xs:simpleType>
556
+ </xs:attribute>
557
+ <xs:attribute name="Mes" use="required">
558
+ <xs:annotation>
559
+ <xs:documentation>Atributo requerido para expresar el mes al que corresponde la póliza</xs:documentation>
560
+ </xs:annotation>
561
+ <xs:simpleType>
562
+ <xs:restriction base="xs:string">
563
+ <xs:enumeration value="01"/>
564
+ <xs:enumeration value="02"/>
565
+ <xs:enumeration value="03"/>
566
+ <xs:enumeration value="04"/>
567
+ <xs:enumeration value="05"/>
568
+ <xs:enumeration value="06"/>
569
+ <xs:enumeration value="07"/>
570
+ <xs:enumeration value="08"/>
571
+ <xs:enumeration value="09"/>
572
+ <xs:enumeration value="10"/>
573
+ <xs:enumeration value="11"/>
574
+ <xs:enumeration value="12"/>
575
+ </xs:restriction>
576
+ </xs:simpleType>
577
+ </xs:attribute>
578
+ <xs:attribute name="Anio" use="required">
579
+ <xs:annotation>
580
+ <xs:documentation>Atributo requerido para expresar el año al que corresponde la póliza</xs:documentation>
581
+ </xs:annotation>
582
+ <xs:simpleType>
583
+ <xs:restriction base="xs:int">
584
+ <xs:minInclusive value="2015"/>
585
+ <xs:maxInclusive value="2099"/>
586
+ </xs:restriction>
587
+ </xs:simpleType>
588
+ </xs:attribute>
589
+ <xs:attribute name="TipoSolicitud" use="required">
590
+ <xs:annotation>
591
+ <xs:documentation>Atributo requerido para expresar el tipo de solicitud de la póliza ( AF - Acto de Fiscalización; FC - Fiscalización Compulsa; DE - Devolución; CO - Compensación )</xs:documentation>
592
+ </xs:annotation>
593
+ <xs:simpleType>
594
+ <xs:restriction base="xs:string">
595
+ <xs:pattern value="AF|FC|DE|CO"/>
596
+ </xs:restriction>
597
+ </xs:simpleType>
598
+ </xs:attribute>
599
+ <xs:attribute name="NumOrden" use="optional">
600
+ <xs:annotation>
601
+ <xs:documentation>Atributo opcional para expresar el número de orden asignado al acto de fiscalización al que hace referencia la solicitud de la póliza. Requerido para tipo de solicitud = AF y FC. Se convierte en requerido cuando se cuente con la información.</xs:documentation>
602
+ </xs:annotation>
603
+ <xs:simpleType>
604
+ <xs:restriction base="xs:string">
605
+ <xs:length value="13"/>
606
+ <xs:pattern value="[A-Z]{3}[0-6][0-9][0-9]{5}(/)[0-9]{2}"/>
607
+ </xs:restriction>
608
+ </xs:simpleType>
609
+ </xs:attribute>
610
+ <xs:attribute name="NumTramite" use="optional">
611
+ <xs:annotation>
612
+ <xs:documentation>Atributo opcional para expresar el número de trámite asignado a la solicitud de devolución o compensación al que hace referencia la solicitud de la póliza. Requerido para tipo de solicitud = DE o CO. Se convierte en requerido cuando se cuente con la información.</xs:documentation>
613
+ </xs:annotation>
614
+ <xs:simpleType>
615
+ <xs:restriction base="xs:string">
616
+ <xs:length value="10"/>
617
+ <xs:pattern value="[0-9]{10}"/>
618
+ </xs:restriction>
619
+ </xs:simpleType>
620
+ </xs:attribute>
621
+ <xs:attribute name="Sello" use="optional">
622
+ <xs:annotation>
623
+ <xs:documentation>Atributo opcional para contener el sello digital del archivo de contabilidad electrónica. El sello deberá ser expresado cómo una cadena de texto en formato Base 64</xs:documentation>
624
+ </xs:annotation>
625
+ <xs:simpleType>
626
+ <xs:restriction base="xs:string">
627
+ <xs:whiteSpace value="collapse"/>
628
+ </xs:restriction>
629
+ </xs:simpleType>
630
+ </xs:attribute>
631
+ <xs:attribute name="noCertificado" use="optional">
632
+ <xs:annotation>
633
+ <xs:documentation>Atributo opcional para expresar el número de serie del certificado de sello digital que ampara el archivo de contabilidad electrónica, de acuerdo al acuse correspondiente a 20 posiciones otorgado por el sistema del SAT.</xs:documentation>
634
+ </xs:annotation>
635
+ <xs:simpleType>
636
+ <xs:restriction base="xs:string">
637
+ <xs:length value="20"/>
638
+ </xs:restriction>
639
+ </xs:simpleType>
640
+ </xs:attribute>
641
+ <xs:attribute name="Certificado" use="optional">
642
+ <xs:annotation>
643
+ <xs:documentation>Atributo opcional que sirve para expresar el certificado de sello digital que ampara al archivo de contabilidad electrónica como texto, en formato base 64.</xs:documentation>
644
+ </xs:annotation>
645
+ <xs:simpleType>
646
+ <xs:restriction base="xs:string">
647
+ <xs:whiteSpace value="collapse"/>
648
+ </xs:restriction>
649
+ </xs:simpleType>
650
+ </xs:attribute>
651
+ </xs:complexType>
652
+ </xs:element>
653
+ <xs:simpleType name="t_Importe">
654
+ <xs:annotation>
655
+ <xs:documentation>Tipo definido para expresar importes numéricos con fracción hasta dos decimales</xs:documentation>
656
+ </xs:annotation>
657
+ <xs:restriction base="xs:decimal">
658
+ <xs:fractionDigits value="2"/>
659
+ <xs:whiteSpace value="collapse"/>
660
+ <xs:maxInclusive value="99999999999999.99"/>
661
+ <xs:minExclusive value="-99999999999999.99"/>
662
+ </xs:restriction>
663
+ </xs:simpleType>
664
+ </xs:schema>