1.7. Que es un Archivo XML
Así como en el mundo tradicional una factura de papel era pasada de un contribuyente a otro de manera presencial o física, en el mundo digital el intercambio de facturas se realiza mediante un archivo electrónico. El formato de este archivo electrónico es ".xml", y por lo tanto se puede abrir con cualquier navegador, por ejemplo, con Chrome.
Veamos un Ejemplo real:
Por privacidad y seguridad hemos rayado con color gris algunos datos.
Secciones o tags Padres: Emisor
Un tags padre es una sección del XML que contiene en su interior un conjunto de tags hijos. Por ejemplo en el caso del tags Emisor del ejemplo, éste contiene los tags higos RUTEmisor, RznSoc, GiroEmis, Acteco, DirOrigen, CmnaOrigen, CiudadOrigen y CdgVendedor.
|
|
Tags hijos: CmnaOrigen
Un tags hijo es aquel que posee un tags superior del cual depende, esto es, posee un tags padre. Un tags hijo puede ser el último escalon de tags de un padre, como es el caso de este ejemplo con el tags CmnaOrigen.
|
|
Valores de un tags: Santiago
Cuando un tags está en el último nivel, entonces éste posee un valor asociado, que en este ejemplo sería Santiago para el tags CmnaOrigen.
|
|
Existen algunos conceptos importantes a considerar para poder entender e interpretar adecuadamente un XML. Veamoslos a continuación:
El Formato XML:
El Servicio de Impuestos Internos ha decidido ocupar este formato por cuanto goza de un conjunto de características que lo hacen especialmente beneficioso para el intercambio de facturas. Estas características son las siguientes:
- Se propone como un estándar para el intercambio de información estructurada entre diferentes plataformas.
- Se puede usar en bases de datos y en innumerables editores de texto.
- Si un tercero decide usar un documento creado en XML, es sencillo entender su estructura y procesarla.
- Transformamos datos en información, pues se les añade un significado concreto y los asociamos a un contexto, con lo cual tenemos flexibilidad para estructurar documentos.
Quizás el elemento más importante a tener en cuenta en relación al formato en XML es que podemos ver el contenido de la factura utilizando cualquier navegador. ¿Cómo hacerlo? pues bien, es muy simple: debes poner el cursor del mouse sobre el icono del archivo XML, y con boton derecho seleccionar "abrir con", y ahí seleccionar Internet Explorer o Chrome, o el navegador que desees, o así también cualquier editor de texto que poseas. Al hacerlo podras ver todo el contenido del documento XML, siendo legibles todas las secciones de la factura.
Las Secciones del XML:
Tal como señalamos anteriormente, decíamos que es sencillo entender su estructura. Su sencilles estriba precisamente en que un XML se compone de Secciones, a las que también se les llaman TAGS PADRES. En nuestro ejemplo de arriba una Sección sería por ejemplo el TAGS PADRE "EMISOR". Dentro de esta sección se pueden observar un conjunto de datos de la factura, relacionados con el emisor del documento, constituyendose éstos en TAGS HIJOS, motivo por el cual el Tags EMISOR se le llama TAGS PADRE.
La utilidad de la estructuración del XML mediante secciones entre otras cosas estriba en que cualquier persona puede dirigirse específicamente a una sección determinada para revisar algun antecedente particular del XML. Por ejemplo, si quiero saber algún dato del Emisor de la factura, entonces me podré dirigir a la sección EMISOR para revisar, evitandome así tener que buscar en todo el XML. Si por ejemplo quiero saber algun antecedente específico del Receptor de la factura, entonces me podré dirigir a la sección RECEPTOR. Además de esta utilidad podemos señalar que el procesamiento del XML se torna así en un estandar: se recorren secciones y luego tags hijos, de modo de que bajo una estructuración convenida entre adminsitradores de sistemas, es posible el intercambio y procesamiento ordenado del contenido del XML.
Tags Hijos:
Se utiliza el término Hijo para indicar que un determinado Tags nace de otro Tags, y con orden de prelación en su registro: primero se muestra el tags padre, y luego aparece el tags hijo. En nuestro ejemplo un TAGS HIJO sería CmnaOrigen cuyo TAGS PADRE es Emisor. Si observamos, los tags van precedidos con un símbolo: "<", y luego del valor del tags un símbolo similar: "/>". Así el tags de inicio CmnaOrigen se escribe así: <CmnaOrigen>, y el tags de término del mismo se escribe así: </CmnaOrigen>.
En estricto rigor el tags <Emisor> también vendría siendo un tags hijo, cuyo tags padre sería <Encabezado>. Por este motivo el que un tags se señale como PADRE o HIJO será relativo al tags específico en el cual estamos ubicados. Por ejemplo, si estamos ubicados en el tags <CmnaOrigen>, entonces diremos que el tags <CmnaOrigen> es tags hijo del tags padre <Emisor>. si estamos ubicados en el tags <Emisor> es tags hijo del tags padre <Encabezado>.
Valor del Tags:
Hablamos del valor del tags de manera casi exclusiva para los tags hijos de último nivel, que en nuestros ejemplo vendrían siendo <CmnaOrigen>, <CiudadOrigen>, <CmnaReceptor>, <CiudadReceptor>, por nombrar algunos. Cuando nos posicionamos en tags que no son de último nivel, como por ejemplo el tags <Emisor> no hablamos del valor del tags, sino de sus tags hijos.
El valor del tags es el que contiene el dato que se desea buscar para identificar ciertos antecedentes de una factura. Así por ejemplo, el valor del tags <Folio> contiene el número de la factura. Veamos algunos de los valores de tags de la sección Encabezado:
- <TipoDTE>: los valores que encontrarás acá serán 33, ó 34, ó 52, ó 61, etc. que señala el tipo de documento según la normativa del Servicio de Impuestos Internos (por ejemplo el tipo 33 es Factura Electrónica, y el 52 es Guía de Despacho Electrónica).
- <FchEmis>: el valor que encontrarás acá es la fecha de emisión de la factura.
- <FchVenc>: el valor que encontrarás acá es la fecha de vencimiento de la factura.
- <RUTEmisor>: el valor que encontrarás acá es el rut del contribuyente emisor de la factura.
- <RznSoc>: el valor que encontrarás acá es la razón social del contribuyente emisor de la factura.
y dentro de la Subseccion Totales, observamos algunos de los tags hijos de último nivel que presentan los siguientes valores de tags:
- <MntNeto>: el valor que encontrarás acá es el monto neto del documento.
- <MntExe>: el valor que encontrarás acá es el monto exento del documento.
- <IVA>: el valor que encontrarás acá es el monto IVA del documento.
-<Total>: el valor que encontrarás acá es el monto total del documento.
y más abajo en la sección Detalle, observamos algunos de los tags hijos de último nivel que presentan los siguientes valores de tags:
-<NroLinDet>: el valor que encontrarás acá es el número del item (el primero, el segundo, tercer item, etc.).
-<NmbItem>: el valor que encontrarás acá es el nombre del producto.
-<DscItem>: el valor que encontrarás acá es una descripción adicional del producto.
-<QtyItem>: el valor que encontrarás acá es la cantidad facturada.
-<PrcItem>: el valor que encontrarás acá es el precio unitario del producto.
-<MontoItem>: el valor que encontrarás acá es el monto final del producto (precio unitario multiplicado por la cantidad).
Otras secciones utilizadas por los administradores de sistema:
Hay otras secciones del XML que se construyen al momento de enviarlo al Servicio de Impuestos Internos. Estas son:
- La sección del Timbre Digital: Esta sección contiene información relacionada con el Folio Digital (revisado anteriormente, y conocido como CAF que alberga la autorización de folios proporcionada por el Servicio de Impuestos Internos a través de un archivo electrónico, también en formato XML, indicando rangos y fechas de autorización) y con algunos antecedentes generales del documento tributario.
- La sección de la Firma Digital: Esta sección contiene información relacionada con la firma electrónica de todo el documento en su conjunto, garantizando al receptor acerca de la integridad del documento y la idoneidad del emisor, ambas características claves revisadas en el capítulo del Certificado Digital.
Estas dos secciones, esto es, la del Timbre Digital y la de la Firma Digital, se ubican al final del XML que se envía al Servicio de Impuestos Internos.
Por último debemos señalar que tanto la estructura del XML, como el orden en que va cada tags en su interior y el tipo de contenido que lleva cada valor de cada tags está indicado en la normativa emitida por el Servicio de Impuestos Internos, siendo equivalente para todos los documentos tributarios electrónicos en formato XML creados por cualquier contribuyente en Chile, independientemente del proveedor de facturación que se tenga. Este hecho es importante de remarcar sobre todo cuando un contribuyente desea migrar a otro proveedor. Es absolutamente factible y posible la migración ya que todos los proveedores manejamos el mismo formato de XML.