Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Apertura de Puntos de Entrada para personalizar encabezado e ítemes del detalle de un documento electrónico fiscal para Ecuador

Línea de Producto:

Microsiga Protheus

Segmento:

Servicios - Mercado Internacional

Módulo:

SIGAFAT - Facturación

Función:

RutinaDescripción
MATA485Transmisión electrónica
NFAEXMLECUGeneración de documentos Electrónicos en XML Ecuador

Situación/Requisito:

Se solicita la apertura del Punto de Eentrada M485NFDET para modificar detalle del XML (NFAEXMLECU) y que se desarrolle nuevo punto de entrada Entrada M485NFDET permitir modificación de detalle en generación de XML para transmisión de documentos electrónicos y además se requiere desarrollar un nuevo Punto de Entrada para modificar encabezado de XML para documentos electrónicos de Factura de Venta (NF), Notas de Débito (NDC) y Nota de Crédito (NCC).

Solución/Implementación:

En la rutina de Generación de XML de Documentos Electrónicos para país Ecuador (NFAEXMLECU), se realiza la apertura de los siguientes Puntos de

Entrada  siguientes

Entrada para permitir modificación de estructura en nodo Detalle:

  • M485DETNF: permite Permite reemplazar las características de cada ítem del detalle cuando el documento es factura de ventapara documentos de Factura de Venta (NF).
  • M485DNDC: permite Permite reemplazar las características de cada ítem del detalle cuando el documento es Nota de Débito de ventaCliente (NDC).
  • M485DNCC:
permite
  • Permite reemplazar las características de cada ítem del detalle cuando el documento es Nota de Crédito
.
Los siguientes puntos de entrada, reemplazan las sección "Encabezado" del XML. Asegúrese de generar las secciones que abarca este elemento, ya que de no generar correctamente la estructura del encabezado podrían ocurrir errores de esquema al enviar el XML a TSS o bien al enviar el documento a signature. Se recomienda precausión en su uso.
  • de Cliente (NCC).


Se realiza la apertura de los siguientes Puntos de Entrada para permitir modificación de estructura de archivo XML en nodo Encabezado.

  • M485ENCNF: Permite M485ENCNF: permite reemplazar la sección Encabezado del XML cuando el documento es Factura de Venta (NF).

  • M485ENCNDC que permite : Permite reemplazar la sección Encabezado del XML cuándo cuando el documento es Nota de Débito de Cliente (NDC).

  • M486ENCNCC: permite Permite reemplazar la sección Encabezado del XML cuándo el documento es Nota de Crédito de Cliente (NCC).


De igual manera se realiza apertura del siguiente Punto de Entrada que permite la modificación de toda la estructura del archivo XML del documento electrónico:

  • M485XMLECU: permite personalizar todo el XML para los documentos Factura , Nota de Débito y Nota de crédito de Venta.


Importante: Asegúrese de generar las secciones de acuerdo al estándar solicitado por Sinature, ya que podrían ocurrir errores de esquema al enviar el XML a TSS o al enviar el documento a Signature.

Requisito (Issue):DMINA-4904 (v 11.8)

Versión:

11.8



A continuación se describe el uso y ejemplos de cómo utilizar los puntos de entrada mencionados en este documento técnico:


Descripción:

M485DETNF.- Personalización de los valores del detalle en los documentos electrónicos Factura de Venta.

Ubicación:

Actualizaciones / Facturación / Transmisión Electrónica.

Eventos:

Transmitir documento

Programa Fuente:

NFAEXMLECU.PRW

Función:

NFAEXMLECU

Retorno:

Nombre

Tipo

Descripción

Obligatorio

aArray

Array

Array de 6 posiciones con la información que será colocada en los tags de detalle del ítem.

Si


Ejemplo:

#Include 'Protheus.ch'

...

10} //Descuento

Return aM485DET



Descripción:

M485DNDC.- Personalización de los valores del detalle en los documentos electrónicos Nota de Débito.

Ubicación:

Actualizaciones / Facturación / Transmisión Electrónica.

Eventos:

Transmitir documento

Programa Fuente:

NFAEXMLECU.PRW

Función:

NFAEXMLECU

Retorno:

Nombre

Tipo

Descripción

Obligatorio

aArray

Array

Array de 6 posiciones con la información que será colocada en los tags de detalle del ítem.

Si


Ejemplo:

#Include 'Protheus.ch'

...

10} //Descuento

Return aM485DET



Descripción:

M485DNCC.- Personalización de los valores del detalle en los documentos electrónicos Nota de Crédito.

Ubicación:

Actualizaciones / Facturación / Transmisión Electrónica.

Eventos:

Transmitir documento

Programa Fuente:

NFAEXMLECU.PRW

Función:

NFAEXMLECU

Retorno:

Nombre

Tipo

Descripción

Obligatorio

aArray

Array

Array de 6 posiciones con la información que será colocada en los tags de detalle del ítem.

Si


Ejemplo:

#Include 'Protheus.ch'

...

10} //Descuento

Return aM485DET



Descripción:

M485ENDC.- Personalización de los valores del Encabezado en los documentos electrónicos Nota de Débito.

Ubicación:

Actualizaciones / Facturación / Transmisión Electrónica.

Eventos:

Transmitir documento

Programa Fuente:

NFAEXMLECU.PRW

Función:

NFAEXMLECU

Retorno:

Nombre

Tipo

Descripción

Obligatorio

cXML

Carácter

Cadena XML con la estructura de la sección Encabezado según los lineamientos establecidos por la Signature en archivo esquema DTE para Factura de Venta.

Si


Ejemplo:

#Include 'Protheus.ch'

...


Local cRet := ""
Local cFilPE := PARAMIXB[1] //Filial
Local cDocPE := PARAMIXB[2] //Num. Documento
Local cSerPE := PARAMIXB[3] //Serie
Local cEspPE := PARAMIXB[4] //Especie
Local cCliPE := PARAMIXB[5] //Clientes
Local cLojPE := PARAMIXB[6] //Tienda

