Especificación de Requisitos

Proyecto/Versión: M_SER_MI002

Requisito/Módulo: PCREQ-5692/SIGAFAT

Sub-Requisito/Función: PCREQ-5714/ Factura electronica con PAC Signature.

Tarea/Llamado: PDR_SER_MI001-146

País: Chile

Fecha Especificación: 15/12/15

Rutina Involucradas

Rotina

Tipo de Operación

Opción de Menú

NFAEXmlChi – XML de Documentos Fiscales para Transmisión Electrónica creo que el nombre esta errado.

Creación

N/A

MATA485

Modificación

Actualizaciones->Facturación->Transmisión Electrónica.

Estratégia de Desarrollo y Liberación

 

Producto

SIGAFAT

Release que está sendo desarrollado

11.8

Posee Réplica?

( )Sim (X)Não

Cual a versión?

 

 

Objetivo



Crear la función NFAEXmlCHI que retornara una string la cual contiene el xml con el documento que será trasmitido al TSS para su envió a través de Signature. Esto aplica para:

  • Factura de venta
  • Factura Excenta de IVA
  • Nota de débito
  • Nota de crédito
  • Guia de Despacho

 

Definición de la Regla de Negócio



Esta rutina deberá permitir generar una cadena de caracteres que define un XML en el cuál contendrá los datos correspondientes al documento electrónico solicitado según el esquema DTE_v1. (Mencionar el link donde puede el usuario verificar este esquema)
No deberá tener interface gráfica de entrada ya que será llamada por la rutina MATA485.

Los parámetros que deberá recibir la función son los siguientes:

  • Tipo de Documento: 0 si es documento de Entrada o 1 si es documento de Salida.
  • Serie: Número o Serie del Documento
  • Cliente/Proveedor: Según sea el origen del documento deberá recibir el código del cliente o del proveedor.
  • Tienda: Código de la tienda
  • Número de Dócumento
  • Especie: Especie del documento. (Mencionar algun ejemplo de especie y su descripción correspondiente)
  • Ambiente: Ambiente configurado para conexión con el TSS. Solo deberá aceptar valores 1. Homologación y 2. Producción
  • Indicar si el documento es una guía de Despacho


Además devolverá un valor lógico, indicando si el documento es de Exportación o si es una factura Excenta.
Para conocer los documentos que son de Exportación (Independientemente de la especie), se creará un Punto de Entrada que retorne True o False para indicar si es o no, documento de exportación.
El punto de Entrada se llamará M485DOCEXP y recibirá los siguientes parámetros:

  1. Filial
  2. No. Documento
  3. Serie del documento
  4. Especie
  5. Código del Cliente
  6. Código de Tienda


Nota de Crédito(Nacional y Exportación)
Si el tipo de documento es 0 Entrada, deberá obtener los registros del Encabezado de Factura de Entrada SF1 en dónde: F1_DOC = Número de Documento, F1_SERIE=Serie, F1_CLIENTE= Código del Cliente, F1_LOJA= Códio de Tienda, F1_ESPECIE=Especie (NCC= Nota de Crédito). Se incluirá el punto de entrada M485SQL() para agregar campos adicionales a la consulta.
Por cada documento se obtendrá el detalle de la tabla SD1 y generará el archivo xml como a continuación
<?xml version="1.0" encoding="iso-8859-1"?>
<DTE version="1.1.0" xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance si:noNamespaceSchemaLocation="DTE_v1.0.xsd">
<Documento ID="comprobante">
<Encabezado>
<IdDoc>
<Ambiente> AMBIENTE </Ambiente>
<TipoEmision>N</TipoEmision>
<ContenidoTC>Vacío</ContenidoTC>
<Tipo>Para Nota de crédito Nacionar colocar 61, si es de Exportación colocar 112</Tipo>
<Serie>F1_SERIE</Serie>
<Numero>F1_DOC</Numero>
<Estado>Valor Fijo: ORIGINAL</Estado>
<NumeroInterno>F1_DOC</NumeroInterno>
<FechaEmis>F1_EMISSAO en formato dd-MM-yyyy HH:mm:ss</FechaEmis>
<FechaPago> SE1->E1_VENCTO en formato yyyy-MM-dd </FechaPago>
<-- Fecha pago programado 
Se deberá buscar en SE1 según lo siguiente:
Seleccionar la fecha de Vencimiento mayor SE1->E1_VENCTO
En dónde
E1_FILIAL = XFILIAL("SE1")
E1_PREFIXO= F1_SERIE
E1_NUMERO = F1_DUPL
E1_TIPO = F1_ESPECIE
D_E_L_E_T_= ' '
</IdDoc>
<Emisor>
<RegimenContable>VACIO</RegimenContable>
<IDEmisor>SM0->M0_CGC</IDEmisor>
<NmbEmisor>SM0->M0_NOME</NmbEmisor>
<NombreEmisor>
<PrimerNombre>SM0->M0_NOMECOM</PrimerNombre>
</NombreEmisor>
<CodigoEmisor>Vacío</CodigoEmisor>
<FechaInicioActividades>2016-01-01</FechaInicioActividades>
<DomFiscal>
<Calle>SM0->M0_ENDENT</Calle>
<Departamento>SM0->M0_CIDENT</Departamento>
<Ciudad>SM0->M0_CIDENT</Ciudad>
<Municipio>SM0->M0_CIDENT</Municipio>
<Pais>152</Pais>
<CodigoPostal>SM0->M0_CEPENT</CodigoPostal>
</DomFiscal>
<LugarExped>
<Calle>SM0->M0_ENDENT</Calle>
</LugarExped>
</Emisor>
<Receptor>
<DocRecep>
<TipoDocRecep>SA1->A1_TIPDOC</TipoDocRecep>
<NroDocRecep>Si A1_EST <> 'EX' Colocar SA1->A1_CGC sino colocar rut universal 5555555-5</NroDocRecep>
</DocRecep>
<NmbRecep>SA1->A1_GIRO</NmbRecep>
<NombreRecep>
<PrimerNombre>(cAliasXML)->A1_NOME</PrimerNombre>
<NombreRecep>
<DomFiscalRcp>
<Calle>SA1->A1_END</Calle>
<Ciudad>SA1->A1_BAIRRO</Ciudad>
<Municipio>SA1->A1_MUN</Municipio>
<Pais>Obtener SYA->YA_DESCR con SA1->A1_PAIS</Pais>
<CodigoPostal>SA1->A1_CEP</CodigoPostal>
</DomFiscalRcp>
<LugarRecep>
<Calle>SA1->A1_END</Calle>
<Ciudad>SA1->A1_BAIRRO</Ciudad>
<Municipio>SA1->A1_MUN</Municipio>
<Pais>Obtener SYA->YA_DESCR con SA1->A1_PAIS</Pais>
</LugarRecep >
</Receptor>
<Transporte>  Generar en blanco, no eso bligatorio por la SII pero se requiere para pasar el esquema Válido.
<MedioTransporte>
<MetodoTransp>MetodoTransp</MetodoTransp>
</MedioTransporte>
</Transporte>
<Totales>
<Moneda>Obtener con F1_MOEDA,</Moneda>  Solo para documentos de Exportación, deberá indicarse con los siguientes códigos: USD PARA DÓLARES, EUR Para Euros.
<SubTotal>SF1->F1_VALMERC - SF1->F1_DESCONT </SubTotal>
<MntDcto>SF1->F1_DESCONT</MntDcto>
<MntBase>SF1->F1_VALMERC </MntBase>
<VlrPagar>SF1->F1_VALBRUT</VlrPagar>
<VlrPalabras> EXTENSO(SF1 ->F1_VALBRUT) </VlrPalabras>
<MontoPropina>0.00</MontoPropina>
</Totales>
Nodo de Impuestos
Obtener los impuestos de la tabla SFB dónde SFB->FB_POLVRO <> 0 y obtener los valores contenidos en los campos F1_VALIMPN, F1_BASEIMPN y F1_ALQIMPN . Dónde N= SFB->FB_POLVRO.
Por cada impuesto generar el siguiente nodo:
<Impuestos>
<TipoImp>SFB->FB_ALIQ</TipoImp>
<CodTasamp>SFB->FB_CODIMP</CodTasamp>
<TasaImp>SFB->FB_CODTAR<TasaImp>
<MontoBAseImp>SF1->F1_BASEIMPN</MontoBAseImp>
<MontoImp>SF1->F1_VALIMPN</MontoImp>
</Impuestos>
Nodo de Descuentos y recargos Globales
Verificar si el campo F2_DESCONT tiene valor > 0, de ser así generará el siguiente nodo:
<DscRcgGlobal>
<NroLinDR>Consecutivo secuencias a 2 digitos</NroLinDR>
<TpoMov>D</TpoMov>
<GlosaDR>Descuentos</GlosaDR>
<TpoValor>$</TpoValor>
<ValorDR>SF1->F1_DESCONT</ValorDR>
</DscRcgGlobal>

Si el campo F1_FRETE tiene valor > 0, generará el siguiente nodo
<DscRcgGlobal>
<NroLinDR>Consecutivo secuencias a 2 digitos</NroLinDR>
<TpoMov>R</TpoMov>
<GlosaDR>Flete</GlosaDR>
<TpoValor>$</TpoValor>
<ValorDR>SF1->F1_FRETE</ValorDR>
</DscRcgGlobal>
Si el campo F1_DESPESA tiene valor > 0, generará el siguiente nodo

<DscRcgGlobal>
<NroLinDR>Consecutivo secuencias a 2 digitos</NroLinDR>
<TpoMov>R</TpoMov>
<GlosaDR>Otros gastos</GlosaDR>
<TpoValor>$</TpoValor>
<ValorDR>SF1->F1_DESPESA</ValorDR>
</DscRcgGlobal>
Si el campo F1_SEGURO tiene valor > 0, generará el siguiente nodo

<DscRcgGlobal>
<NroLinDR>Consecutivo secuencias a 2 digitos</NroLinDR>
<TpoMov>R</TpoMov>
<GlosaDR>Seguro</GlosaDR>
<TpoValor>$</TpoValor>
<ValorDR>SF1->F1_SEGURO</ValorDR>
</DscRcgGlobal>
Terminar el nodo del Encabezado una vez obtenidos todos los impuestos y descuentos.
</Encabezado>
Detalle del documento

Por cada Item encontrado del documento, generará el nodo Detalle:
<Detalle>
<NroLinDet>SD1->D1_ITEM</NroLinDet>
<CdgItem>
<TpoCodigo> SB1->B1_UM </TpoCodigo>
<VlrCodigo> SB1->B1_COD </VlrCodigo>
</CdgItem>
<DscLang>Valor fijo ES</DscLang>
<DscItem>SB1->B1_DESC</DscItem>
<QtyItem>SD1->D1_QUANT</QtyItem>
<PrcNetoItem>SD1->D1_VUNIT</PrcNetoItem>
<DescuentoMonto>SD1->D1_VALDESC</DescuentoMonto>
Desgloce De Impuestos por Item x impuesto
Obtener los impuestos de la tabla SFB dónde SFB->FB_POLVRO <> 0 y obtener los valores contenidos en los campos D1_VALIMPN, D1_BASEIMPN y D1_ALQIMPN . Dónde N= SFB->FB_POLVRO.

<ImpuestosDet>
<TipoImp>SFB->FB_CODIMP</TipoImp>
<CodTasaImp>SFB->FB_CODTAR</CodTasaImp>
<TasaImp>SFB->FB_ALIQ</TasaImp>
<MontoBaseImp>SD1->D1_BASIMPN</MontoBaseImp>
<MontoImp>SD1->D1_VALIMPN</MontoImp>
</ImpuestosDet>
Finalizar nodo Detalle
<MontoNetoItem> SD1->D1_TOTAL - SD1->D1_VALDESC </MontoNetoItem>
</Detalle>

Nodo de Referencia

