Calendario de Impuestos de octubre 2016 en México
Estás aquí: Inicio » Guía Impositiva » ¿Cómo convertir un Excel a XML para Contabilidad Electrónica?

¿Cómo convertir un Excel a XML para Contabilidad Electrónica?

Actualmente ya tenemos que estar preparados para entregar nuestra contabilidad electrónica al SAT, dado que a partir del año próximo será obligatorio para todos. Si bien los que utilizan Mis Cuentas no tendrán tanto problema, el resto de los mortales estaremos obligados a enviar de manera continua archivos en formato XML cumplimentando con los requisitos del fisco.

Por esta razón, como sabemos que muchos llevan su contabilidad en Excel, es fundamental conocer de qué manera convertir un archivo Excel a XML para poder ser entregado ante el SAT.

Debajo veremos los pasos simples para transformar un archivo de excel en XML y tras ello los formatos que se usarán en cada caso.

excel a xml contabilidad electronica

¿Cómo pasar un Excel a XML?

Según el tutorial básico de Microsoft Office, lo que debemos hacer es cumplimentar los siguientes pasos:

Descargar e instalar el complemento de herramientas XML

  • Para poder descargar el complemento debemos hacer clic a continuación “Complemento de herramientas XML de Excel 2003” y luego instalarlo fácilmente siguiendo las instrucciones.
  • Acto seguido abra el Office Excel 2007 y allí nos dirigimos a “Opciones de Excel”. Dentro de ello seleccionamos la categoría Complementos.
  • En el cuadro Administrar, haga clic en Complementos de Excel y, a continuación, en Ir.
  • Luego haga clic en Examinar, busque el archivo XmlTools.xla, selecciónelo y, a continuación, haga clic en Aceptar.
  • De forma predeterminada, este archivo se almacena en la siguiente carpeta del disco duro:
  • \Office Samples\OfficeExcel2003XMLToolsAddin.
  • Compruebe que la casilla XmlTools esté seleccionada en la lista Complementos disponibles y, a continuación, haga clic en Aceptar para cargar el complemento.

Convertir un rango de celdas en una tabla XML

  • Ahora tendremos que tener los datos que deseamos crear en el archivo de datos XML y el archivo de esquema XML. Los datos deben estar en un formato tabular de columnas y filas.
  • En la ficha Complementos, en el grupo Comandos del menú , haga clic en la flecha que aparece junto a XML Tools y, a continuación, haga clic en Convert a Range to an XML List.
  • Indique el rango de celdas de los datos que desea convertir como una referencia absoluta en el cuadro de texto.
  • Excel crea automáticamente un esquema XML, asigna las celdas al esquema, y crea una tabla XML.

Exportar la tabla XML a un archivo (.xml)

  • En la ficha Programador, en el grupo XML, haga clic en Exportar.
  • Grupo XML en la cinta de opciones

Convertidor de Excel a XML del SAT

El SAT también tiene su propia herramienta que ayuda a convertir de Excel a XML la información contable.

  • ​Componente básico. De menor tamaño de descarga pero requiere conexión a Internet durante su instalación.
  • Componente completo. De mayor tamaño de descarga, pero no requiere Internet en la instalación.

¿Cómo usar el convertidor de Excel a XML del SAT?

En primer lugar, debemos instalar la herramienta, luego abrir el Excel y allí seleccionar el complemento “Contabilidad Electrónica”.

Haciendo clic en el botón “Abrir Plantilla”, aparecerá el sistema para poder completar. Vemos que dentro del campo “Nombre” debemos introducir el nombre para guardar la planilla.

A través de esta herramienta podemos generar:

  • Catálogos de cuenta
  • Balanza de comprobación
  • Pólizas
  • Auxiliar de cuentas
  • Auxiliar de folio

En su apartado número dos, ingresamos los datos del catálogo del contribuyente.

Aquellos campos que se encuentran en color blanco son “Opcionales”. Mientras que los que están en color rojo son campos “Requeridos”.

Presenta a su vez la función de agregar filas, con el botón “Insertar fila”. Asimismo, si desea eliminar un registro, se selecciona la requerida y se usa el botón “Eliminar Fila”.

Para generar el archivo, debemos pulsar el botón “Genera XML”.

Con todos los datos “válidos” (celdas en color azul o blanco) el sistema mostrará la ventana para seleccionar la ubicación donde se desea guardar el archivo.

