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/15Rotinas |
Rutina Involucradas |
| |||||
---|---|---|---|---|---|---|
Rotina | Tipo de OperaçãoOperación | Opção Opción de MenuMenú | ||||
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? |
|
Âncora | ||||
---|---|---|---|---|
|
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:
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:
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:
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>SA1 <NroDocRecep>Si A1_EST <> 'EX' Colocar SA1->A1_CGC<CGC sino colocar rut universal 5555555-5</NroDocRecep>
</DocRecep>
<NmbRecep>SA1->A1_NOME<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>SA1<NroDocRecep>Si A1_EST <> 'EX' Colocar SA1->A1_CGC<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 Esportación 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>SA1<NroDocRecep>Si A1_EST <> 'EX' Colocar SA1->A1_CGC<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>
Âncora | ||||
---|---|---|---|---|
|
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:
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 :
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:
...
Y a lado de la opción de Acciones Relacionadas, las sub-opciones de:
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:
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:
...
Guardar el Retorno del web method para su uso posterior.
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):
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'.
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 | S1 |
2 | Nota de Débito | S5 |
3 | Nota de Crédito | S4 |
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:
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:
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:
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
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
Explicada en la seccion de regla de negocio.
Dicionário de Datos
Nuevos campos den SF1- Encabezado
...
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: |
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_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: |
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 | 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 SRISII. |
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 SRISII. |
Lista |
|
Inicializa Estd |
|
Validación |
|
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 |
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:
|
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_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_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 |
...
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 |
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( |
|
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"?> |
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 |
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( |
|
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"?> |
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 |
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( |
|
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"?> |
...
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ú: | Se presentará el grupo de preguntas en dónde se configura: |
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 |
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. |
Procedimentos | Resultados Esperados |
Acceder en la siguiente ruta del menú: | Se presentará el grupo de preguntas en dónde se configura: |
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. |
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 |
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. |
Procedimentos | Resultados Esperados |
Acceder en la siguiente ruta del menú: | Se presentará el grupo de preguntas en dónde se configura: |
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. |
|
|
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 |
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. |
Procedimentos | Resultados Esperados |
Acceder en la siguiente ruta del menú: | Se presentará el grupo de preguntas en dónde se configura: |
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. |
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 |
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ú: | Se presentará el grupo de preguntas en dónde se configura: |
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 |
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ú: | Se presentará el grupo de preguntas en dónde se configura: |
|
|
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 |
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ú: | Se presentará el grupo de preguntas en dónde se configura: |
Elegir la opción Act. De Cert. Manual | Se visualiza barra de procesamiento. |
|
|
...