Buscar en la tabla SE5 las facturas relacionadas a la nota de Crédito en cuestión, en donde E5_DOCUMEN = F1_SERIE + F1_DUPL+" " + F1_ESPECIE + F1_LOJA
Una vez obtenidos los registros correspondientes en SE5, buscar dicho documento en la tabla SF2 y generar el nodo de Referencia, como sigue:
<Referencia>
<NroLinRef>1</NroLinRef>
<TpoDocRef> Por ley, la referencia debe ser uma factura, si es nacional la NCC debe colocarse 33, si es de exportación debe colocarse 110</TpoDocRef>
<NumeroRef> substr(F2_DOC,len(F2_DOC)-8,9)+ </NumeroRef>
<FechaRef> + F1_EMISSAO + F1_hora en formato yyyy+MM+ddThh:mm:ssZ+ '</FechaRef>
<CodRef> + F1_ + '</CodRef>
<RazonRef> + F1_MOTIVO + '</RazonRef>
</Referencia>

Nodo CAE
<CAE>
<Tipo>Fijo String</Tipo>
<NumeroInicial>F1_DOC</NumeroInicial>
<NumeroFinal>F1_DOC</NumeroFinal>
<NroResolucion>F1_DOC</NroResolucion>
<FechaResolucion>F1_EMISSAO en formato yyyy-MM-dd</FechaResolucion>
</CAE>

NodoTimeStamP
Fecha y hora en que se generó el documento con formato yyyy-MM-ddTHH:MI:SS.
<TimeStamp>SF1->F1_EMISSAO</TimeStamp>
En esta parte se generará el punto de Entrada M485XMLNCC, para adicionar mas campos personalizados .
Al finalizar este elemento, deberá cerrar el nodo document
</Document>
Finalizar document DTE
</DTE>

Nota de Débito Nacional y Exportación
Si el tipo es 1 Salida, deberá obtener los registros del Encabezado de Factura de Venta SF2 en dónde: F2_DOC=Número de Documento, F2_SERIE=Serie, F2_CLIENTE= Codigo de Cliente , F2_LOJA= Código de Tienda y F2_ESPECIE= Especie (NF= Factura Venta, NDC= Nota Débito). Se incluirá el punto de entrada M485SQL() para agregar campos adicionales a la consulta.
Obtener el detalle del documento de la tabla SD2, para el documento en proceso.
Y generar el xml como a continuación:
Independientemente del tipo de documento deberá llevar
<?xml version="1.0" encoding="iso-8859-1"?>
<DTE version="1.1.0" xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance si:noNamespaceSchemaLocation="DTE_v1.0.xsd">
<Documento ID="comprobante">
<Encabezado>
<IdDoc>
<Ambiente>Valor del parámetro AMBIENTE</Ambiente>
<TipoEmision> Valor fijo 'N'</TipoEmision>
<ContenidoTC>Vacío</ContenidoTC>
<Tipo>56 para Nota de Débito Nacional y 111 para Nota de Débito de Exportación </Tipo>
<Serie>F2_SERIE</Serie>
<Numero>F2_DOC</Numero>
<Estado>Valor Fijo: ORIGINAL</Estado>
<NumeroInterno>SF2->F2_DOC</NumeroInterno>
<FechaEmis>F2_EMISSAO en formato dd-MM-yyyy HH:mm:ss</FechaEmis>
<FormaPago>Verificar con F2_COND, si es Contado colocar 1, si es crédito colocar 2, si es gratuido colocar 3</FormaPago>
<FechaVenc> SE1->E1_VENCTO en formato yyyy-MM-dd </FechaVenc>
<FechaPago> SE1->E1_VENCTO en formato yyyy-MM-dd</FechaPago>
<-- Fecha pago programado 
Se deberá buscar en SE1 según lo siguiente:
Seleccionar la fecha de Vencimiento mayor SE1->E1_VENCTO
En dónde
E1_FILIAL = XFILIAL("SE1")
E1_PREFIXO= F2_SERIE
E1_NUMERO = F2_DUPL
E1_TIPO = F2_ESPECIE
D_E_L_E_T_= ''
</IdDoc>
<Emisor>
<RegimenContable>VACIO</RegimenContable>
<IDEmisor>SM0->M0_CGC</IDEmisor>
<NmbEmisor>SM0->M0_NOME</NmbEmisor>
<NombreEmisor>
<PrimerNombre>SM0->M0_NOMECOM</PrimerNombre>
</NombreEmisor>
<CodigoEmisor>Vacío</CodigoEmisor>
<FechaInicioActividades>2016-01-01</FechaInicioActividades>
<DomFiscal>
<Calle>SM0->M0_ENDENT</Calle>
<Departamento>SM0->M0_CIDENT</Departamento>
<Ciudad>SM0->M0_CIDENT</Ciudad>
<Municipio>SM0->M0_CIDENT</Municipio>
<Pais>152</Pais>
<CodigoPostal>SM0->M0_CEPENT</CodigoPostal>
</DomFiscal>
<LugarExped>
<Calle>SM0->M0_ENDENT</Calle>
</LugarExped>
</Emisor>
<Receptor>
<DocRecep>
<TipoDocRecep>SA1->A1_TIPDOC</TipoDocRecep>
<NroDocRecep>Si A1_EST <> 'EX' Colocar SA1->A1_CGC sino colocar rut universal 5555555-5</NroDocRecep>
</DocRecep>
<NmbRecep>SA1->A1_NOME</NmbRecep>
<NombreRecep>
<PrimerNombre>(cAliasXML)->A1_NOME</PrimerNombre>
<NombreRecep>
<DomFiscalRcp>
<Calle>SA1->A1_END</Calle>
<Ciudad>SA1->A1_BAIRRO</Ciudad>
<Municipio>SA1->A1_MUN</Municipio>
<Pais>Obtener SYA->YA_DESCR con SA1->A1_PAIS</Pais>
<CodigoPostal>SA1->A1_CEP</CodigoPostal>
</DomFiscalRcp>
<LugarRecep>
<Calle>SA1->A1_END</Calle>
<Ciudad>SA1->A1_BAIRRO</Ciudad>
<Municipio>SA1->A1_MUN</Municipio>
<Pais>Obtener SYA->YA_DESCR con SA1->A1_PAIS</Pais>
</LugarRecep >
</Receptor>
<Transporte>
<MedioTransporte>
<MetodoTransp>MetodoTransp</MetodoTransp>
</MedioTransporte>
</Transporte>
<Totales>
<Moneda>Obtener con F2_MOEDA</Moneda>
<SubTotal>SF2->F2_VALMERC</SubTotal>
<MntDcto>SF2->F2_DESCONT</MntDcto>
<VlrPagar>SF2->F2_VALBRUT</VlrPagar>
<MontoPropina>0.00</MontoPropina>
</Totales>
Nodo de Impuestos
Obtener los impuestos de la tabla SFB dónde SFB->FB_POLVRO <> 0 y obtener los valores contenidos en los campos F2_VALIMPN, F2_BASEIMPN y F2_ALQIMPN y FB_CODRET=' '. Dónde N= SFB->FB_POLVRO.
Por cada impuesto generar el siguiente nodo:
<Impuestos>
<TipoImp>SFB->FB_ALIQ</TipoImp>
<CodTasamp>FB_CODIMP</CodTasamp>
<TasaImp>FB_CODTAR<TasaImp>
<MontoBAseImp>SF2->F2_BASEIMPN</MontoBAseImp>
<MontoImp>SF2->F2_VALIMPN</MontoImp>
</Impuestos>
Nodo de Descuentos y recargos Globales
Verificar si el campos F2_DESCONT tiene valor > 0, de ser así generará el siguiente nodo:
<DscRcgGlobal>
<NroLinDR>Consecutivo secuencias a 2 digitos</NroLinDR>
<TpoMov>D</TpoMov>
<GlosaDR>Descuentos</GlosaDR>
<TpoValor>$</TpoValor>
<ValorDR>SF2->F2_DESCONT</ValorDR>
</DscRcgGlobal>

Si el campo F2_FRETE tiene valor > 0 generará el siguiente nodo
<DscRcgGlobal>
<NroLinDR>Consecutivo secuencias a 2 digitos</NroLinDR>
<TpoMov>R</TpoMov>
<GlosaDR>Flete</GlosaDR>
<TpoValor>$</TpoValor>
<ValorDR>SF2->F2_FRETE</ValorDR>
</DscRcgGlobal>
Si el campo F2_DESPESA tiene valor > 0 generará el siguiente nodo

<DscRcgGlobal>
<NroLinDR>Consecutivo secuencias a 2 digitos</NroLinDR>
<TpoMov>R</TpoMov>
<GlosaDR>Otros gastos</GlosaDR>
<TpoValor>$</TpoValor>
<ValorDR>SF2->F2_DESPESA</ValorDR>
</DscRcgGlobal>
Si el campo F2_SEGURO tiene valor > 0 generará el siguiente nodo

<DscRcgGlobal>
<NroLinDR>Consecutivo secuencias a 2 digitos</NroLinDR>
<TpoMov>R</TpoMov>
<GlosaDR>Seguro</GlosaDR>
<TpoValor>$</TpoValor>
<ValorDR>SF2->F2_SEGURO</ValorDR>
</DscRcgGlobal>
Terminar nodo Encabezado una vez obtenidos todos los impuestos y descuentos globales
</Encabezado>
Detalle del documento

Por cada Item encontrado del documento, generará el nodo Detalle:
<Detalle>
<NroLinDet>SD2->D2_ITEM</NroLinDet>
<CdgItem>
<TpoCodigo> SB1->B1_UM </TpoCodigo>
<VlrCodigo> SB1->B1_COD </VlrCodigo>
</CdgItem>
<DscLang>Valor fijo ES</DscLang>
<DscItem>SB1->B1_DESC</DscItem>
<QtyItem>SD2->D2_QUANT</QtyItem>
<PrcNetoItem> ((cAliasXML)>D2_TOTAL + (cAliasXML)>D2_DESCON)/(cAliasXML)->D2_QUANT</PrcNetoItem>
<DescuentoMonto>SD2->D2_DESCON/SD2->D2_QUANT</DescuentoMonto>
<MontoNetoItem> SD2->D2_TOTAL </MontoNetoItem>
Desgloce De Impuestos por Item x impuesto
Obtener los impuestos de la tabla SFB dónde SFB->FB_POLVRO <> 0 y obtener los valores contenidos en los campos F2_VALIMPN, F2_BASEIMPN y F2_ALQIMPN y FB_CODRET=' '. Dónde N= SFB->FB_POLVRO.

<ImpuestosDet>
<TipoImp>SFB->FB_CODIMP</TipoImp>
<CodTasaImp>SFB->FB_CODTAR</CodTasaImp>
<TasaImp>SFB->FB_ALIQ</TasaImp>
<MontoBaseImp>SD2->D2_BASIMPN</MontoBaseImp>
<MontoImp>SD2->D1_VALIMPN</MontoImp>
</ImpuestosDet>
Finalizar nodo Detalle

</Detalle>
Nodo de Referencia
Obtener el documento(NF,NCC) del cliente ligada a la nota de débito mediante los campos F2_NFREF Y F2_SERREF y obtener:
<Referencia>
<NroLinRef>1</NroLinRef>
<TpoDocRef>Si el documento de referencia es factura nacional colocar 33, si es de Exportación colocar 110. Si el documento de referencia es una nota de crédito nacional colocar 61, si es de exportación colocar 112</TpoDocRef>
<NumeroRef>F2_DOC+ </NumeroRef>
<FechaRef> F2_EMISSAO '</FechaRef>
<CodRef> F2_TIPREF '</CodRef>
<RazonRef> F2_MOTIVO '</RazonRef>
</Referencia>
Nodo CAE
<CAE>
<Tipo>Fijo String</Tipo>
<NumeroInicial>F2_DOC</NumeroInicial>
<NumeroFinal>F2_DOC</NumeroFinal>
<NroResolucion>F2_DOC</NroResolucion>
<FechaResolucion>F2_EMISSAO</FechaResolucion>
</CAE>

NodoTimeStamP
Fecha y hora en que se generó el documento con formato dd-MM-yyyyTHH:MI:SS.
<TimeStamp>SF2->F2_EMISSAO</TimeStamp>
En esta parte deberá generarán los puntos de Entrada M485XMLNDC para nota de débito y M485XMLNF para Factura, para adicionar campos personalizados.
Al finalizar este element, deberá cerrar el nodo document.
</Document>
Finalizar document DTE
</DTE>