El resultado es el archivo .ZIP con la nomenclatura correcta, que deberá enviarse a través de la página del SAT.

Esquemas XML para Contabilidad Electrónica

A continuación veremos lo que indica el Anexo 24 al respecto de los esquemas que deben cumplir los archivos XML, los cuales podrán ser entregados al SAT posteriormente como Contabilidad Electrónica.

Código del Formato Catálogo de Cuentas de Contabilidad Electrónica

<?xml version=”1.0″ encoding=”UTF-8″?>
<xs:schema xmlns:catalogocuentas=”www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogoCuentas”
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/

CatalogoCuentas” elementFormDefault=”qualified”attributeFormDefault=”unqualified”>
<xs:import namespace=”www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogosParaEsqContE”
schemaLocation=”www.sat.gob.mx/esquemas/ContabilidadE/1_1/

CatalogosParaEsqContE/CatalogosParaEsqContE.xsd”/>
<xs:element name=”Catalogo”>
<xs:annotation>
<xs:documentation>Estándar de catálogo de cuentas que se entrega como parte de la contabilidad electrónica.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name=”Ctas” maxOccurs=”unbounded”>
<xs:annotation>
<xs:documentation>Nodo obligatorio para expresar el detalle de cada cuenta y subcuenta del catálogo.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name=”CodAgrup” type=”contelec_td:c_CodAgrup”
use=”required”>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar el código asociador de cuentas y subcuentas conforme al catálogo publicado en la página de internet del SAT. Se debe asociar cada cuenta y subcuenta que sea más apropiado de acuerdo con la naturaleza y preponderancia de la cuenta o subcuenta.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name=”NumCta” use=”required”>
<xs:annotation>
<xs:documentation>Atributo requerido, es la clave con que se distingue la cuenta o subcuenta en la contabilidad</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”100″/>
<xs:minLength value=”1″/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”Desc” use=”required”>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar el nombre de la cuenta o subcuenta</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:minLength value=”1″/>
<xs:maxLength value=”400″/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”SubCtaDe” use=”optional”>
<xs:annotation>
<xs:documentation>Atributo opcional en el caso de subcuentas. Sirve para expresar la clave de la cuenta a la que pertenece dicha subcuenta. Se convierte en requerido cuando se cuente con la información.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:minLength value=”1″/>
<xs:maxLength value=”100″/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”Nivel” use=”required”>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar el nivel en el que se encuentra la cuenta o subcuenta en el catálogo.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:int”>
<xs:minInclusive value=”1″/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”Natur” use=”required”>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar la naturaleza de la cuenta o subcuenta. (D – Deudora, A – Acreedora). ( Activo = D ) ( Pasivo = A ) ( Capital = A ) ( Ingreso = A ) ( Costo = D ) ( Gasto = D ) ( Resultado Integral de Financiamiento = D y/o A ) ( Cuentas de orden = D y/o A).</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:pattern value=”[DA]”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name=”Version” type=”xs:string” use=”required” fixed=”1.1″>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar la versión del formato</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name=”RFC” use=”required”>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar el RFC del contribuyente que envía los datos</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:minLength value=”12″/>
<xs:maxLength value=”13″/>
<xs:pattern value=”[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z09]?[A-Z0-9]?[0-9A-Z]?”/>

</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”Mes” use=”required”>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar el mes en que inicia la vigencia del catálogo para la balanza</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:enumeration value=”01″/>
<xs:enumeration value=”02″/>
<xs:enumeration value=”03″/>
<xs:enumeration value=”04″/>
<xs:enumeration value=”05″/>
<xs:enumeration value=”06″/>
<xs:enumeration value=”07″/>
<xs:enumeration value=”08″/>
<xs:enumeration value=”09″/>
<xs:enumeration value=”10″/>
<xs:enumeration value=”11″/>
<xs:enumeration value=”12″/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”Anio” use=”required”>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar el año en que inicia la vigencia del catálogo para la balanza</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:int”>
<xs:minInclusive value=”2015″/>
<xs:maxInclusive value=”2099″/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”Sello” use=”optional”>
<xs:annotation>
<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>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:whiteSpace value=”collapse”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”noCertificado” use=”optional”>
<xs:annotation>
<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>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:length value=”20″/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”Certificado” use=”optional”>
<xs:annotation>
<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>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:whiteSpace value=”collapse”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>