cRet := "<Encabezado>" + chr(13)+ chr(10)
cRet += " <IdDoc>" + chr(13)+ chr(10)
cRet += " <Ambiente>1</Ambiente>" + chr(13)+ chr(10)
cRet += " <TipoEmision>1</TipoEmision>" + chr(13)+ chr(10)
cRet += " <ContenidoTC></ContenidoTC>" + chr(13)+ chr(10)
cRet += " <Tipo>03</Tipo>" + chr(13)+ chr(10)
cRet += " <Serie>A</Serie>" + chr(13)+ chr(10)
cRet += " <Numero>000000001</Numero>" + chr(13)+ chr(10)
cRet += " <Estado>ORIGINAL</Estado>" + chr(13)+ chr(10)
cRet += " <FechaEmis>2018-11-29T16:37:00Z</FechaEmis>" + chr(13)+ chr(10)
cRet += " <Establecimiento>001</Establecimiento>" + chr(13)+ chr(10)
cRet += " <PtoEmis>001</PtoEmis>" + chr(13)+ chr(10)
cRet += " </IdDoc>" + chr(13)+ chr(10)
cRet += " <Emisor>" + chr(13)+ chr(10)
cRet += " <TipoContribuyente>5368</TipoContribuyente>" + chr(13)+ chr(10)
cRet += " <RegimenContable>SI</RegimenContable>" + chr(13)+ chr(10)
cRet += " <IDEmisor>20517833101</IDEmisor>" + chr(13)+ chr(10)
cRet += " <NmbEmisor>EMPRESA 001</NmbEmisor>" + chr(13)+ chr(10)
cRet += " <NombreEmisor>" + chr(13)+ chr(10)
cRet += " <PrimerNombre>EMPRESA NOMBRE</PrimerNombre>" + chr(13)+ chr(10)
cRet += " </NombreEmisor>" + chr(13)+ chr(10)
cRet += " <DomFiscal>" + chr(13)+ chr(10)
cRet += " <Calle>cALLE Y NUMERO</Calle>" + chr(13)+ chr(10)
cRet += " <Departamento>CU</Departamento>" + chr(13)+ chr(10)
cRet += " <Distrito>CU</Distrito>" + chr(13)+ chr(10)
cRet += " <Ciudad>CU</Ciudad>" + chr(13)+ chr(10)
cRet += " <Municipio>CU</Municipio>" + chr(13)+ chr(10)
cRet += " <Pais>218</Pais>" + chr(13)+ chr(10)
cRet += " <CodigoPostal>01259030</CodigoPostal>" + chr(13)+ chr(10)
cRet += " </DomFiscal>" + chr(13)+ chr(10)
cRet += " <LugarExped>" + chr(13)+ chr(10)
cRet += " <Calle>AV. BRAZ LEME, 1631</Calle>" + chr(13)+ chr(10)
cRet += " </LugarExped>" + chr(13)+ chr(10)
cRet += " </Emisor>" + chr(13)+ chr(10)
cRet += " <Receptor>" + chr(13)+ chr(10)
cRet += " <DocRecep>" + chr(13)+ chr(10)
cRet += " <TipoDocRecep>04</TipoDocRecep>" + chr(13)+ chr(10)
cRet += " <NroDocRecep>1791287118001</NroDocRecep>" + chr(13)+ chr(10)
cRet += " </DocRecep>" + chr(13)+ chr(10)
cRet += " <NmbRecep>NOMBRE DE TU EMPRESA</NmbRecep>" + chr(13)+ chr(10)
cRet += " </Receptor>" + chr(13)+ chr(10)
cRet += " <Transporte>" + chr(13)+ chr(10)
cRet += " <MedioTransporte>" + chr(13)+ chr(10)
cRet += " <MetodoTransp>MetodoTransp</MetodoTransp>" + chr(13)+ chr(10)
cRet += " </MedioTransporte>" + chr(13)+ chr(10)
cRet += " </Transporte>" + chr(13)+ chr(10)
cRet += " <Totales>" + chr(13)+ chr(10)
cRet += " <Moneda>USD</Moneda>" + chr(13)+ chr(10)
cRet += " <SubTotal>500.00</SubTotal>" + chr(13)+ chr(10)
cRet += " <MntDcto>0</MntDcto>" + chr(13)+ chr(10)
cRet += " <VlrPagar>560.00</VlrPagar>" + chr(13)+ chr(10)
cRet += " <MontoPropina>0.00</MontoPropina>" + chr(13)+ chr(10)
cRet += " </Totales>" + chr(13)+ chr(10)
cRet += " <Impuestos>" + chr(13)+ chr(10)
cRet += " <TipoImp>2</TipoImp>" + chr(13)+ chr(10)
cRet += " <CodTasamp>2</CodTasamp>" + chr(13)+ chr(10)
cRet += " <TasaImp>18.00</TasaImp>" + chr(13)+ chr(10)
cRet += " <MontoBAseImp>1500.00</MontoBAseImp>" + chr(13)+ chr(10)
cRet += " <MontoImp>160.00</MontoImp>" + chr(13)+ chr(10)
cRet += " </Impuestos>" + chr(13)+ chr(10)
cRet += "</Encabezado>"


Return cRet




Descripción:

M485ENCNF.- Personalización de los valores del Encabezado en los documentos electrónicos Factura de Venta.

Ubicación:

Actualizaciones / Facturación / Transmisión Electrónica.

Eventos:

Transmitir documento

Programa Fuente:

NFAEXMLECU.PRW

Función:

NFAEXMLECU

Retorno:

Nombre

Tipo

Descripción

Obligatorio

cXML

Caracter

Cadena XML con la estructura de la sección Encabezado según los lineamientos establecidos por la Signature en archivo esquema DTE para Factura de Venta.

Si


Ejemplo:

#Include 'Protheus.ch'

...

Local cRet := ""
Local cFilPE := PARAMIXB[1] //Filial
Local cDocPE := PARAMIXB[2] //Num. Documento
Local cSerPE := PARAMIXB[3] //Serie
Local cEspPE := PARAMIXB[4] //Especie
Local cCliPE := PARAMIXB[5] //Clientes
Local cLojPE := PARAMIXB[6] //Tienda