Factura de Venta Nacional, de Exportación y Guías de Despacho
Si el tipo es 1 Salida, deberá obtener los registros del Encabezado de Factura de Venta SF2 en dónde: F2_DOC=Número de Documento, F2_SERIE=Serie, F2_CLIENTE= Codigo de Cliente , F2_LOJA= Código de Tienday F2_ESPECIE= Especie (NF= Factura Venta, RNF=Guía de Despacho) ).
Obtener detalle del documento de la tabla SD2 para el documento en proceso. Si la TES de los ITEMs del documento, se encuentra contenida en el parámetro MV_TESEXC, el documento será tratado como Factura Excenta de IVA.
Y generará el xml como a continuación:
Independientemente del tipo de documento deberá llevar
<?xml version="1.0" encoding="iso-8859-1"?>
<DTE version="1.1.0" xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance si:noNamespaceSchemaLocation="DTE_v1.0.xsd">
<Documento ID="comprobante">
<Encabezado>
<IdDoc>
<Ambiente>Valor del parámetro AMBIENTE</Ambiente>
<TipoEmision>1</TipoEmision>
<ContenidoTC>Vacío</ContenidoTC>
<Tipo> Si es factura Nacional colocar 33, si es factura Excenta colocar 34, si es factura de Exportación colocar 110, Si es guía de Despacho colocar 52</Tipo>
<Serie>F2_SERIE</Serie>
<Numero>F2_DOC<Numero>
<NumeroInterno>F1_DOC</NumeroInterno>
<Estado>Valor Fijo: ORIGINAL</Estado>
<FechaEmis>F2_EMISSAO en formato dd-MM-yyyy HH:mm:ss</FechaEmis>
<FechaPago> SE1->E1_VENCTO en formato yyyy-MM-dd</FechaPago>
<-- Fecha pago programado 
Se deberá buscar en SE1 según lo siguiente:
Seleccionar la fecha de Vencimiento mayor SE1->E1_VENCTO
En dónde
E1_FILIAL = XFILIAL("SE1")
E1_PREFIXO= F2_SERIE
E1_NUMERO = F2_DUPL
E1_TIPO = F2_ESPECIE
D_E_L_E_T_= ''
</IdDoc>
<Emisor>
<RegimenContable>VACIO</RegimenContable>
<IDEmisor>SM0->M0_CGC</IDEmisor>
<NmbEmisor>SM0->M0_NOME</NmbEmisor>
<NombreEmisor>
<PrimerNombre>SM0->M0_NOMECOM</PrimerNombre>
</NombreEmisor>
<CodigoEmisor>Vacío</CodigoEmisor>
<FechaInicioActividades>2016-01-01</FechaInicioActividades>
<DomFiscal>
<Calle>SM0->M0_ENDENT</Calle>
<Departamento>SM0->M0_CIDENT</Departamento>
<Ciudad>SM0->M0_CIDENT</Ciudad>
<Municipio>SM0->M0_CIDENT</Municipio>
<Pais>152</Pais>
<CodigoPostal>SM0->M0_CEPENT</CodigoPostal>
</DomFiscal>
<LugarExped>
<Calle>SM0->M0_ENDENT</Calle>
</LugarExped>
</Emisor>
<Receptor>
<DocRecep>
<TipoDocRecep>SA1->A1_TIPDOC</TipoDocRecep>
<NroDocRecep>Si A1_EST <> 'EX' Colocar SA1->A1_CGC sino colocar rut universal 5555555-5</NroDocRecep>
</DocRecep>
<NmbRecep>SA1->A1_NOME</NmbRecep>
<NombreRecep>
<PrimerNombre>(cAliasXML)->A1_NOME</PrimerNombre>
<NombreRecep>
<DomFiscalRcp>
<Calle>SA1->A1_END</Calle>
<Ciudad>SA1->A1_BAIRRO</Ciudad>
<Municipio>SA1->A1_MUN</Municipio>
<Pais>Obtener SYA->YA_DESCR con SA1->A1_PAIS</Pais>
<CodigoPostal>SA1->A1_CEP</CodigoPostal>
</DomFiscalRcp>
<LugarRecep>
<Calle>SA1->A1_END</Calle>
<Ciudad>SA1->A1_BAIRRO</Ciudad>
<Municipio>SA1->A1_MUN</Municipio>
<Pais>Obtener SYA->YA_DESCR con SA1->A1_PAIS</Pais>
</LugarRecep >
</Receptor>
<Transporte>
<MedioTransporte>
<MetodoTransp>MetodoTransp</MetodoTransp>
</MedioTransporte>
</Transporte>
<Totales>
<Moneda>Obtener con F2_MOEDA</Moneda>  Aplica solamente para Factura de Exportación
<SubTotal>SF2->F2_VALMERC – SF2->F2_DESCONT</SubTotal>
<MntDcto>SF2->F2_DESCONT</MntDcto>
<MntoBase>SF2->F2_VALMERC</MntoBase>
<VlrPagar>SF2->F2_VALBRUT</VlrPagar>
<VlrPalabras> EXTENSO( SF2->F2_VALBRUT)</VlrPalabras>
<MontoPropina>0</MontoPropina>
</Totales>
Nodo de Impuestos
Obtener los impuestos de la tabla SFB dónde SFB->FB_POLVRO <> 0 y obtener los valores contenidos en los campos F2_VALIMPN, F2_BASEIMPN y F2_ALQIMPN y FB_CODRET=' '. Dónde N= SFB->FB_POLVRO.
Por cada impuesto generará el siguiente nodo:
<Impuestos>
<TipoImp>SFB->FB_ALIQ</TipoImp>
<CodTasamp>FB_CODIMP</CodTasamp>
<TasaImp>FB_CODTAR<TasaImp>
<MontoBAseImp>SF2->F2_BASEIMPN</MontoBAseImp>
<MontoImp>SF2->F2_VALIMPN</MontoImp>
</Impuestos>
Nodo de Descuentos y recargos Globales
Verificar si el campos F2_DESCONT tiene valor > 0, de ser así generará el siguiente nodo:
<DscRcgGlobal>
<NroLinDR>Consecutivo secuencias a 2 digitos</NroLinDR>
<TpoMov>D</TpoMov>
<GlosaDR>Descuentos</GlosaDR>
<TpoValor>$</TpoValor>
<ValorDR>SF2->F2_DESCONT</ValorDR>
</DscRcgGlobal>

Si el campo F2_FRETE tiene valor > 0 generará el siguiente nodo
<DscRcgGlobal>
<NroLinDR>Consecutivo secuencias a 2 digitos</NroLinDR>
<TpoMov>R</TpoMov>
<GlosaDR>Flete</GlosaDR>
<TpoValor>$</TpoValor>
<ValorDR>SF2->F2_FRETE</ValorDR>
</DscRcgGlobal>
Si el campo F2_DESPESA tiene valor > 0 generará el siguiente nodo
<DscRcgGlobal>
<NroLinDR>Consecutivo secuencias a 2 digitos</NroLinDR>
<TpoMov>R</TpoMov>
<GlosaDR>Otros gastos</GlosaDR>
<TpoValor>$</TpoValor>
<ValorDR>SF2->F2_DESPESA</ValorDR>
</DscRcgGlobal>
Si el campo F2_SEGURO tiene valor > 0 generará el siguiente nodo
<DscRcgGlobal>
<NroLinDR>Consecutivo secuencias a 2 digitos</NroLinDR>
<TpoMov>R</TpoMov>
<GlosaDR>Seguro</GlosaDR>
<TpoValor>$</TpoValor>
<ValorDR>SF2->F2_SEGURO</ValorDR>
</DscRcgGlobal>
Terminar nodo Encabezado una vez obtenidos todos los impuestos y descuentos globales
</Encabezado>
Detalle del documento
Por cada Item encontrado del documento, generar:
<Detalle>
<NroLinDet>SD1->D1_ITEM</NroLinDet>
<CdgItem>
<TpoCodigo> SB1->B1_UM </TpoCodigo>
<VlrCodigo> SB1->B1_COD </VlrCodigo>
</CdgItem>
<DscLang>Valor fijo ES</DscLang>
<DscItem>SB1->B1_DESC</DscItem>
<QtyItem>SD2->D2_QUANT</QtyItem>
<PrcNetoItem> ((cAliasXML)>D2_TOTAL + (cAliasXML)>D2_DESCON)/(cAliasXML)->D2_QUANT</PrcNetoItem>
<DescuentoMonto>SD2->D2_DESCON</DescuentoMonto>
Desgloce De Impuestos por Item x impuesto
Obtener los impuestos de la tabla SFB dónde SFB->FB_POLVRO <> 0 y obtener los valores contenidos en los campos F2_VALIMPN, F2_BASEIMPN y F2_ALQIMPN y FB_CODRET=' '. Dónde N= SFB->FB_POLVRO.


<ImpuestosDet>
<TipoImp>SFB->FB_CODIMP</TipoImp>
<CodTasaImp>SFB->FB_CODTAR</CodTasaImp>
<TasaImp>SFB->FB_ALIQ</TasaImp>
<MontoBaseImp>SD2->D2_BASIMPN</MontoBaseImp>
<MontoImp>SD2->D1_VALIMPN</MontoImp>
</ImpuestosDet>
<MontoNetoItem> SD2->D2_TOTAL </MontoNetoItem>
</Detalle>
Para la factura Nacional y/o Exportación y Guía de Despacho, no es obligatorio ante la SII el nodo Referencia, sin embargo en esta sección se pueden asociar la Orden de Compra y/o Guías de Despacho que dan origen a la factura, por lo que se colocará el punto de entrada M485REFNF para permitir incluir estos datos. El punto de Entrada solicitará los parámetros de la siguiente manera:

  1. Filial
  2. Número de documento
  3. Serie
  4. Especie
  5. Cliente
  6. Tienda


El punto de Entrada retornará el nodo Referencia, según tenga el documento, el número máximo de referencias aceptadas por la SII son 20.
<Referencia>
<NroLinRef>1</NroLinRef>
<TpoDocRef>Si el documento de referencia una orden de compra colocar 801, si la referencia es una guía de Despacho colocar 52</TpoDocRef> Para otros documentos, apóyese de la siguiente tabla:

Código

Tipo de documento

30

factura

33

Factura Electrónica

60

nota de crédito

61

Nota de Crédito Electrónica

55

nota de débito

56

Nota de Débito Electrónica

50

Guía de Despacho

52

Guía de Despacho Electrónica

34

Factura No Afecta o Exenta Electrónica

32

factura de venta bienes y servicios no afectos o exentos de IVA

39

Boleta Electrónica

41

Boleta Exenta Electrónica

35

Boleta

38

Boleta exenta

46

Factura de Compra Electrónica.

43

Liquidación-Factura Electrónica

110

Factura de Exportación Electrónica

111

Nota de Débito de Exportación Electrónica

112

Nota de Crédito de Exportación Electrónica

45

factura de compra

103

Liquidación

40

Liquidación Factura

801

Orden de Compra

802

Nota de Pedido

803

Contrato

804

Resolución

805

Proceso ChileCompra

806

Ficha ChileCompra

807

DUS

808

B/L  (Conocimiento de embarque )

809

AWB ( Air Will Bill )

810

MIC/DTA

811

Carta de Porte

812

Resolución del SNA donde califica servicios de exportación

813

Pasaporte

814

Certificado de Depósito Bolsa Prod. Chile

815

Vale de Prenda Bolsa Prod. Chile

813

Pasaporte

814

Certificado de Depósito Bolsa Prod. Chile

815

Vale de Prenda Bolsa Prod. Chile


<NumeroRef> Número de documento de referencia </NumeroRef>
<FechaRef> fecha del documento em formato DD-MM-AAAATHH:MM:SSZ</FechaRef>
<CodRef>Vacío </CodRef>
<RazonRef> Descripción del motivo de generación</RazonRef>
</Referencia>