Código del Formato Balanza de Comprobación

<?xml version=”1.0″ encoding=”UTF-8″?>
<xs:schema xmlns:BCE=”http://www.sat.gob.mx/balanzacomprobacionelectronica” xmlns:xs=”http://www.w3.org/2001/XMLSchema”
targetNamespace=”http://www.sat.gob.mx/balanzacomprobacionelectronica” elementFormDefault=”qualified” attributeFormDefault=”unqualified”>
<xs:element name=”Balanza”>
<xs:annotation>
<xs:documentation>Estándar de balanza de comprobación que se entrega como parte de la contabilidad electrónica.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name=”Ctas” maxOccurs=”unbounded”>
<xs:annotation>
<xs:documentation>Nodo obligatorio para expresar el detalle de cada cuenta o subcuenta de la balanza de comprobación.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name=”NumCta” use=”required”>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar la clave asignada con que se distingue la cuenta o subcuenta en el catálogo de cuentas del contribuyente.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:minLength value=”1″/>
<xs:maxLength value=”100″/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”SaldoIni” type=”BCE:t_Importe” use=”required”>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar el monto del saldo inicial de la cuenta o subcuenta en el periodo. De acuerdo a la naturaleza de la cuenta o subcuenta, deberá de corresponder el saldo inicial, de lo contrario se entenderá que es un saldo inicial de naturaleza inversa. En caso de no existir dato, colocar cero (0)</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name=”Debe” use=”required”>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar el monto de los movimientos deudores de la cuenta o subcuenta. En caso de no existir dato, colocar cero (0)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”BCE:t_Importe”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”Haber” type=”BCE:t_Importe” use=”required”>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar el monto de los movimientos acreedores de la cuenta o subcuenta. En caso de no existir dato, colocar cero (0)</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name=”SaldoFin” type=”BCE:t_Importe” use=”required”>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar el monto del saldo final de la cuenta o subcuenta en el periodo. De acuerdo a la naturaleza de la cuenta o subcuenta, deberá de corresponder el saldo final, de lo contrario se entenderá que es un saldo final de naturaleza inversa. En caso de no existir dato, colocar cero (0)</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name=”Version” type=”xs:string” use=”required” fixed=”1.1″>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar la versión del formato.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name=”RFC” use=”required”>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar el RFC del contribuyente que envía los datos</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:minLength value=”12″/>
<xs:maxLength value=”13″/>
<xs:whiteSpace value=”collapse”/>
<xs:pattern value=”[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z09]?[A-Z0-9]?[0-9A-Z]?”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”Mes” use=”required”>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar el mes al que corresponde la balanza de comprobación</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:enumeration value=”01″/>
<xs:enumeration value=”02″/>
<xs:enumeration value=”03″/>
<xs:enumeration value=”04″/>
<xs:enumeration value=”05″/>
<xs:enumeration value=”06″/>
<xs:enumeration value=”07″/>
<xs:enumeration value=”08″/>
<xs:enumeration value=”09″/>
<xs:enumeration value=”10″/>
<xs:enumeration value=”11″/>
<xs:enumeration value=”12″/>
<xs:enumeration value=”13″/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”Anio” use=”required”>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar el año al que corresponde la balanza</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:int”>
<xs:minInclusive value=”2015″/>
<xs:maxInclusive value=”2099″/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”TipoEnvio” use=”required”>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar el tipo de envío de la balanza (N – Normal; C – Complementaria)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:pattern value=”[NC]”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”FechaModBal ” type=”xs:date” use=”optional”>
<xs:annotation>
<xs:documentation>Atributo opcional para expresar la fecha de la última modificación contable de la balanza de comprobación. Es requerido cuando el atributo TipoEnvio = C. Se convierte en requerido cuando se cuente con la información.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name=”Sello” use=”optional”>
<xs:annotation>
<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>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:whiteSpace value=”collapse”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”noCertificado” use=”optional”>
<xs:annotation>
<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>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:length value=”20″/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”Certificado” use=”optional”>
<xs:annotation>
<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>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:whiteSpace value=”collapse”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:simpleType name=”t_Importe”>
<xs:annotation>
<xs:documentation>Tipo definido para expresar importes numéricos con fracción hasta dos decimales</xs:documentation>
</xs:annotation>
<xs:restriction base=”xs:decimal”>
<xs:whiteSpace value=”collapse”/>
<xs:fractionDigits value=”2″/>
<xs:maxInclusive value=”99999999999999.99″/>
<xs:minExclusive value=”-99999999999999.99″/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