cRet := "<Encabezado>" + chr(13)+ chr(10)
cRet += " <IdDoc>" + chr(13)+ chr(10)
cRet += " <Ambiente>1</Ambiente>" + chr(13)+ chr(10)
cRet += " <TipoEmision>1</TipoEmision>" + chr(13)+ chr(10)
cRet += " <ContenidoTC></ContenidoTC>" + chr(13)+ chr(10)
cRet += " <Tipo>01</Tipo>" + chr(13)+ chr(10)
cRet += " <Serie>A</Serie>" + chr(13)+ chr(10)
cRet += " <Numero>000000001</Numero>" + chr(13)+ chr(10)
cRet += " <Estado>ORIGINAL</Estado>" + chr(13)+ chr(10)
cRet += " <FechaEmis>2018-11-29T16:37:00Z</FechaEmis>" + chr(13)+ chr(10)
cRet += " <Establecimiento>001</Establecimiento>" + chr(13)+ chr(10)
cRet += " <PtoEmis>001</PtoEmis>" + chr(13)+ chr(10)
cRet += " </IdDoc>" + chr(13)+ chr(10)
cRet += " <Emisor>" + chr(13)+ chr(10)
cRet += " <TipoContribuyente>5368</TipoContribuyente>" + chr(13)+ chr(10)
cRet += " <RegimenContable>SI</RegimenContable>" + chr(13)+ chr(10)
cRet += " <IDEmisor>20517833101</IDEmisor>" + chr(13)+ chr(10)
cRet += " <NmbEmisor>EMPRESA 001</NmbEmisor>" + chr(13)+ chr(10)
cRet += " <NombreEmisor>" + chr(13)+ chr(10)
cRet += " <PrimerNombre>EMPRESA NOMBRE</PrimerNombre>" + chr(13)+ chr(10)
cRet += " </NombreEmisor>" + chr(13)+ chr(10)
cRet += " <DomFiscal>" + chr(13)+ chr(10)
cRet += " <Calle>cALLE Y NUMERO</Calle>" + chr(13)+ chr(10)
cRet += " <Departamento>CU</Departamento>" + chr(13)+ chr(10)
cRet += " <Distrito>CU</Distrito>" + chr(13)+ chr(10)
cRet += " <Ciudad>CU</Ciudad>" + chr(13)+ chr(10)
cRet += " <Municipio>CU</Municipio>" + chr(13)+ chr(10)
cRet += " <Pais>218</Pais>" + chr(13)+ chr(10)
cRet += " <CodigoPostal>01259030</CodigoPostal>" + chr(13)+ chr(10)
cRet += " </DomFiscal>" + chr(13)+ chr(10)
cRet += " <LugarExped>" + chr(13)+ chr(10)
cRet += " <Calle>AV. BRAZ LEME, 1631</Calle>" + chr(13)+ chr(10)
cRet += " </LugarExped>" + chr(13)+ chr(10)
cRet += " </Emisor>" + chr(13)+ chr(10)
cRet += " <Receptor>" + chr(13)+ chr(10)
cRet += " <DocRecep>" + chr(13)+ chr(10)
cRet += " <TipoDocRecep>04</TipoDocRecep>" + chr(13)+ chr(10)
cRet += " <NroDocRecep>1791287118001</NroDocRecep>" + chr(13)+ chr(10)
cRet += " </DocRecep>" + chr(13)+ chr(10)
cRet += " <NmbRecep>NOMBRE DE TU EMPRESA</NmbRecep>" + chr(13)+ chr(10)
cRet += " </Receptor>" + chr(13)+ chr(10)
cRet += " <Transporte>" + chr(13)+ chr(10)
cRet += " <MedioTransporte>" + chr(13)+ chr(10)
cRet += " <MetodoTransp>MetodoTransp</MetodoTransp>" + chr(13)+ chr(10)
cRet += " </MedioTransporte>" + chr(13)+ chr(10)
cRet += " </Transporte>" + chr(13)+ chr(10)
cRet += " <Totales>" + chr(13)+ chr(10)
cRet += " <Moneda>USD</Moneda>" + chr(13)+ chr(10)
cRet += " <SubTotal>500.00</SubTotal>" + chr(13)+ chr(10)
cRet += " <MntDcto>0</MntDcto>" + chr(13)+ chr(10)
cRet += " <VlrPagar>560.00</VlrPagar>" + chr(13)+ chr(10)
cRet += " <MontoPropina>0.00</MontoPropina>" + chr(13)+ chr(10)
cRet += " </Totales>" + chr(13)+ chr(10)
cRet += " <Impuestos>" + chr(13)+ chr(10)
cRet += " <TipoImp>2</TipoImp>" + chr(13)+ chr(10)
cRet += " <CodTasamp>2</CodTasamp>" + chr(13)+ chr(10)
cRet += " <TasaImp>18.00</TasaImp>" + chr(13)+ chr(10)
cRet += " <MontoBAseImp>1500.00</MontoBAseImp>" + chr(13)+ chr(10)
cRet += " <MontoImp>160.00</MontoImp>" + chr(13)+ chr(10)
cRet += " </Impuestos>" + chr(13)+ chr(10)
cRet += "</Encabezado>"