NodoCAE
<CAE>
<Tipo>Fijo String</Tipo>
<NumeroInicial>F2_DOC</NumeroInicial>
<NumeroFinal>F2_DOC</NumeroFinal>
<NroResolucion>F2_DOC</NroResolucion>
<FechaResolucion>F2_EMISSAO</FechaResolucion>
</CAE>

NodoTimeStamP
Fecha y hora en que se generó el documento con formato dd-MM-yyyyTHH:MI:SS.
<TimeStamp>SF2->F2_EMISSAO</TimeStamp>
Se crearán los puntos de entrada M485XMLNDC para nota de débito y M485XMLNF para Factura, que permitirán adicionarcampos personalizados o información adicional. Ambos Puntos de Entrada, deberán recibir los parámetros:

  1. Filial
  2. Número de documento
  3. Serie
  4. Especie
  5. Cliente
  6. Tienda
  7. Cod. Modalidad de Venta -> F2_MODVEN


NOTA: Para la Factura de Exportación, debe enviarse por campo personalizado el Código de Modalidad de Venta, respondiendo a la tabla siguiente indicada por la SII, en Protheus, este dato está asociado al documento por el campo F2_MODVEN.
Ejemplo:
<Personalizados>
<campoNumero name="CodModVenta">9</campoNumero>
</Personalizados>
Al finalizar este element, deberá cerrar el nodo document.
</Document>
Finalizar document DTE
</DTE>

MATA485 Transmisión Electrónica

Realizar las adecuaciones a la rutina de Transmisión Electrónica (MATA485). Crear una rutina que permita realizar transferencias electrónicas de los documentos para Chile :

  • Factura de venta
  • Nota de Débito
  • Nota de Crédito
  • Guias de Despacho
  • Factura Excenta
  • Factura Exportación
  • Nota de DébitoExportación
  • Nota Crédito Exportación



La transmisión será apoyada por el PAC de SIGNATURE, y a través de TSS.

Al ingresar a la opción Transmisión Electrónica (MATA485) se desplegará la pantalla de preguntas MATA485 (ver Prototipo 1), solicitando los datos:

  • Tipo de documento: Podrá seleccionar entre las opciones:

 

        • Factura,
        • Nota de Débito
        • Nota de Crédito
        • Guia de Despacho

 

  • Serie: Serie del documento.


Una vez configurados los parámetros. Se deberá llenar el browser de acuerdo a (ver Prototipo 2):
Si el Tipo de documento es igual a 1 Factura filtrará los documentos de la tabla SF2 dónde el campo F2_ESPECIE = 'NF'.
Si el Tipo de documento es igual a 2 (Nota de Débito) filtrará los documentos de la tabla SF2 dónde el campos F2_ESPECIE ='NDC'.
Si el Tipo de documento es igual a 3 (Nota de Crédito) filtrará los documentos de la tabla SF1 dónde el campo F1_ESPECIE='NCC'.
Si el Tipo de documento es igual a 4 (Guia de Despacho) filtrará los documentos de la tabla SF2 dónde el campo F2_ESPECIE='RFN'.


En la opción de Acciones Relacionadas visualizará las opciones:

  • Buscar
  • Walkthru
  • Entorno
  • Monitor
  • Act. De Cert. Manual
  • Visualizar


Y a lado de la opción de Acciones Relacionadas, las sub-opciones de:

  • Configuración
  • Ambiente
  • Transmitir


Se deberá generar cliente para los siguientes Web Services: TSSSIGNATURE Y NFECFGLOC, ya que serán consumidos por la rutina en las siguientes opciones:
Opción, Configuración
Esta opción permite ejecutar un wizard de configuración con el que se realicen las siguientes operaciones:
En la primer ventana del Wizard, informará al usuario el propósito del mismo (ver Prototipo 3)
En la segunda ventana del wizard (Prototipo 4), pedirá los siguientes datos:

  • Informe la URL del Servidor Totvs Services: Web services TSS. Campo tipo carácter de 100 caracteres, obligatorio.
  • Informe URL de conexión con Signature: Web Services para que TSS realice el envío de los documentos.
  • Informe Area: Area a la que será enviado el documento
  • Informe Contraseña: Contraseña de conexión de la cuenta del cliente en el sistema signature.


Si alguno de los datos anteriores no es válido o no fue introducido, deberá enviar un mensaje al usuario indicando qué dato está faltando y no continuar con el proceso.
Al seleccionar el botón Siguiente deberá realizar:

  1. En el parámetro MV_SIGNAWS deberá registrar el URL de los Web Services del TSS (ver Prototipo 3).
  2. En el parámetro MV_SIGNUSR deberá guardar el URL para conexión con el sistema signature.
  3. Se deberá consumir el Web Method ADMEMPLOC del Web Service NFECFGLOC, con el fin de registrar la empresa que enviará los documentos fiscales al TSS.

Usertoken : "TOTVS"
Empresa:

  • BAIRRO = SM0->M0_BAIRENT
  • CIDADE = SM0->M0_CIDCOB
  • COD_PAIS=152
  • CODFIL = FWGETCODFILIAL
  • CODPROVINC = SM0->M0_ESTENT
  • COMPL= FisGetEnd(SM0->M0_ENDENT)[4]
  • CP=vacio
  • CUIT = vacio
  • DDN= vacio
  • DESCPROVINC= SM0->CIDENT
  • EMAIL=vacio
  • ENDERECO= FisGetEnd(SM0->M0_ENDENT)[1]
  • FANTASIA= SM0->M0_NOME
  • FAX= FisGetTel(SM0->M0_FAX)[3]
  • FONE = FisGetTel(SM0->M0_TEL)[3]
  • INSCRPROVI = SM0->M0_INSC
  • NOME= SM0->M0_NOMECOM
  • NUM= FisGetEnd(SM0->M0_ENDENT)[3]
  • REGMUN= Vacío
  • RUC= SM0->M0_CGC


Guardar el Retorno del web method para su uso posterior.

  1. Una vez obtenida la Entidad en el paso anterior, se deberá registrar la Empresa en el sistema Signature mediante el consumo del Web Method CFGEMPRESA del Web Service TSSWSSIGNATURE enviando los siguientes datos:


USERTOKEN: "TOTVS"
ENTIDADE: = Obtener Id de la Entidad del TSS llamando al método ADMEMPLOC del Web Service NFECFGLOC.
CONFIGEMPRESA:
ADMINEMAIL:. MV_SIGNADM
ADMINPASS: Campo Contraseña, dato proporcionado por el usuario en el wizard.
ADMINUSER: Campo Área informada en el wizard.
CERTIFICADO: Usuario del SyncPoint, obtener del parámetro MV_SIGNUSR
DELIVERY: False.
IMGLOGO: Contraseña del Usuario del SyncPoint. Obtener del parámetro MV_SIGNPAS
PRINT: True
ROLE: software
SENHA: Campo Contraseña.
STORAGE: false
Mostrar el retorno del web method en un mensaje para el usuario, dependiendo del contenido del mismo, es decir; si el retorno es .F. deberá mostrar al usuario el contenido del mensaje retornado, mismo caso si el resultado es .T. , este mensaje indicará el éxito o fracaso de la operación.
Opción, Ambiente
Esta opción debe permitir configurar el ambiente utilizado en el TSS mediante el consumo del método CFGAMBLOC del Web Service NFECFGLOC. Esto permitirá indicar al TSS el ambiente que se estará utilizando. Al ingresar a la opción preguntara (ver prototipo 6):

¿Ambiente? – Podrá seleccionar entra las opciones:
1. Producción
2. Homologación
Se deberá llamar al método con los siguientes parámetros:
USERTOKEN= "TOTVS"
ID_ENT= Obtener Id de la Entidad del TSS llamando al método ADMEMPLOC del Web Service NFECFGLOC.
AMBIENTE= 1 o 2 según la elección del usuario en el combo.
MODELO=VACIO
El retorno del método indicará el ambiente que ha sido configurado. Al finalizar la incialización del ambiente, se deberá informar al usuario el entorno configurado en un mensaje en pantalla. Prototipo 11.
Opción, Transmisión
Una vez configurada la conexión hacia el TSS y configurado el ambiente a utilizar, se podrá realizar la transmisión de un documento fiscal.
Entonces al seleccionar esta opción, aparecerá un wizard en el cuál se configurará el intervalo con el número de documento para la transmisión.
En la primer pantalla se informará el propósito del asistente, así como el ambiente configurado en el TSS.Prototipo 7.
En la segunda pantalla se informarán los rangos de documentos que se enviarán al TSS. Esta pantalla deberá tener textos dinámicos que indiquen lo siguiente:
Si el tipo de documento configurado al entrar en la rutina es 1 Factura, visuaizará (Prototipo 8):
¿Serie de la Factura?
¿Factura Inicial?
¿Factura Final?
Si el tipo de Documento configurado es 2 Nota de Débido, visualizará:
¿Serie de la Nota de Débito?
¿Nota de Débito Inicial?
¿Nota de Débito Final?
Si el tipo de Documento es 3 Nota de Crédito, visualizará:
¿Serie de la Nota de Crédito?
¿Nota de Crédito Inicial?
¿Nota de Crédito Final?
Si el documento es 4 Guía de Despacho, visualizará:
¿Serie de la Guía de Despacho?
¿Guía de Despacho Inicial?
¿Guía de Despacho Final?

Al seleccionar el botón Ok realizará los siguientes puntos (Prototipo 9):

  • Obtenedrá todos los registros de la tabla SF2 donde el campo F2_ESPECIE sea igual, según las siguientes condiciones:


Si Tipo de documento es igual a 1 o 4 Factura o Guía de despacho, filtrará los documentos de la tabla SF2 dónde el campo F2_ESPECIE = 'NF'.
Si Tipo de documento es igual a 2 Nota de Debito filtrará los documentos de la tabla SF2 dóndeel campo F2_ESPECIE ='NDC'.
Si Tipo de documento es igual a 3 Nota de Crédito filtrará los documentos de la tabla SF1 dónde el campo F1_ESPECIE='NCC'.

  • Generara el xml correspondiente por cada documento haciendo uso de la función NFAEXmlCHI que se explica al inicio de este documento.

 

  • Una vez generados los xml correspondientes por documento, invocara al método RemessaDoc del Web Service TSSSignature enviando los siguientes datos:


USERTOKEN: "TOTVS"
ENTIDADE: Obtener Id de la Entidad del TSS llamando al método ADMEMPLOC del Web Service NFECFGLOC.
REMESSA
ID = F2_DOC/F1_DOC según sea el caso
MODELO: Informar modelo conforme a la tabla siguiente:

Tipo de Documento

Documento

Modelo

1

Factura
Factura Excenta
Factura Exportación

S1
SC
S8

2

Nota de Débito
Nota de Débito Exportación

S5
SA

3

Nota de Crédito
Nota de Crédito Exportación

S4
S9

4

Guía de Despacho

SB



XML = Generado por la función mencionada en la espec del paso anterior codificado en Base 64.
Almacenar el retorno del web Method y al terminar el proceso mostrará al usuario en un log en pantalla según los errores o aceptaciones por documento. Prototipo 12.
Actualizar el estatus del documento enviado al TSS F1_FLFTEX/F2_FLFTEX=1. Este deberá reflejarse al retornar al browse, ya que cambiara de color de la leyenda.
Opción Monitor

Permitirá visualizar los documentos que han sido transmitidos al TSS. Al entrar en la opción desplegará un cuadro de preguntas en dónde se indicará lo siguiente:

  • Serie
  • Documento inicial
  • Documento final