Código del Formato Pólizas del Periodo

<?xml version=”1.0″ encoding=”UTF-8″?>
<xs:schema xmlns:PLZ=”www.sat.gob.mx/esquemas/ContabilidadE/1_1/PolizasPeriodo” xmlns:xs=”http://www.w3.org/2001/XMLSchema” xmlns:altova=”http://www.altova.com/xml-schema-extensions” 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”>
<xs:import namespace=”www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogosParaEsqContE” schemaLocation=”www.sat.gob.mx/esquemas/ContabilidadE/1_1/

CatalogosParaEsqContE/CatalogosParaEsqContE.xsd”/>
<xs:element name=”Polizas”>
<xs:annotation>
<xs:documentation>Estándar de pólizas del periodo que se entrega como parte de la contabilidad electrónica.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name=”Poliza” maxOccurs=”unbounded”>
<xs:annotation>
<xs:documentation>Nodo obligatorio para relacionar el detalle de cada transacción dentro de la póliza.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name=”Transaccion” maxOccurs=”unbounded”>
<xs:annotation>
<xs:documentation>Nodo obligatorio para relacionar el detalle de cada transacción dentro de la póliza</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name=”CompNal”
minOccurs=”0″ maxOccurs=”unbounded”>
<xs:annotation>

<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>
</xs:annotation>
<xs:complexType>
<xs:attribute
name=”UUID_CFDI” use=”required”>

<xs:annotation>

<xs:documentation>Atributo requerido para expresar la clave UUID del CFDI soporte de la operación. (36 caracteres)</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:string”>

<xs:whiteSpace value=”collapse”/>

<xs:length value=”36″/>

<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}”/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
<xs:attribute
name=”RFC” use=”required”>

<xs:annotation>

<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>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:string”>
<xs:minLength value=”12″/>

<xs:maxLength value=”13″/>

<xs:whiteSpace value=”collapse”/>

<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]?”/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
<xs:attribute
name=”MontoTotal” type=”PLZ:t_Importe” use=”required”>

<xs:annotation>

<xs:documentation>Atributo requerido para expresar el monto total del CFDI que soporte la transacción. (Incluye IVA en su caso)</xs:documentation>

</xs:annotation>
</xs:attribute>
<xs:attribute
name=”Moneda” type=”contelec_td:c_Moneda” use=”optional”>

<xs:annotation>

<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>

</xs:annotation>
</xs:attribute>
<xs:attribute
name=”TipCamb” use=”optional”>

<xs:annotation>

<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>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:decimal”>

<xs:minInclusive value=”0″/>
<xs:totalDigits value=”19″/>

<xs:fractionDigits value=”5″/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name=”CompNalOtr”
minOccurs=”0″ maxOccurs=”unbounded”>
<xs:annotation>

<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>
</xs:annotation>
<xs:complexType>
<xs:attribute
name=”CFD_CBB_Serie” use=”optional”>

<xs:annotation>

<xs:documentation>Atributo opcional para expresar la serie del comprobante CFD_CBB que soporte la transacción.</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:string”>

<xs:minLength value=”1″/>

<xs:maxLength value=”10″/>

<xs:pattern value=”[A-Z]+”/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
<xs:attribute
name=”CFD_CBB_NumFol” use=”required”>

<xs:annotation>
<xs:documentation>Atributo requerido para expresar el número de folio del comprobante CFD_CBB que soporte la transacción.</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:integer”>

<xs:minInclusive value=”1″/>

<xs:totalDigits value=”20″/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
<xs:attribute
name=”RFC” use=”required”>

<xs:annotation>

<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>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:string”>

<xs:minLength value=”12″/>

<xs:maxLength value=”13″/>

<xs:whiteSpace value=”collapse”/>

<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]?”/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
<xs:attribute
name=”MontoTotal” type=”PLZ:t_Importe” use=”required”>

<xs:annotation>

<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>

</xs:annotation>
</xs:attribute>
<xs:attribute
name=”Moneda” type=”contelec_td:c_Moneda” use=”optional”>