Return cRet


Descripción:

M485ENCC.- Personalización de los valores del Encabezado en los documentos electrónicos Nota de Crédito.

Ubicación:

Actualizaciones / Facturación / Transmisión Electrónica.

Eventos:

Transmitir documento

Programa Fuente:

NFAEXMLECU.PRW

Función:

NFAEXMLECU

Retorno:

Nombre

Tipo

Descripción

Obligatorio

cXML

Carácter

Cadena XML con la estructura de la sección Encabezado según los lineamientos establecidos por la Signature en archivo esquema DTE para Factura de Venta.

Si


Ejemplo:

#Include 'Protheus.ch'

...

Local cRet := ""
Local cFilPE := PARAMIXB[1] //Filial
Local cDocPE := PARAMIXB[2] //Num. Documento
Local cSerPE := PARAMIXB[3] //Serie
Local cEspPE := PARAMIXB[4] //Especie
Local cCliPE := PARAMIXB[5] //Clientes
Local cLojPE := PARAMIXB[6] //Tienda

cRet := "<Encabezado>" + chr(13)+ chr(10)
cRet += " <IdDoc>" + chr(13)+ chr(10)
cRet += " <Ambiente>1</Ambiente>" + chr(13)+ chr(10)
cRet += " <TipoEmision>1</TipoEmision>" + chr(13)+ chr(10)
cRet += " <ContenidoTC></ContenidoTC>" + chr(13)+ chr(10)
cRet += " <Tipo>04</Tipo>" + chr(13)+ chr(10)
cRet += " <Serie>A</Serie>" + chr(13)+ chr(10)
cRet += " <Numero>000000001</Numero>" + chr(13)+ chr(10)
cRet += " <Estado>ORIGINAL</Estado>" + chr(13)+ chr(10)
cRet += " <FechaEmis>2018-11-29T16:37:00Z</FechaEmis>" + chr(13)+ chr(10)
cRet += " <Establecimiento>001</Establecimiento>" + chr(13)+ chr(10)
cRet += " <PtoEmis>001</PtoEmis>" + chr(13)+ chr(10)
cRet += " </IdDoc>" + chr(13)+ chr(10)
cRet += " <Emisor>" + chr(13)+ chr(10)
cRet += " <TipoContribuyente>5368</TipoContribuyente>" + chr(13)+ chr(10)
cRet += " <RegimenContable>SI</RegimenContable>" + chr(13)+ chr(10)
cRet += " <IDEmisor>20517833101</IDEmisor>" + chr(13)+ chr(10)
cRet += " <NmbEmisor>EMPRESA 001</NmbEmisor>" + chr(13)+ chr(10)
cRet += " <NombreEmisor>" + chr(13)+ chr(10)
cRet += " <PrimerNombre>EMPRESA NOMBRE</PrimerNombre>" + chr(13)+ chr(10)
cRet += " </NombreEmisor>" + chr(13)+ chr(10)
cRet += " <DomFiscal>" + chr(13)+ chr(10)
cRet += " <Calle>cALLE Y NUMERO</Calle>" + chr(13)+ chr(10)
cRet += " <Departamento>CU</Departamento>" + chr(13)+ chr(10)
cRet += " <Distrito>CU</Distrito>" + chr(13)+ chr(10)
cRet += " <Ciudad>CU</Ciudad>" + chr(13)+ chr(10)
cRet += " <Municipio>CU</Municipio>" + chr(13)+ chr(10)
cRet += " <Pais>218</Pais>" + chr(13)+ chr(10)
cRet += " <CodigoPostal>01259030</CodigoPostal>" + chr(13)+ chr(10)
cRet += " </DomFiscal>" + chr(13)+ chr(10)
cRet += " <LugarExped>" + chr(13)+ chr(10)
cRet += " <Calle>AV. BRAZ LEME, 1631</Calle>" + chr(13)+ chr(10)
cRet += " </LugarExped>" + chr(13)+ chr(10)
cRet += " </Emisor>" + chr(13)+ chr(10)
cRet += " <Receptor>" + chr(13)+ chr(10)
cRet += " <DocRecep>" + chr(13)+ chr(10)
cRet += " <TipoDocRecep>04</TipoDocRecep>" + chr(13)+ chr(10)
cRet += " <NroDocRecep>1791287118001</NroDocRecep>" + chr(13)+ chr(10)
cRet += " </DocRecep>" + chr(13)+ chr(10)
cRet += " <NmbRecep>NOMBRE DE TU EMPRESA</NmbRecep>" + chr(13)+ chr(10)
cRet += " </Receptor>" + chr(13)+ chr(10)
cRet += " <Transporte>" + chr(13)+ chr(10)
cRet += " <MedioTransporte>" + chr(13)+ chr(10)
cRet += " <MetodoTransp>MetodoTransp</MetodoTransp>" + chr(13)+ chr(10)
cRet += " </MedioTransporte>" + chr(13)+ chr(10)
cRet += " </Transporte>" + chr(13)+ chr(10)
cRet += " <Totales>" + chr(13)+ chr(10)
cRet += " <Moneda>USD</Moneda>" + chr(13)+ chr(10)
cRet += " <SubTotal>500.00</SubTotal>" + chr(13)+ chr(10)
cRet += " <MntDcto>0</MntDcto>" + chr(13)+ chr(10)
cRet += " <VlrPagar>560.00</VlrPagar>" + chr(13)+ chr(10)
cRet += " <MontoPropina>0.00</MontoPropina>" + chr(13)+ chr(10)
cRet += " </Totales>" + chr(13)+ chr(10)
cRet += " <Impuestos>" + chr(13)+ chr(10)
cRet += " <TipoImp>2</TipoImp>" + chr(13)+ chr(10)
cRet += " <CodTasamp>2</CodTasamp>" + chr(13)+ chr(10)
cRet += " <TasaImp>18.00</TasaImp>" + chr(13)+ chr(10)
cRet += " <MontoBAseImp>1500.00</MontoBAseImp>" + chr(13)+ chr(10)
cRet += " <MontoImp>160.00</MontoImp>" + chr(13)+ chr(10)
cRet += " </Impuestos>" + chr(13)+ chr(10)
cRet += "</Encabezado>"


Return cRet




Descripción:

M485XMLECU.- Personalización de los valores del Encabezado en los documentos electrónicos para Ecuador.

Ubicación:

Actualizaciones / Facturación / Transmisión Electrónica.

Eventos:

Transmitir documento

Programa Fuente:

MATA485

Función:

getFact

Retorno:

Nombre

Tipo

Descripción

Obligatorio

cXML

Caracter

Cadena XML con la estructura del XML según los lineamientos establecidos por la Signature en archivo esquema DTE para Factura de Venta.

Este punto de entrada deberá generar los 3 documentos: Factura de Venta, Nota de Débito y Nota de Crédito.

Si


Ejemplo:

#Include 'Protheus.ch'

...