Estas preguntas deberán variar dependiento del tipo de documento configurado al entrar en la rutina principal, es decir
Si el tipo de documento configurado al entrar en la rutina es 1 Factura, visualizará (Prototipo 13):
¿Serie de la Factura?
¿Factura Inicial?
¿Factura Final?
Si el tipo de Documento configurado es 2 Nota de Débido, visualizara:
¿Serie de la Nota de Débito?
¿Nota de Débito Inicial?
¿Nota de Débito Final?
Si el tipo de Documento es 3 Nota de Crédito, visualizara:
¿Serie de la Nota de Crédito?
¿Nota de Crédito Inicial?
¿Nota de Crédito Final?
Si el documento es 4 Guía de Despacho, visualizara:
¿Serie de la Guía de Despacho?
¿Guía de Despacho Inicial?
¿Guía de Despacho Final?
Al confirmar los parámetros, comsumir'a el web Method MonitorDoc del web Service TSSSIGNATURE del a siguiente manera:
USERTOKEN= "TOTVS"
ENTIDADE= Obtener Id de la Entidad del TSS llamando al método ADMEMPLOC del Web Service NFECFGLOC.
MODELO = Si el Tipo de Documento es 1 Factura, entonces S1.
Si el Tipo de Documento es 2 Nota Crédito, entonces S4.
Si el Tipo de documento es 3 Nota Débito, entonces S5.
Si el Tipo de Documento es 4 Guia de Despacho, entonces SB.
MONITORSIG
IDINICIAL = Documento Inicial
IDFINAL = Documento Final

El resultado deberá ser expuesto en pantalla en un listbox (Prototipo 14) con los siguientes datos:
Status :
Si el campo Satus del retorno del web method corresponde con los siguientes códigos, deberá pintar según el color
Si Status es 1 Recibido por TSS Color Azúl.
Si Status es 4 Aguardando procesamiento Color Amarillo.
Si Status es 5 Documento Rechazado Color Rojo.
Si Status es 6 Documento Autorizado Color Verde.
Documento
Si el Tipo de Documento es 1 Factura, entonces mostrará en el título "Número de Factura".
Si el Tipo de Documento es 2 Nota Débito, entonces mostrara en el título "Número de Nota de Débito",.
Si el Tipo de documento es 3 Nota Crédito entonces mostrara en el título "Número de Nota de Crédito".
Si el Tipo de documento es 4 Guia de Despacho entonces mostrara en el título "Número de Guía de Despacho".

Ambiente: Si el retorno del campo Ambiente es 1 colocará "Producción", si es 2 colocará "Homologación".
Fch. Aut. : Fecha de Autorización del Documento.
Hr. Aut.: Hora de Autorización del documento.
Mensaje: Mensaje retornado.
Recomendación: si durante el proceso del envío para el PAC SIGNATURE tuvo algún problema, en esta columna será informado según el retorno del web method.
En la parte inferior derecha se encontrará un conjunto de botones cuya funcionalidad es la siguiente:

  • Ok: Al dar clic en esta opción, deberá permitir detonar la funcionalidad de la Act. De Cert. Manual (Actualización Manual de Certificados).

 

  • Schema: Abrirá una ventana nueva en la que mostrará XML Autorizado, este podrá obtenerse consultando el documento usando el web method MonitorDoc, utilizando la propiedad DOCSIGRET:LOTE:XML. Vea Prototipo 17.
  • Leyenda: Desplegará una ventana mostrando los colores y su respectivo significado según el estatus del documento. Vea Prototipo 16.
  • Refresh: Permitirá realizar una nueva llamada al web Method MonitorDoc del web Service TSSSIGNATURE y rellenar el listbox con los resultados arrojados por la nueva consulta.


Act. De Cert. Manual (Actualización Manual de Certificados)
Este procedimiento deberá comsumira el Web Method ConsultaDoc devolverá los documentos que han sido procesado por SIGNATURE.
Al detonar la funcionalidad,se visualizará una pantalla de proceso que indicara al usuario que se están obteniendo los documentos para la actualización. Vea Prototipo 18.
Se deberá enviar los siguientes parámetros de entrada al web method ConsultaDoc
USERTOKEN= "TOTVS"
ENTIDADE= Obtener Id de la Entidad del TSS llamando al método ADMEMPLOC del Web Service NFECFGLOC.
MODELO = Si el Tipo de Documento es 1 Factura entonces S1.
Si el Tipo de Documento es 2 Nota Crédito entonces S4.
Si el Tipo de documento es 3 Nota Débito entonces S5.
Si el Tipo de documento es 4 Guia de Despacho entonces SB.
Si se envía vacío deberá traer todos los documentos.
NOTA: Al consultar Facturas Modelo S1, se recibirá información tanto de Factura, Factura Excenta y Factura de Exportación. Mismo procedimiento para Notas de Crédito y Débito.
Una vez recebido el retorno del web service, se actualizarán los campos en las tablas SF1 y SF2 como se describe a continuación:
Buscar el documento según si Modelo
S1= Factura se buscará en la tabla SF2.
S5= Nota de débito buscará en la tabla SF2.
Dónde el campo F2_DOCUMENT= ID del documento retornado y especie = Si Modelo=S1|SC entonces "NF", si modelo=S5|SA entonces "NDC", si Modelo = SB, entonces "RFN".
Si modelo S4|S9= Nota de crédito, buscara en la tabla SF1, dónde el campo F1_DOCUMENT= ID del documento retornado y especie = Si Modelo=S4|S9 entonces "NCC"
Y actualizara:

  • Se procesara el xml timbrado para obtener el número de TrackID del documento, así como la fecha y hora de autorización de la propiedad cXML, asignara al campo SF1->F1_NUMAUT/SF2->F2_NUMAUT , de la misma manera obtendra fecha de autorización y asignara al campo SF1->F1_FECAUT/SF2->F2_FECAUT, así mismo se actualizara el campo F1_FLFTEX/F2_FLFTEX con el estatus retornado.


Si el estatus es igual a Autorizado por la SII (estatus = 6), adeberá generarse el archivo XML y PDF del documento autorizado en la carpeta indicada en el parámetro MV_CDFDOCS con el nombre formado por : serie + documento + especie + pefijo "-ok" + extensión XML/PDF según corresponda. El prefijo "-ok" indicará que el documento fue aceptado y autorizado por la SII. El PDF corresponde a la representación impresa a partir del XML autorizado, este archivo es generado por SIGNATURE y almacenado en TSS.
Ejemplo: A 000123456NF-OK.XML / A 000123456NF-OK.PDF


Al finalizar el proceso, deberá enviar un mensaje al usuario para informar el término del proceso , además se refrescara el browse principal con los nuevos estatus de los documentos. Vea Prototipo 19.

Opción Visualizar
Esta opción permitirá visualizar el documento seleccionado en el browse (Vea Prototipo 15) sin permitir ningún cambio.
LocxNF
Se modificara la función LOCXDLGNF para que muestre en el encabezado del documento nuevos campos según corresponde a la siguiente regla:
Si el documento es Nota de Débito, se incluyen los campos F2_NFREF y F2_SERREF. Para estos campos deberá validarse que la Factura y Serie de Referencia existan en la tabla SF2 para el codigo de cliente y la tienda correspondientes con el documento que se está dando de alta (MT485VLDNF). Vea Prototipo 20.
Además se agraga el campo : F2_TIPREF que contendrá la lista de tipos de Referencia según la SII :
1=Anula Documento de Referencia
2=Corrige Texto Documento de Referencia
3=Corrige montos.
Además mostrara el campo F2_ESPREF, este campo contendrá 2 opciones: 1=NF, 2=NCC. En base a esto, validara que el documento informado en los campos F2_NFREF y F2_SERREF sean válidos según corresponda.
Si el documento es Nota de Crédito, se incluyenlos campos F1_MOTIVO Y F1_TIPREF. Vea Prototipo 21 .
Si el documento es Factura, se incluye el campo F2_MODVEN que será utilizado en la Factura de Exportación. Vea Prototipo 22 .

Tablas Utilizadas

  • SF1– Factura de venta
  • SD1– Items de facturas de ventas
  • SF2– Factura de Salida
  • SD2– Items de facturas de Salida
  • SFB– Impuestos Variables
  • SB1– Productos
  • SM0– Sucursales
  • SA1– Clientes
  • SFP– Control de formularios

 

Protótipo de Pantalla


Prototipo 1



Prototipo 2



Prototipo 3





Prototipo 4



Prototipo 5




Prototipo 6




Prototipo 7

Prototipo 8



Prototipo 9




Prototipo 11




Prototipo 12



Prototipo 13




Prototipo 14



Prototipo 15





Prototipo 16

Prototipo 17


Prototipo 18

Prototipo 19


Prototipo 20


Prototipo 21





Prototipo 22

Reglas de Integridad


Explicada en la seccion de regla de negocio.


Dicionário de Datos

  • Dicionário de Datos


Nuevos campos den SF1- Encabezado

Campo

F1_FECAUT

Tipo

D

Tamanho

8

Decimal

0

Picture

 

Contexto

Real

Propiedad

Modificar

Título

Fch Aut

Descrición

Fecha de autorización

Help de Campo

Fecha de Autorización Digital

Lista

 

Inicializa Estd

 

Validación

 

Uso

Usado

Campo

F1_FLFTEX

Tipo

C

Tamanho

1

Decimal

0

Picture

 

Contexto

Real

Propiedad

Modificar

Título

Status Trans

Descrición

Estatus transmission Electrónica

Help de Campo

Indica el estatus del documento una vez que ha sido enviado al TSS

Lista

0=No Enviado,1=Enviado a TSS,4=Esperando procesamiento,5=Rechazado,6=Autorizado.

Inicializa Estd

0

Validación

 

Uso

Usado

 

 

Campo

F1_MOTIVO

Tipo

Carácter

Tamaño

30

Decimal

0

Formato

@!

Título

Motivo

Descripción

Motivo

Usado

Si

Obligatorio

Si

Browse

No

Contexto

Real

Propiedades

Alterar

Orden

F3

Help De Campo

Motivo por el cuál se emite el documento.

 



Campo

F1_TIPREF

Tipo

C

Tamanho

1

Decimal

0

Picture

 

Contexto

Real

Propiedad

Modificar

Título

Tipo Ref.

Descripción

Tipo de Referencia.

Help de Campo

Tipo de Referencia:
1: Anula Documento de Referencia
2:Corrige Texto Documento de Referencia
3:Corrige montos

Lista

1=Anula Documento de Referencia;2=Corrige Texto Documento de Referencia;3=Corrige montos

Inicializa Estd

'1'

Validación

PERTENCE('123')

Uso

Usado

Obligatorio

Si




Nuevos campos en SF2- Encabezado Factura de Venta

Campo

F2_FECAUT

Tipo

D

Tamanho

8

Decimal

0

Picture

 

Contexto

Real

Propiedad

Modificar

Título

Fch Aut

Descrición

Fecha de autorización

Help de Campo

Fecha de Autorización Digital

Lista

 

Inicializa Estd

 

Validación

 

Uso

Usado

Campo

F2_FLFTEX

Tipo

C

Tamanho

1

Decimal

0

Picture

 

Contexto

Real

Propiedad

Modificar

Título

Status Trans

Descrición

Estatus transmission Electrónica

Help de Campo

Indica el estatus del documento una vez que ha sido enviado al TSS

Lista

0=No Enviado,1=Enviado a TSS,4=Esperando procesamiento,5=Rechazado,6=Autorizado.

Inicializa Estd

0

Validación

 

Uso

Usado


Modificar el tamaño de los siguientes campos conforme se define:

Campo

F1_NUMAUT

Tipo

C

Tamanho

37

Decimal

0

Picture

 

Contexto

Real

Propiedad

 

Título

Nº Autoriz

Descrición

Numero de Autorizacion

Help de Campo

 

Lista

 

Inicializa Estd

 

Validación

 

Uso

Usado

Campo

F2_NUMAUT

Tipo

C

Tamanho

37

Decimal

0

Picture

 

Contexto

Real

Propiedad

 

Título

Nº Autoriz

Descrición

Numero de Autorizacion

Help de Campo

 

Lista

 

Inicializa Estd

 

Validación

 

Uso

Usado

Campo

F2_TIPREF

Tipo

C

Tamanho

1

Decimal

0

Picture

 

Contexto

Real

Propiedad

Modificar

Título

Tipo Ref.

Descripción

Tipo de Referencia.

Help de Campo

Tipo de Referencia:
1: Anula Documento de Referencia 2:
Corrige Texto Documento de Referencia
3:Corrige montos

Lista

1=Anula Documento de Referencia;2=Corrige Texto Documento de Referencia;3=Corrige montos