<xs:annotation>

<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>

</xs:annotation>
</xs:attribute>
<xs:attribute
name=”TipCamb” use=”optional”>

<xs:annotation>

<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>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:decimal”>

<xs:minInclusive value=”0″/>

<xs:totalDigits value=”19″/>

<xs:fractionDigits value=”5″/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name=”CompExt”
minOccurs=”0″ maxOccurs=”unbounded”>
<xs:annotation>

<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>
</xs:annotation>
<xs:complexType>
<xs:attribute
name=”NumFactExt” use=”required”>

<xs:annotation>

<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>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:string”>

<xs:whiteSpace value=”collapse”/>

<xs:minLength value=”1″/>

<xs:maxLength value=”36″/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
<xs:attribute
name=”TaxID” use=”optional”>

<xs:annotation>

<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>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:string”>

<xs:minLength value=”1″/>

<xs:maxLength value=”30″/>

<xs:whiteSpace value=”collapse”/>

</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name=”MontoTotal” type=”PLZ:t_Importe” use=”required”>

<xs:annotation>

<xs:documentation>Atributo requerido para expresar el monto total del comprobante de origen extranjero que soporte la operación.</xs:documentation>

</xs:annotation>
</xs:attribute>
<xs:attribute
name=”Moneda” type=”contelec_td:c_Moneda” use=”optional”>

<xs:annotation>

<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>

</xs:annotation>
</xs:attribute>
<xs:attribute
name=”TipCamb” use=”optional”>

<xs:annotation>

<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>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:decimal”>

<xs:minInclusive value=”0″/>

<xs:totalDigits value=”19″/>

<xs:fractionDigits value=”5″/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name=”Cheque”
minOccurs=”0″ maxOccurs=”unbounded”>
<xs:annotation>

<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>
</xs:annotation>
<xs:complexType>
<xs:attribute
name=”Num” use=”required”>

<xs:annotation>

<xs:documentation>Atributo requerido para expresar el número del cheque emitido</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:string”>

<xs:maxLength value=”20″/>

<xs:minLength value=”1″/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
<xs:attribute
name=”BanEmisNal” type=”contelec_td:c_Banco” use=”required”>

<xs:annotation>

<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>

</xs:annotation>
</xs:attribute>
<xs:attribute
name=”BanEmisExt” use=”optional”>

<xs:annotation>

<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>
</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:string”>

<xs:maxLength value=”150″/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
<xs:attribute
name=”CtaOri” use=”required”>

<xs:annotation>

<xs:documentation>Atributo requerido para expresar el número de cuenta bancaria del origen de los recursos.</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:string”>

<xs:maxLength value=”50″/>

<xs:minLength value=”1″/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
<xs:attribute
name=”Fecha” type=”xs:date” use=”required”>

<xs:annotation>

<xs:documentation>Atributo requerido, es la fecha del cheque</xs:documentation>

</xs:annotation>
</xs:attribute>
<xs:attribute
name=”Benef” use=”required”>

<xs:annotation>

<xs:documentation>Atributo requerido, nombre del beneficiario del cheque</xs:documentation>
</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:string”>

<xs:minLength value=”1″/>

<xs:maxLength value=”300″/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
<xs:attribute
name=”RFC” use=”required”>

<xs:annotation>

<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>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:string”>

<xs:minLength value=”12″/>

<xs:maxLength value=”13″/>

<xs:whiteSpace value=”collapse”/>

<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]?”/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
<xs:attribute
name=”Monto” type=”PLZ:t_Importe” use=”required”>

<xs:annotation>

<xs:documentation>Atributo requerido, es el monto del cheque emitido</xs:documentation>

</xs:annotation>
</xs:attribute>
<xs:attribute
name=”Moneda” type=”contelec_td:c_Moneda” use=”optional”>

<xs:annotation>

<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>

</xs:annotation>
</xs:attribute>
<xs:attribute
name=”TipCamb” use=”optional”>

<xs:annotation>

<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>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:decimal”>

<xs:minInclusive value=”0″/>

<xs:totalDigits value=”19″/>

<xs:fractionDigits value=”5″/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name=”Transferencia”
minOccurs=”0″ maxOccurs=”unbounded”>
<xs:annotation>

<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>
</xs:annotation>
<xs:complexType>
<xs:attribute
name=”CtaOri” use=”optional”>
<xs:annotation>

<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>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:string”>

<xs:minLength value=”1″/>

<xs:maxLength value=”50″/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
<xs:attribute
name=”BancoOriNal” type=”contelec_td:c_Banco” use=”required”>

<xs:annotation>

<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>

</xs:annotation>
</xs:attribute>
<xs:attribute
name=”BancoOriExt” use=”optional”>

<xs:annotation>

<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>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:string”>

<xs:maxLength value=”150″/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
<xs:attribute
name=”CtaDest” use=”required”>

<xs:annotation>

<xs:documentation>Atributo requerido para expresar el número de cuenta destino, la cual se transfieren los recursos.</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:string”>

<xs:minLength value=”1″/>

<xs:maxLength value=”50″/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
<xs:attribute
name=”BancoDestNal” type=”contelec_td:c_Banco” use=”required”>

<xs:annotation>

<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>

</xs:annotation>
</xs:attribute>
<xs:attribute
name=”BancoDestExt” use=”optional”>

<xs:annotation>

<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>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:string”>

<xs:maxLength value=”150″/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
<xs:attribute
name=”Fecha” type=”xs:date” use=”required”>

<xs:annotation>

<xs:documentation>Atributo requerido, es la fecha de la transferencia</xs:documentation>

</xs:annotation>
</xs:attribute>
<xs:attribute
name=”Benef” use=”required”>

<xs:annotation>

<xs:documentation>Atributo requerido, nombre del beneficiario de la transferencia.</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:string”>

<xs:minLength value=”1″/>

<xs:maxLength value=”300″/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
<xs:attribute
name=”RFC” use=”required”>

<xs:annotation>

<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>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:string”>

<xs:minLength value=”12″/>

<xs:maxLength value=”13″/>

<xs:whiteSpace value=”collapse”/>

<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]?”/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
<xs:attribute
name=”Monto” type=”PLZ:t_Importe” use=”required”>

<xs:annotation>

<xs:documentation>Atributo requerido, es el monto transferido</xs:documentation>

</xs:annotation>
</xs:attribute>
<xs:attribute
name=”Moneda” type=”contelec_td:c_Moneda” use=”optional”>

<xs:annotation>

<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>

</xs:annotation>
</xs:attribute>
<xs:attribute
name=”TipCamb” use=”optional”>

<xs:annotation>

<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>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:decimal”>

<xs:minInclusive value=”0″/>

<xs:totalDigits value=”19″/>

<xs:fractionDigits value=”5″/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element
name=”OtrMetodoPago” minOccurs=”0″ maxOccurs=”unbounded”>
<xs:annotation>

<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>
</xs:annotation>
<xs:complexType>
<xs:attribute
name=”MetPagoPol” type=”contelec_td:c_MetPagos” use=”required”>

<xs:annotation>

<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>

</xs:annotation>
</xs:attribute>
<xs:attribute
name=”Fecha” type=”xs:date” use=”required”>

<xs:annotation>

<xs:documentation>Atributo requerido, es la fecha de la transacción de otros métodos de pago.</xs:documentation>

</xs:annotation>
</xs:attribute>
<xs:attribute
name=”Benef” use=”required”>

<xs:annotation>

<xs:documentation>Atributo requerido, nombre de la persona o contribuyente a la cual se realiza éstos métodos de pago.</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:string”>

<xs:minLength value=”1″/>

<xs:maxLength value=”300″/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
<xs:attribute
name=”RFC” use=”required”>

<xs:annotation>

<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>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:string”>

<xs:minLength value=”12″/>

<xs:maxLength value=”13″/>

<xs:whiteSpace value=”collapse”/>

<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]?”/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
<xs:attribute
name=”Monto” type=”PLZ:t_Importe” use=”required”>

<xs:annotation>

<xs:documentation>Atributo requerido para expresar el monto del método de pago soporte de la transacción.</xs:documentation>

</xs:annotation>
</xs:attribute>
<xs:attribute
name=”Moneda” type=”contelec_td:c_Moneda” use=”optional”>

<xs:annotation>

<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>

</xs:annotation>
</xs:attribute>
<xs:attribute
name=”TipCamb” use=”optional”>

<xs:annotation>

<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>

</xs:annotation>

<xs:simpleType>