Inicializa Estd

'1'

Validación

PERTENCE('123')

Uso

Usado

Campo

F2_ESPREF

Tipo

C

Tamanho

3

Decimal

0

Picture

 

Contexto

Real

Propiedad

Modificar

Título

Especie Ref

Descripción

Especie Referencia

Help de Campo

Especie de la referencia.

Lista

NF=Factura;NCC=Nota de Credito

Inicializa Estd

 

Validación

 

Uso

Usado

Obligatorio

Si

Campo

F2_ESPREF

Tipo

C

Tamanho

3

Decimal

0

Picture

 

Contexto

Real

Propiedad

Modificar

Título

Especie Ref

Descripción

Especie Referencia

Help de Campo

Especie de la referencia.

Lista

NF=Factura;NCC=Nota de Credito

Inicializa Estd

 

Validación

 

Uso

Usado

Obligatorio

Si




Nuevos campos en SFB- Impuestos Variables

Campo

FB_CODTAR

Tipo

C

Tamanho

4

Decimal

0

Picture

 

Contexto

Real

Propiedad

Modificar

Título

Cod. Tasa

Descrición

Codigo de Tasa

Help de Campo

Código de la tasa del impuesto según SII.

Lista

 

Inicializa Estd

 

Validación

 

Uso

Usado

Campo

FB_CODIMP

Tipo

C

Tamanho

1

Decimal

0

Picture

 

Contexto

Real

Propiedad

Modificar

Título

Cod. Impuesto

Descrición

Codigo de Impuesto

Help de Campo

Código del del impuesto según SII.

Lista

 

Inicializa Estd

 

Validación

 

Uso

Usado



Nuevos campos en SF2 .- Encabezado Factura de Venta

Campo

F2_NFREF

Tipo

C

Tamanho

13

Decimal

0

Picture

 

Contexto

Real

Propiedad

Modificar

Título

Factura Ref

Descrición

Factura Refencia

Help de Campo

Factura ligada a la Nota de Débito.

Lista

 

Inicializa Estd

 

Validación

 

F3

SF2

Uso

Usado

Campo

F2_SERREF

Tipo

C

Tamanho

13

Decimal

0

Picture

 

Contexto

Real

Propiedad

Modificar

Título

Serie Ref

Descrición

Serie Referencia

Help de Campo

Serie del Documento de Referencia

Lista

 

Inicializa Estd

 

Validación

MT485VLDNF(M->F2_NFREF,M->F2_SERREF,M->F2_CLIENTE,M->F2_LOJA,M->F2_ESPREF)

Uso

Usado

Campo

F2_MODVEN

Tipo

C

Tamanho

1

Decimal

0

Picture

 

Contexto

Real

Propiedad

Modificar

Título

Mod. Venta

Descrición

Modalidad de la Venta

Help de Campo

Código de la modalidad de la venta de acuerdo con la SII. Aplica solo para
Documentos de Exportación.

Lista

1=FIRME;2=BAJO COND;3=CONS-LIBRE;4=CONS-M.F.;9=SIN PAGO

Inicializa Estd

'1'

Validación

Pertence('12349')

Uso

Usado




SA1- CLIENTES
Activar campo A1_TIPDOC como obligatorio

 

 

 


Grupo de Preguntas
MATA485

X1_ORDEM

01

X1_PERGUNT

Tipo Documento

X1_TIPO

C

X1_TAMANHO

1

X1_GSC

 

X1_VAR01

MV_PAR01

X1_F3

N/A

X1_HELP

Informe el tipo de documento con el que se estará trabajando durante la transmisión electrónica:

  1. Factura
  2. Nota de Débito
  3. Nota de Crédito
  4. Guía de Despacho

X1_DEFSPA1

Factura

X1_DEFSPA2

Nota Débito

X1_DEFSPA3

Nota Crédito

X1_ORDEM

02

X1_PERGUNT

Serie

X1_TIPO

C

X1_TAMANHO

3

X1_GSC

 

X1_VAR01

MV_PAR02

X1_F3

SERNF

X1_HELP

Informe la serie del documento

MATA485A

X1_ORDEM

01

X1_PERGUNT

¿Serie de la Factura?

X1_TIPO

C

X1_TAMANHO

3

X1_GSC

 

X1_VAR01

MV_PAR01

X1_F3

SERNF

X1_HELP

Informe el número de Serie de la Factura

X1_DEFSPA1

 

X1_DEFSPA2

 

X1_DEFSPA3

 

X1_ORDEM

02

X1_PERGUNT

¿Factura Inicial?

X1_TIPO

C

X1_TAMANHO

13

X1_GSC

 

X1_VAR01

MV_PAR02

X1_F3

 

X1_HELP

Informe el número Factura Inicial

X1_ORDEM

03

X1_PERGUNT

¿Factura Final?

X1_TIPO

C

X1_TAMANHO

1

X1_GSC

 

X1_VAR01

MV_PAR03

X1_F3

 

X1_HELP

Informe el número Factura Final

X1_VALID

!Empty(MV_PAR03)


MATA485B

X1_ORDEM

01

X1_PERGUNT

¿Serie de Nota de Debito?

X1_TIPO

C

X1_TAMANHO

3

X1_GSC

 

X1_VAR01

MV_PAR01

X1_F3

SERNF

X1_HELP

Informe el número de Serie

X1_ORDEM

02

X1_PERGUNT

¿Nota de Debito Inicial?

X1_TIPO

C

X1_TAMANHO

13

X1_GSC

 

X1_VAR01

MV_PAR03

X1_F3

 

X1_HELP

Informe el número de Nota de Débito Inicial

X1_VALID

!Empty(MV_PAR03)

X1_TIPO

C

X1_TAMANHO

13

X1_GSC

 

X1_VAR01

MV_PAR03

X1_F3

 

X1_HELP

Informe el número de nota de Débito final

X1_VALID

!Empty(MV_PAR03)



MATA485C

X1_ORDEM

01

X1_PERGUNT

¿Serie de Nota de Crédito?

X1_TIPO

C

X1_TAMANHO

3

X1_GSC

 

X1_VAR01

MV_PAR01

X1_F3

SERNF

X1_HELP

Informe el número de Serie

X1_ORDEM

02

X1_PERGUNT

¿Nota de Crédito Inicial?

X1_TIPO

C

X1_TAMANHO

13

X1_GSC

 

X1_VAR01

MV_PAR03

X1_F3

 

X1_HELP

Informe el número de Nota de crédito Inicial

X1_VALID

!Empty(MV_PAR03)

X1_ORDEM

03

X1_PERGUNT

¿Nota de Debito Final?

X1_TIPO

C

X1_TAMANHO

13

X1_GSC

 

X1_VAR01

MV_PAR03

X1_F3

 

X1_HELP

Informe el número de nota de Crédito final

X1_VALID

!Empty(MV_PAR03)

X1_HELP

Informe el número de Nota de crédito Inicial

X1_VALID

!Empty(MV_PAR03)


MATA485D

X1_ORDEM

01

X1_PERGUNT

¿Serie de la Guía de Despacho?

X1_TIPO

C

X1_TAMANHO

3

X1_GSC

 

X1_VAR01

MV_PAR01

X1_F3

SERNF

X1_HELP

Informe el número de Serie

X1_ORDEM

02

X1_PERGUNT

¿Guía de Despacho Inicial?

X1_TIPO

C

X1_TAMANHO

13

X1_GSC

 

X1_VAR01

MV_PAR03

X1_F3

 

X1_HELP

Informe el número de Guía de Despacho Inicial

X1_VALID

!Empty(MV_PAR03)

X1_ORDEM

03

X1_PERGUNT

¿Guía de Despacho Final?

X1_TIPO

C

X1_TAMANHO

13

X1_GSC

 

X1_VAR01

MV_PAR03

X1_F3

 

X1_HELP

Informe el número de Guía de Despacho final

X1_VALID

!Empty(MV_PAR03)


Consulta Estándar
No aplica
Estructura de Menú
Actualizaciones->Facturación->Transmisión electrónica

Procedimientos


No aplica






Casos de uso

Caso de Testes

Generación XML Factura de Salida

 

 

Finalidad Testes

Comprobar que la rutina genere correctamente la cadena XML que contendrá el documento fiscal.

Estimativas

 

Teste do Programador

(X ) Sim ( ) No

Recomendaciones

 

Pre-condiciones

Registro de Cliente 000001
Registro de Factura de Venta para el cliente 000001 tienda 01
Registro de Impuestos Variables
Registro de facturas.

Pos-condiciones

Se genera cadena con XML que contendrá el documento solicitado.

Como verificar os resultados

Si la generación del XML resultó correcta, la transmisión de la factura electrónica no deberá reportar problemas relacionados a la validación del XML vs esquema DTE_v1_0.

Procedimientos

Resultados Esperados

Elaborar un programa que ejecute la función NFAEXmlChi(
1,'A','00000017','01',0011234566','NF',1,.F.,.F.,.F.
)

 

Ejecutar esta nueva rutina

No debe generar ningún error ni mensaje.

Verificar que el retorno sea el XML generado.

<?XML version="1.0" encoding="iso-8859-1"?>
<DTE version="1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="DTE_v1.0.xsd">
<Documento ID="comprobante">
<Encabezado>
<IdDoc>
<Ambiente>1</Ambiente>
<TipoEmision>N</TipoEmision>
<ContenidoTC></ContenidoTC>
<Tipo>33</Tipo>
<Serie>A</Serie>
<Numero>17</Numero>
<Estado>ORIGINAL</Estado>
<NumeroInterno>00000017</NumeroInterno>
<FechaEmis>2016-02-03T09:58:00Z</FechaEmis>
<FormaPago>1</FormaPago>
<FechaVenc>2016-02-03</FechaVenc>
<FechaPago>2016-02-03</FechaPago>
</IdDoc>
<Emisor>
<RegimenContable></RegimenContable>
<IDEmisor>76263923-8</IDEmisor>
<NmbEmisor>ISOGAMA CHILE</NmbEmisor>
<NombreEmisor>
<PrimerNombre>ISOGAMA INDUSTRIA QUIMICA LIMITADA</PrimerNombre>
</NombreEmisor>
<CodigoEmisor></CodigoEmisor>
<FechaInicioActividades>2016-01-01</FechaInicioActividades>
<DomFiscal>
<Calle>Avenida Golfo de Arauco, 3523</Calle>
<Departamento>CORONEL</Departamento>
<Distrito>CORONEL</Distrito>
<Ciudad>CORONEL</Ciudad>
<Municipio>CORONEL</Municipio>
<Pais>152</Pais>
<CodigoPostal>01259030</CodigoPostal>
</DomFiscal>
<LugarExped>
<Calle>Avenida Golfo de Arauco, 3523</Calle>
</LugarExped>
</Emisor>
<Receptor>
<DocRecep>
<TipoDocRecep>01</TipoDocRecep>
<NroDocRecep>05018674-1</NroDocRecep>
</DocRecep>
<NmbRecep>CLIENTE 01</NmbRecep>
<NombreRecep>
<PrimerNombre>CLIENTE 01</PrimerNombre>
</NombreRecep>
<CodigoReceptor>
<TpoCdgIntRecep>000001</TpoCdgIntRecep>
</CodigoReceptor>
<DomFiscalRcp>
<Calle>XXXXX</Calle>
<Municipio>CL</Municipio>
<Pais>CHILE</Pais>
<CodigoPostal>76116666</CodigoPostal>
</DomFiscalRcp>
<LugarRecep>
<Calle>XXXXX</Calle>
<Municipio>CL </Municipio>
<Pais>CHILE</Pais>
<CodigoPostal>76116666</CodigoPostal>
</LugarRecep>
</Receptor>
<Transporte>
<MedioTransporte>
<MetodoTransp>MetodoTransp</MetodoTransp>
</MedioTransporte>
</Transporte>
<Totales>
<SubTotal>100000.00</SubTotal>
<MntDcto>100</MntDcto>
<MntBase>99900</MntBase>
<VlrPagar>118881.00</VlrPagar>
<VlrPalabras> CIENTO DIECIOCHO MIL OCHOCIENTOS OCHENTA Y UN PESOS</VlrPalabras>
<MontoPropina>0.00</MontoPropina>
</Totales>
<Impuestos>
<TipoImp>14</TipoImp>
<TasaImp>19.00</TasaImp>
<MontoImp>18981.00</MontoImp>
</Impuestos>
<DscRcgGlobal>
<NroLinDR>01</NroLinDR>
<TpoMov>D</TpoMov>
<GlosaDR>Descuentos</GlosaDR>
<TpoValor>$</TpoValor>
<ValorDR>100.00</ValorDR>
</DscRcgGlobal>
</Encabezado>
<Detalle>
<NroLinDet>01</NroLinDet>
<CdgItem>
<TpoCodigo>CX</TpoCodigo>
<VlrCodigo>PRD00001 </VlrCodigo>
</CdgItem>
<DscLang>ES</DscLang>
<DscItem>PRODUCTO 1</DscItem>
<QtyItem>100.00</QtyItem>
<PrcNetoItem>1000.00</PrcNetoItem>
<DescuentoMonto>1.00</DescuentoMonto>
<ImpuestosDet>
<TipoImp>14</TipoImp>
<CodTasaImp>1</CodTasaImp>
<TasaImp>19.00</TasaImp>
<MontoBaseImp>99900.00</MontoBaseImp>
<MontoImp>18981.00</MontoImp>
</ImpuestosDet>
<MontoNetoItem>99900.00</MontoNetoItem>
</Detalle>
<CAE>
<Tipo>String</Tipo>
<NumeroInicial>00000017</NumeroInicial>
<NumeroFinal>00000017</NumeroFinal>
<NroResolucion>00000017</NroResolucion>
<FechaResolucion>2016-02-03</FechaResolucion>
</CAE>
<TimeStamp>2016-02-03T09:58:00Z</TimeStamp>
</Documento>
</DTE>