<xs:restriction base=”xs:decimal”>

<xs:minInclusive value=”0″/>

<xs:totalDigits value=”19″/>

<xs:fractionDigits value=”5″/>

</xs:restriction>

</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name=”NumCta”
use=”required”>
<xs:annotation>

<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>
</xs:annotation>
<xs:simpleType>
<xs:restriction
base=”xs:string”>
<xs:minLength
value=”1″/>
<xs:maxLength
value=”100″/>
</xs:restriction>

</xs:simpleType>
</xs:attribute>
<xs:attribute name=”DesCta”
use=”required”>
<xs:annotation>

<xs:documentation>Atributo requerido para expresar el nombre de la cuenta o subcuenta que se afecta por la transacción.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction
base=”xs:string”>
<xs:minLength
value=”1″/>
<xs:maxLength
value=”100″/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”Concepto”
use=”required”>
<xs:annotation>

<xs:documentation>Atributo requerido para expresar el concepto de la transacción</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction
base=”xs:string”>
<xs:minLength
value=”1″/>
<xs:maxLength
value=”200″/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”Debe”
type=”PLZ:t_Importe” use=”required”>
<xs:annotation>

<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>
</xs:annotation>
</xs:attribute>
<xs:attribute name=”Haber”
type=”PLZ:t_Importe” use=”required”>
<xs:annotation>

<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>
</xs:annotation>

</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name=”NumUnIdenPol ” use=”required”>
<xs:annotation>
<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>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”50″/>
<xs:minLength value=”1″/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”Fecha” type=”xs:date” use=”required”>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar la fecha de registro de la póliza</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name=”Concepto” use=”required”>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar el concepto de la operación</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:minLength value=”1″/>
<xs:maxLength value=”300″/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name=”Version” type=”xs:string” use=”required” fixed=”1.1″>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar la versión del formato.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name=”RFC” use=”required”>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar el RFC del contribuyente que envía los datos</xs:documentation>
</xs:annotation>

<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:minLength value=”12″/>
<xs:maxLength value=”13″/>
<xs:whiteSpace value=”collapse”/>
<xs:pattern value=”[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z09]?[A-Z0-9]?[0-9A-Z]?”/>

</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”Mes” use=”required”>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar el mes al que corresponde la póliza</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:enumeration value=”01″/>
<xs:enumeration value=”02″/>
<xs:enumeration value=”03″/>
<xs:enumeration value=”04″/>
<xs:enumeration value=”05″/>
<xs:enumeration value=”06″/>
<xs:enumeration value=”07″/>
<xs:enumeration value=”08″/>
<xs:enumeration value=”09″/>
<xs:enumeration value=”10″/>
<xs:enumeration value=”11″/>
<xs:enumeration value=”12″/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”Anio” use=”required”>
<xs:annotation>
<xs:documentation>Atributo requerido para expresar el año al que corresponde la póliza</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:int”>
<xs:minInclusive value=”2015″/>
<xs:maxInclusive value=”2099″/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”TipoSolicitud” use=”required”>
<xs:annotation>
<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>
</xs:annotation>

<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:pattern value=”AF|FC|DE|CO”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”NumOrden” use=”optional”>
<xs:annotation>
<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>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:length value=”13″/>
<xs:pattern value=”[A-Z]{3}[0-6][0-9][0-9]{5}(/)[0-9]{2}”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”NumTramite” use=”optional”>
<xs:annotation>
<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>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:length value=”10″/>
<xs:pattern value=”[0-9]{10}”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”Sello” use=”optional”>
<xs:annotation>
<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>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:whiteSpace value=”collapse”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”noCertificado” use=”optional”>
<xs:annotation>
<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>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:length value=”20″/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”Certificado” use=”optional”>
<xs:annotation>
<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>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:whiteSpace value=”collapse”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:simpleType name=”t_Importe”>
<xs:annotation>
<xs:documentation>Tipo definido para expresar importes numéricos con fracción hasta dos decimales</xs:documentation>
</xs:annotation>
<xs:restriction base=”xs:decimal”>
<xs:fractionDigits value=”2″/>
<xs:whiteSpace value=”collapse”/>
<xs:maxInclusive value=”99999999999999.99″/>
<xs:minExclusive value=”-99999999999999.99″/>
</xs:restriction>
</xs:simpleType>
</xs:schema>