Caso de Testes

Generación xml Nota de Débito

 

 

Finalidade Testes

Comprobar que la rutina genere correctamente la cadena xml que contendrá el documento fiscal.

Estimativas

 

Teste do Programador

(X ) Si ( ) No

Recomendaciones

 

Pré-condiciones

Registro de Cliente
Registro de Nota de Débito
Registro de Impuestos Variables
Registro de facturas.

Pós-condiciones

Se genera cadena con xml que contendrá el documento solicitado.

Como verificar os resultados

Si la generación del xml resultó correcta, la transmisión de la factura electrónica no deberá reportar problemas relacionados a la validación del xml vs esquema DTE_v1_0.

Procedimentos

Resultados Esperados

Elaborar un programa que ejecute la función función NFAEXmlChi(
1,'B','00000003','01',0011234568','NDC',1,F,F,F
)

 

Ejecutar esta nueva rutina

No debe generar ningun error ni mensaje.

Verificar que el retorno sea el xml generado.

<?xml version="1.0" encoding="iso-8859-1"?>
<DTE version="1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="DTE_v1.0.xsd">
<Documento ID="comprobante">
<Encabezado>
<IdDoc>
<Ambiente>1</Ambiente>
<TipoEmision>N</TipoEmision>
<ContenidoTC></ContenidoTC>
<Tipo>56</Tipo>
<Serie>A</Serie>
<Numero>3</Numero>
<Estado>ORIGINAL</Estado>
<NumeroInterno>00000003</NumeroInterno>
<FechaEmis>2016-02-03T15:58:00Z</FechaEmis>
<FormaPago>1</FormaPago>
<FechaVenc>2016-02-03</FechaVenc>
<FechaPago>2016-02-03</FechaPago>
</IdDoc>
<Emisor>
<RegimenContable></RegimenContable>
<IDEmisor>76263923-8</IDEmisor>
<NmbEmisor>ISOGAMA CHILE</NmbEmisor>
<NombreEmisor>
<PrimerNombre>ISOGAMA INDUSTRIA QUIMICA LIMITADA</PrimerNombre>
</NombreEmisor>
<CodigoEmisor></CodigoEmisor>
<FechaInicioActividades>2016-01-01</FechaInicioActividades>
<DomFiscal>
<Calle>Avenida Golfo de Arauco, 3523</Calle>
<Departamento>CORONEL</Departamento>
<Distrito>CORONEL</Distrito>
<Ciudad>CORONEL</Ciudad>
<Municipio>CORONEL</Municipio>
<Pais>152</Pais>
<CodigoPostal>01259030</CodigoPostal>
</DomFiscal>
<LugarExped>
<Calle>Avenida Golfo de Arauco, 3523</Calle>
</LugarExped>
</Emisor>
<Receptor>
<DocRecep>
<TipoDocRecep>01</TipoDocRecep>
<NroDocRecep>05018674-1</NroDocRecep>
</DocRecep>
<NmbRecep>CLIENTE 01</NmbRecep>
<NombreRecep>
<PrimerNombre>CLIENTE 01</PrimerNombre>
</NombreRecep>
<CodigoReceptor>
<TpoCdgIntRecep>000001</TpoCdgIntRecep>
</CodigoReceptor>
<DomFiscalRcp>
<Calle>XXXXX</Calle>
<Municipio>CL</Municipio>
<Pais>CHILE</Pais>
<CodigoPostal>76116666</CodigoPostal>
</DomFiscalRcp>
<LugarRecep>
<Calle>XXXXX</Calle>
<Municipio>CL </Municipio>
<Pais>CHILE</Pais>
<CodigoPostal>76116666</CodigoPostal>
</LugarRecep>
</Receptor>
<Transporte>
<MedioTransporte>
<MetodoTransp>MetodoTransp</MetodoTransp>
</MedioTransporte>
</Transporte>
<Totales>
<SubTotal>100000.00</SubTotal>
<MntDcto>100</MntDcto>
<MntBase>99900</MntBase>
<VlrPagar>118881.00</VlrPagar>
<VlrPalabras> CIENTO DIECIOCHO MIL OCHOCIENTOS OCHENTA Y UN PESOS</VlrPalabras>
<MontoPropina>0.00</MontoPropina>
</Totales>
<Impuestos>
<TipoImp>14</TipoImp>
<TasaImp>19.00</TasaImp>
<MontoImp>18981.00</MontoImp>
</Impuestos>
<DscRcgGlobal>
<NroLinDR>01</NroLinDR>
<TpoMov>D</TpoMov>
<GlosaDR>Descuentos</GlosaDR>
<TpoValor>$</TpoValor>
<ValorDR>100.00</ValorDR>
</DscRcgGlobal>
</Encabezado>
<Detalle>
<NroLinDet>01</NroLinDet>
<CdgItem>
<TpoCodigo>CX</TpoCodigo>
<VlrCodigo>PRD00001 </VlrCodigo>
</CdgItem>
<DscLang>ES</DscLang>
<DscItem>PRODUCTO 1</DscItem>
<QtyItem>100.00</QtyItem>
<PrcNetoItem>1000.00</PrcNetoItem>
<DescuentoMonto>1.00</DescuentoMonto>
<ImpuestosDet>
<TipoImp>14</TipoImp>
<CodTasaImp>1</CodTasaImp>
<TasaImp>19.00</TasaImp>
<MontoBaseImp>99900.00</MontoBaseImp>
<MontoImp>18981.00</MontoImp>
</ImpuestosDet>
<MontoNetoItem>99900.00</MontoNetoItem>
</Detalle>
<Referencia>
<NroLinRef>1</NroLinRef>
<TpoDocRef>61</TpoDocRef>
<NumeroRef>20</NumeroRef>
<FechaRef>2016-02-03T13:44:00Z</FechaRef>
<CodRef>1</CodRef>
<RazonRef>XXXXXXXX</RazonRef>
</Referencia>
<CAE>
<Tipo>String</Tipo>
<NumeroInicial>00000003</NumeroInicial>
<NumeroFinal>00000003</NumeroFinal>
<NroResolucion>00000003</NroResolucion>
<FechaResolucion>2016-02-03</FechaResolucion>
</CAE>
<TimeStamp>2016-02-03T15:58:00Z</TimeStamp>
</Documento>
</DTE>

Caso de Testes

Generación xml Nota de Crédito

 

 

Finalidade Testes

Comprobar que la rutina genere correctamente la cadena xml que contendrá el documento fiscal.

Estimativas

 

Teste do Programador

(X ) Sim ( ) Não

Recomendaciones

 

Pré-condiciones

Registro de Cliente
Registro de Nota de Débito
Registro de Impuestos Variables
Registro de facturas.

Pós-condiciones

Se genera cadena con xml que contendrá el documento solicitado.

Como verificar os resultados

Si la generación del xml resultó correcta, la transmisión de la factura electrónica no deberá reportar problemas relacionados a la validación del xml vs esquema DTE_v1_0.

Procedimentos

Resultados Esperados

Elaborar un programa que ejecute la función función NFAEXmlCHI(
1,'D','00000020','01',0011234570','NCC',1
)

 

Ejecutar esta nueva rutina

No debe gerenrar ningun error ni mensaje.

Verificar que el retorno sea el xml generado.

<?xml version="1.0" encoding="iso-8859-1"?>
<DTE version="1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="DTE_v1.0.xsd">
<Documento ID="comprobante">
<Encabezado>
<IdDoc>
<Ambiente>1</Ambiente>
<TipoEmision>N</TipoEmision>
<ContenidoTC></ContenidoTC>
<Tipo>61</Tipo>
<Serie>A</Serie>
<Numero>20</Numero>
<Estado>ORIGINAL</Estado>
<NumeroInterno>00000020</NumeroInterno>
<FechaEmis>2016-02-03T13:44:00Z</FechaEmis>
<FechaPago>2016-02-03</FechaPago>
</IdDoc>
<Emisor>
<RegimenContable></RegimenContable>
<IDEmisor>76263923-8</IDEmisor>
<NmbEmisor>ISOGAMA CHILE</NmbEmisor>
<NombreEmisor>
<PrimerNombre>ISOGAMA INDUSTRIA QUIMICA LIMITADA</PrimerNombre>
</NombreEmisor>
<CodigoEmisor></CodigoEmisor>
<FechaInicioActividades>2016-01-01</FechaInicioActividades>
<DomFiscal>
<Calle>Avenida Golfo de Arauco, 3523</Calle>
<Departamento>CORONEL</Departamento>
<Distrito>CORONEL</Distrito>
<Ciudad>CORONEL</Ciudad>
<Municipio>CORONEL</Municipio>
<Pais>152</Pais>
<CodigoPostal>01259030</CodigoPostal>
</DomFiscal>
<LugarExped>
<Calle>Avenida Golfo de Arauco, 3523</Calle>
</LugarExped>
</Emisor>
<Receptor>
<DocRecep>
<TipoDocRecep>01</TipoDocRecep>
<NroDocRecep>05018674-1</NroDocRecep>
</DocRecep>
<NmbRecep>CLIENTE 01</NmbRecep>
<NombreRecep>
<PrimerNombre>CLIENTE 01</PrimerNombre>
</NombreRecep>
<DomFiscalRcp>
<Calle>XXXXX</Calle>
<Ciudad>XXXX</Ciudad>
<Municipio>CL</Municipio>
<Pais>CHILE</Pais>
<CodigoPostal>76116666</CodigoPostal>
</DomFiscalRcp>
<LugarRecep>
<Calle>XXXXX</Calle>
<Ciudad>XXXX</Ciudad>
<Municipio>CL</Municipio>
<Pais>CHILE</Pais>
</LugarRecep>
</Receptor>
<Transporte>
<MedioTransporte>
<MetodoTransp>MetodoTransp</MetodoTransp>
</MedioTransporte>
</Transporte>
<Totales>
<Moneda></Moneda>
<SubTotal>99800.00</SubTotal>
<MntDcto>100</MntDcto>
<MntBase>99900.00</MntBase>
<VlrPagar>118762.00</VlrPagar>
<VlrPalabras> CIENTO DIECIOCHO MIL SETECIENTOS SESENTA Y DOS PESOS</VlrPalabras>
<MontoPropina>0.00</MontoPropina>
</Totales>
<Impuestos>
<TipoImp>14</TipoImp>
<CodTasamp>1</CodTasamp>
<TasaImp>19.00</TasaImp>
<MontoBAseImp>99800.00</MontoBAseImp>
<MontoImp>18962.00</MontoImp>
</Impuestos>
<DscRcgGlobal>
<NroLinDR>01</NroLinDR>
<TpoMov>D</TpoMov>
<GlosaDR>Descuentos</GlosaDR>
<TpoValor>$</TpoValor>
<ValorDR>100.00</ValorDR>
</DscRcgGlobal>
</Encabezado>
<Detalle>
<NroLinDet>0001</NroLinDet>
<CdgItem>
<TpoCodigo>CX</TpoCodigo>
<VlrCodigo>PRD00001 </VlrCodigo>
</CdgItem>
<DscLang>ES</DscLang>
<DscItem>PRODUCTO 1</DscItem>
<QtyItem>100.00</QtyItem>
<PrcNetoItem>999.00</PrcNetoItem>
<DescuentoMonto>100.00</DescuentoMonto>
<ImpuestosDet>
<TipoImp>14</TipoImp>
<CodTasaImp>1</CodTasaImp>
<TasaImp>19.00</TasaImp>
<MontoBaseImp>99800.00</MontoBaseImp>
<MontoImp>18962.00</MontoImp>
</ImpuestosDet>
<MontoNetoItem>99800.00</MontoNetoItem>
</Detalle>
<Referencia>
<NroLinRef>1</NroLinRef>
<TpoDocRef>33</TpoDocRef>
<NumeroRef>15</NumeroRef>
<FechaRef>2016-02-03T09:52:00Z</FechaRef>
<CodRef>1</CodRef>
<RazonRef>PRUEBA NCC</RazonRef>
</Referencia>
<CAE>
<Tipo>String</Tipo>
<NumeroInicial>00000020</NumeroInicial>
<NumeroFinal>00000020</NumeroFinal>
<NroResolucion>00000020</NroResolucion>
<FechaResolucion>2016-02-03</FechaResolucion>
</CAE>
<TimeStamp>2016-02-03T13:44:00Z</TimeStamp>
</Documento>
</DTE>

Caso de Testes

Mostrar en el browse el tipo de documento seleccionado

 

 

Finalidade Testes

Comprobar que la rutina seleccione correctamente el tipo de documento según el parámetro seleccionado a la entrada a la rutina.

Estimativas

 

Teste del Programador

(X ) Sim ( ) Não

Recomendaciones

 

Pré-condiciones

Tener un ambiente de TSS instalado y funcionando.
Tener registro de clientes y proveedores.
Tener registro de productos.
Tener generadas facturas de salida, nota de crédito y débito.
Tener registros de Impuestos variables.

Pós-condiciones

 

Como verificar los resultados

Si existen registros según el tipo de documento seleccionado se deberá visualizar estos documentos en el browse.

Procedimentos

Resultados Esperados

Acceder en la siguiente ruta del menú:
Actualizaciones->Facturación-> Trasmisión electrónica.

Se muestra diálogo con la preguntas:
Tipo de Documento: Se podrá elegir entre las opciones
1. Factura 2. Nota Débido 3. Nota Crédito 4.Guia de Despacho
Serie : Serie de los documentos a visualizar

Elegir tipo de documento a manipular.

Se muestra browse con los documentos pertenecientes al tipo seleccionado y la serie informada.

 

 

Caso de Testes

Opción Configuración

 

 

Finalidade Testes

Comprobar que mediante la opción de configuración se realice la correcta conexión al TSS

Estimativas

 

Teste del Programador

(X ) Sim ( ) Não

Recomendaciones

 

Pré-condiciones

Tener un ambiente con todos los catálogos para poder realizar el registro de la nota de cargo.

Pós-condiciones

Transmitir una nota de cargo al TSS.

Como verificar los resultados

Mediante mensaje en pantalla se indica la correcta configuración y conexión exitósa al TSS.

Procedimentos

Resultados Esperados

Acceder en la siguiente ruta del menú:
Actualizaciones->Facturación-> Trasmisión electrónica.

Se presenta grupo de preguntas en donde se configura tipo de documento y serie.
Aparece browse con los documentos según tipo y serie seleccionados.

Elegir opción Configuración

Se visualiza wizard de configuración para la conexión al TSS

Clic en confirmar

Si se realiza la conexión de manera exitosa, se envía mensaje al usuario indicando si se realiza o no correctamente la configuración.

Caso de Testes

Opción Ambiente

 

 

Finalidade Testes

Comprobar que mediante la opción de Ambiente se indique el ambiente a trabajar con TSS

Estimativas

 

Teste del Programador

(X ) Sim ( ) Não

Recomendaciones

 

Pré-condiciones

MV_MATA485 con valor asignado mediante opción Configuración

Pós-condiciones

Transmitir una nota de cargo al TSS

Como verificar los resultados

Mediante mensaje en pantalla se indica el ambiente configurado..

Procedimentos

Resultados Esperados

Acceder en la siguiente ruta del menú:
Actualizaciones->Facturación-> Trasmisión electrónica.

Se presentará el grupo de preguntas en dónde se configura:
Tipo de documento y serie.

Aparece browse con los documentos según tipo y serie seleccionados.

Clic en opción Ambiente

Se presenta wizard de configuración de ambiente

Clic en confirmar

Se indica en pantalla el ambiente que quedó configurado para transmisión de facturas en TSS.

Caso de Testes

Opción Transmisión Electrónica de documento de Fatcura de Salida

 

 

Finalidade Testes

Envío de documento al TSS

Estimativas

 

Teste del Programador

(X ) Sim ( ) Não

Recomendaciones

 

Pré-condiciones

MV_MATA485 con la ruta de los WS del TSS
Registro de facturas de venta
Registro de Clientes
Registro de Impuestos variables
Registro de Productos

Pós-condiciones

Transmitir documento al TSS

Como verificar los resultados

Mediante la opción Monitor verificar que el documento pueda ser consultado en el TSS.
El estatus de los documentos debe cambiar a color azúl 1= Enviado al TSS

Procedimentos

Resultados Esperados

Acceder en la siguiente ruta del menú:
Actualizaciones->Facturación-> Trasmisión electrónica.

Se presentará el grupo de preguntas en dónde se configura:
Tipo de documento: 1. Factura y serie.

Aparece browse con los documentos según tipo y serie seleccionados.

Clic en opción Transmitir

Se visualiza wizard de configuración para la trasmisión del documento.

Clic en Confirmar

Se inicia la trasmisión del rango de documentos.
Terminado el proceso se indica al usuario el log de transacciones.

Caso de Testes

Opción Transmisión Electrónica de documento de Nota de Débito

 

 

Finalidade Testes

Envío de documento al TSS

Estimativas

 

Teste del Programador

(X ) Sim ( ) Não

Recomendaciones

 

Pré-condiciones

MV_MATA485 con la ruta de los WS del TSS
Registro de facturas de venta
Registro de Clientes
Registro de Impuestos variables
Registro de Productos

Pós-condiciones

Transmitir documento al TSS

Como verificar los resultados

Mediante la opción Monitor verificar que el documento pueda ser consultado en el TSS.
El estatus de los documentos debe cambiar a color azúl 1= Enviado al TSS

Procedimentos

Resultados Esperados

Acceder en la siguiente ruta del menú:
Actualizaciones->Facturación-> Trasmisión electrónica.

Se presentará el grupo de preguntas en dónde se configura:
Tipo de documento: 2. Nota débito y serie.

Aparece browse con los documentos según tipo y serie seleccionados.

Clic en opción Transmitir

Se visualiza wizard de configuración para la trasmisión del documento.

Clic en Confirmar

Se inicia la trasmisión del rango de documentos.
Terminado el proceso se indica al usuario el log de transacciones.

 

 

Caso de Testes

Opción Transmisión Electrónica de documento de Nota de crédito

 

 

Finalidade Testes

Envío de documento al TSS

Estimativas

 

Teste del Programador

(X ) Sim ( ) Não

Recomendaciones

 

Pré-condiciones

MV_MATA485 con la ruta de los WS del TSS
Registro de facturas de venta
Registro de Clientes
Registro de Impuestos variables
Registro de Productos

Pós-condiciones

Transmitir documento al TSS

Como verificar los resultados

Mediante la opción Monitor verificar que el documento pueda ser consultado en el TSS.
El estatus de los documentos debe cambiar a color azúl 1= Enviado al TSS

Procedimentos

Resultados Esperados

Acceder en la siguiente ruta del menú:
Actualizaciones->Facturación-> Trasmisión electrónica.

Se presentará el grupo de preguntas en dónde se configura:
Tipo de documento y serie.

Aparece browse con los documentos según tipo y serie seleccionados.

Clic en opción Transmitir

Se visualiza wizard de configuración para la trasmisión del documento.

Clic en Confirmar

Se inicia la trasmisión del rango de documentos.
Terminado el proceso se indica al usuario el log de transacciones.

Caso de Testes

Opción Monitor

 

 

Finalidade Testes

Verificar la correcta funcionalidad de la opción Monitor

Estimativas

 

Teste del Programador

(X ) Sim ( ) Não

Recomendaciones

 

Pré-condiciones

MV_MATA485 con el url de los WS del TSS
Registro de facturas, notas de débito y crédito.
Registro de Clientes
Registro de Impuestos variables
Registro de Productos
Registro de Proveedores

Pós-condiciones

 

Como verificar los resultados

Se presentará en pantalla visualización de documento.

Procedimentos

Resultados Esperados

Acceder en la siguiente ruta del menú:
Actualizaciones->Facturación-> Trasmisión electrónica.

Se presentará el grupo de preguntas en dónde se configura:
Tipo de documento y serie.

Aparece browse con los documentos según tipo y serie seleccionados.

Clic en opción monitor

Se visualiza dialogo de parámetros para visualización de documentos en el TSS

Clic en confirmar

Se muestra listbox con los documentos correspondientes a la búsqueda.

 

 

Caso de Testes

Opción Visualizar

 

 

Finalidade Testes

Verificar la correcta funcionalidad de la opción Visualizar

Estimativas

 

Teste del Programador

(X ) Sim ( ) Não

Recomendaciones

 

Pré-condiciones

MV_MATA485 con valor asignado mediante opción Configuración
Notas de crédito registrada con ítems.
Registro de facturas, notas de débito y crédito.
Registro de Clientes
Registro de Impuestos variables
Registro de Productos
Registro de Proveedores

Pós-condiciones

 

Como verificar los resultados

Se presentará en pantalla visualización de documento.

Procedimentos

Resultados Esperados

Acceder en la siguiente ruta del menú:
Actualizaciones->Facturación-> Trasmisión electrónica.

Se presentará el grupo de preguntas en dónde se configura:
Tipo de documento y serie.

Aparece browse con los documentos según tipo y serie seleccionados.


Elegir documento del browse.

 

Elegir opción visualizar

Se muestra ventana de visualización del documento.

Caso de Testes

Opción Act. De Cert. Manual

 

 

Finalidade Testes

Verificar la correcta la funcionalidad de la opción Act. De Cert. Manual

Estimativas

 

Teste del Programador

(X ) Sim ( ) Não

Recomendaciones

 

Pré-condiciones

MV_MATA485 con el url de los WS del TSS
Registro de facturas, notas de débito y crédito.
Registro de Clientes
Registro de Impuestos variables
Registro de Productos
Registro de Proveedores

Pós-condiciones

 

Como verificar los resultados

Se presentará en pantalla visualización de documento.

Procedimentos

Resultados Esperados

Acceder en la siguiente ruta del menú:
Actualizaciones->Facturación-> Trasmisión electrónica.

Se presentará el grupo de preguntas en dónde se configura:
Tipo de documento y serie.

Aparece browse con los documentos según tipo y serie seleccionados.

Elegir la opción Act. De Cert. Manual

Se visualiza barra de procesamiento.
Al finalizar el proceso se envía mensaje al usuario indicando el término del mismo.
Se refresca browse principal cambiando los estatus de los documentos.

 

 


  • Sem rótulos