¿Te ha gustado este contenido?


A tus amigos les gustará recibir tus recomendaciones. Con la botonera de arriba puedes compartir este post en tu cuenta de Facebook, Google+ y Twitter.


También puedes seguirnos en Facebook, Twitter y Google (pulsar botones):


   


¿Alguna Consulta? Con gusto te ayudaremos...

13 Comentarios

  1. Después de convertirlo a XML ¿qué sigue?¿cómo se hace para que sea válido ante hacienda?

  2. Ni un usuario experto en Excel podrá hacer un archivo XML compatible con los requerimientos de hacienda, se necesita de un programador.

  3. Todo parecía demasiado simple hasta que llegamos a los formatos. ¿Qué debemos hacer para que los formatos de los archivos XML se conformen a los prescritos por el SAT?

  4. El SAT y su incompetencia con estas funciones y no poder por sí mismos procesar la información que se le da, le deja a los contribuyentes la programación y procesamiento de todo para que ellos solo sumen y resten… aparte casi nos están obligando a cumplir con el gran negocio que crearon con este fin; comprar los programas contables que son caros y comprar folios para facturar…

  5. ¿Qué es esto? ¿Un tutorial o una idea a medias de como cree alguien que se pueden hacer las cosas?. Después de “Exportar la tabla XML a un archivo (.xml)” ¿Qué hay que hacer? porque de este punto en adelante solo siendo experto se sabe qué hacer. Después de leer esto he investigado mucho y he hecho muchas pruebas. Ya pude generar los archivos del Catalogo de cuentas y balanza de comprobación en XML pero hasta donde he probado, con excel no se puede generar el archivo XML de pólizas. Si alguien puede por favor diga a detalle como se hace.

  6. Me quedé igual. Muchos signos de interrogación en la estructura que pide el SAT. El pasar una tabla de Excel a XML no le veo tanto problema, a lo demás si.

    Auxilio.

  7. Es indignante lo que hizo el gobierno, al ponernos en manos de vendedores de software codiciosos y sin escrúpulos, además de incompetentes, chafas y desinformados. Me refiero principalmente a los que conozco, a la línea “Contpaq i”

  8. Hola, aquellos que aún lean esto:

    A diferencia del servicio de timbrado de documentos (Facturas, Notas de Crédito, Pagos y/o Nómina) para cumplir con el Anexo 24 de la mentada segunda RMRMF 2014 se requiere del servicio de un tercero certificado para emitir un hash (Hulla digital), con lo cual se les entrega una constancia en formato “ASN.1”.

    PD: No se desesperen si ya tienen el XML (Que se explica aquí no con mucho detalle por cierto) ya están del otro lado.

    Atentamente: Un programador ocioso.

    • Una ayuda por favor amigo programador. Ya tengo los XML de mi balanza (generado en el COI) pero al validarlos en la página del SAT, me marcan demasiados errores, no me lo admite; no sé si el problema está en mi captura de pólizas o en la configuración del COI, que me la hizo medio pirateada un ingeniero chafa.

      Gracias

  9. Yo soy consultor de sistemas y desarrollador. Les dejo un TIP: Pueden generar los datos por columnas y utilizar en Excel la fórmula de concatenar para unir las piezas. El XML es un texto con formato. Por ejemplo, para crear una un enunciado “El número 4 es mi favorito” y suponiendo que el 4 está en la columna B, fila 3 se debería poner:

    =CONCATENAR(“El número “,B3,” es mi favorito”)

    De esta forma, si ponen todos los datos dinámicos para el SAT (CodAgrup, NumCta, Desc, Nivel y Natur) en columnas, puedes construir la línea de XML para el catálogo de cuentas de manera sencilla.

    Ya obtuvimos los XML para catálogo y Balanza, ahora estoy trabajando en automatizarlo con un Macro o aplicación sencilla.

  10. ¿Alguien ya generó sus archivos XML en excel con éxito?

  11. Si alguien lo generó pónganlo público para cumplir nada más.

  12. Apuesto que ni los del SAT saben de este procedimiento, según facilitan las cosas pero de una manera la complican para que cuando se haga una revisión salgan con su ventaja poniendo multas. Deben de ser más claros y sencillos, de todos modos lo que quieren son impuestos.

Deja un comentario

Loading Facebook Comments ...
Scroll To Top