Árvore de páginas

Versões comparadas

Chave

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

Implementación de generación de documentos electrónicos UBL para versión 2.1 Perú

Línea de Producto:

Microsiga Protheus

Segmento:

Servicios - Mercado Internacional

Módulo:

SIGAFIN - Financiero

Rutina:

Rutina

Nombre Técnico

FINR13A

informe Títulos a Cobrar 2

Archivo Iniciales:

Punto de Entrada:

M485PENF

M486PEND

M486PENC

M486PECR

M486PDFGEN


Llamados vinculados:

N/A8995351 

Requisito/Story/Issue:DMINA-4575 , DMINA-5822DMICNS-8647

País(es):

PERÚArgentina

Base(s) de Datos:

TODAS

Tablas utilizadas:

SX1- Preguntas

Sistema(s) operativo(s):

Windows®/Linux®

Pacote:


Versión:12.1.25

Descripción 

Se arregla el grupo de pe=rguntas la pregunt a 03 e 04 del para el programa FINR13A

Importante

No existe compatibilizador para implementación de cambios al diccionario. Deberá actualizar utilizando el paquete de diccionario de datos indicado al inicio de este documento técnico, de lo contrario deberá capturar de manera manual los cambios descritos en la sección del diccionario de datos de este documento técnico.

Atención

¡El siguiente procedimiento debe realizarlo un profesional calificado como Administrador de base de datos (DBA) o su equivalente!

La activación indebida de la integridad referencial puede modificar drásticamente la relación entre tablas en la base de datos. Por lo tanto, antes de utilizarla, observe atentamente el siguiente procedimiento:

1.    En el Configurador (SIGACFG), verifique si la empresa utiliza Integridad referencial, seleccionando la opción Integridad/Verificación (APCFG60A).

2.    Si no hay Integridad referencial activa, se listan en una nueva ventana todas las empresas y sucursales registradas en el sistema y ninguna de estas estará seleccionada. SOLAMENTE en este caso no es necesario ningún otro procedimiento de activación o desactivación de integridad, basta finalizar la verificación y aplicar normalmente el compatibilizador, de acuerdo con las  instrucciones.

3.     Si la Integridad referencial está activa en todas las empresas y sucursales, se muestra un mensaje en la ventana Verificación de vínculo entre tablas. Confirme el mensaje para que se concluya la verificación, o;

4.     Si existe Integridad referencial activa en una o más empresas, que no representan la totalidad, se listan en una nueva ventana todas las empresas y sucursales registradas en el sistema y solamente se seleccionarán las que tienen integridad. Anote las empresas y/o sucursales que tienen la integridad activada y reserve esta anotación para posterior consulta en la reactivación (o incluso, entre en contacto con nuestro Help Desk Framework para informarse sobre los archivos que contienen esta información).

5.    En los casos descritos en los ítems “iii” o “iv”, Y SOLO EN ESTOS CASOS, es necesario desactivar dicha integridad, seleccionando la opción Integridad/ Desactivar (APCFG60D).

6.     Al desactivar la Integridad referencial, ejecute el compatibilizador, de acuerdo con las instrucciones.

7.    Después de aplicar el compatibilizador, la Integridad referencial debe reactivarse, SOLAMENTE CUANDO se haya desactivado, por medio de la opción Integridad/Activar (APCFG60). Para ello, tenga a disposición la información de la(s) empresa(s) y/o sucursal(es) que tenía(n) activación de la integridad, selecciónela(s) nuevamente y confirme la activación.

 

¡EN CASO DE DUDAS, entre en contacto con el Help Desk Framework!




Actualizaciones al Diccionario de Datos.

1. Cambio de consulta F3  de Preguntas en el archivo SX1 – Archivo de Preguntas:

Entrar en el módulo configurador en la ruta Base de Datos\Base de Datos(CFGX031) e seleccionar la opción de preguntas

Pesquisar por la pregunta FIN13A e selecionar la opcion de cambiar


Nombre: FIN13ANombre: MATA486.

X1_ORDEM

03

X1_F3

  • Dejar en blanco

X1_ORDEM

04

X1_F3

  • Dejar en blanco





Procedimiento de Utilización 

Generar informe

Entrar no módulo Sigafin

  1. En el módulo de Financiero(SIGAFIN), vaya a la ruta en el menú: Actualizaciones| Facturación|Facturación
  2. Seleccione la opción Incluir
  3. Seleccione Cliente y Tienda
  4. Seleccione Serie y Número. Al salir del campo No. de Documento, se llenará el campo Serie 2. Si esto no ocurre, revise su configuración en Control de Formularios
  5. Informe el detalle de la factura con su respectiva TES
  6. Guarde el Documento.
    Puede realizar la generación de una factura a partir de un Pedido de Venta o Una remisión.

Boleta de Venta

  • En el módulo de Facturación(SIGAFAT), vaya a la ruta en el menú: Actualizaciones| Facturación|Facturación
  • Seleccione la opción Incluir
  • Seleccione Cliente y Tienda. El cliente deberá tener configurado el Tipo de documento de Identificación(A1_TIPDOC) diferente a RUC. De lo contrario al realizar la Transmisión a TSS generará un Rechazo.
  • Seleccione Serie y Número. Al salir del campo No. de Documento, se llenará el campo Serie 2. Si esto no ocurre, revise su configuración en Control de Formularios
  • Informe el detalle de la factura con su respectiva TES
  • Guarde el Documento.
    Puede realizar la generación de una Boleta de Venta a partir de un Pedido de Venta o Una remisión.

    Nota de Crédito

    1. En el módulo de Facturación(SIGAFAT), vaya a la ruta en el menú: Actualizaciones| Facturación|Generación Notas de Crédito/Débito
    2. Seleccione Nota de Crédito
    3. Seleccione la opción Incluir
    4. Seleccione Cliente y Tienda
    5. Seleccione Serie y Número. Al salir del campo No. de Documento, se llenará el campo Serie 2. Si esto no ocurre, revise su configuración en Control de Formularios.
    6. Informe el tipo de Nota de Crédito Electrónica(F1_TIPREF)
    7. Informe el motivo por el cuál se expide la nota de crédito(F1_MOTIVO).
    8. Seleccione el documento original
    9. Informe la TES.
    10. Guarde el Documento.

    Nota de Débito

    1. En el módulo de Facturación(SIGAFAT), vaya a la ruta en el menú: Actualizaciones| Facturación|Generación Notas de Crédito/Débito
    2. Seleccione Nota de Débito
    3. Seleccione la opción Incluir
    4. Seleccione Cliente y Tienda
    5. Seleccione Serie y Número. Al salir del campo No. de Documento, se llenará el campo Serie 2. Si esto no ocurre, revise su configuración en Control de Formularios.
    6. Informe el tipo de Nota de Débito Electrónica(F2_TIPREF)
    7. Informe el motivo por el cuál se expide la nota de crédito(F2_MOTIVO).
    8. Registre el detalle del documento.
    9. Informe el Documento original y la Serie original en el detalle del documento.
    10. Informe la TES.
    11. Guarde el Documento.

    Comprobante de Retención

    1. Registre Factura de Entrada.
      a. En el módulo de Compras(SIGACOM), vaya a la ruta en el menú: Actualizaciones| Movimientos | Factura de Entrada
      b. Seleccione Incluir
      c. Informe Proveedor y  Tienda
      d. Informe Serie de la Factura
      e. Capture el detalle de la Factura con sus respectiva TES
      f. Guarde el registro.
    2. Genere su orden de Pago. Es en este procedimiento cuando se genera la retención. 

    a. En el Módulo Financiero(SIGAFIN), vaya a la ruta en el menú: Actualizaciones | Cuentas por Pagar | Orden de Pago (FINA085A)
    b. Seleccione la Factura de Entrada y presione Pago Automático
    c. Informe datos de Pago.
    d. Visualizará el monto de la Retención de IGV
    e. Guarde el registro.
    g. Se visualizará el Comprobante de Retención Generado.

    Importante

  • Para Notas de Crédito y Débito, deberán referenciar siempre a una Factura de Venta o Boleta de Venta. De lo contrario al enviar el documento a la SUNAT, este será rechazado.
  • La Factura de Venta de Exportación, se registra de manera normal. Solo recuerde que el Cliente deberá estar configurado como Extranjero (A1_EST='EX'). Misma premisa para Nota de Débito y Crédito Extranjeras.
  • De no realizar las configuraciones en catálogos informadas en la sección de Procedimiento de Implantación, se tendrán situaciones de error al momento de realizar la transmisión de los documentos.
  • No puede combinar en un solo documento los impuestos IGV e IGI (IGV Incluido).  

    Configuración de Conexión aTSS

    1. En el módulo de Facturación (SIGAFAT), acceda a Actualizaciones / Facturación / Documentos Electrónicos (MATA486).
    2. Elegir como documento Factura e introducir Serie del documento
    3. De las opciones de la rutina, seleccione Configuración
    4. Visualizará Wizard de conexión con TSS. De clic en Siguiente
    5. Coloque URL de los Servicios Web de TSS.
    6. Informe ruta del certificado digital en formato pfx.
    7. Informe contraseña del Certificado Digital.
    8. Informe el ambiente con el cuál se estara enviando los documentos. 
    9. De clic en Siguiente
    10. Si todo fue ok, 
    11. Se indicará en Pantalla  la Conclusión exitósa de la conexión con TSS.
    12. De lo contrario indicará el problema que impide configurar la conexión con TSS           

    Transmisión de documentos.

    1. En el módulo de Facturación (SIGAFAT), acceda a Actualizaciones / Facturación / Documentos Electrónicos (MATA486).
    2. Elegir el Tipo de Documento a Transmitir y la Serie
    3. Se visualiza Browse con los oducmentos según los filtros informados
    4. Seleccione opción Transmitir.
    5. Visualiza diálogo para configuración de Parámetros. Informe la Serie de los documentos a Transmitir, así como número inicial y número final.
    6. Confirme 
    7. Comienza el proceso de validación de datos de cada documento. Durante este proceso se realiza generación de XML solamente de aquellos documentos que pasen las validaciones. Los documentos con error no serán transmitidos, y el detalle del error será informado al usuario.
    8. Al finalizar el proceso, se pregunta al usuario si desea visualizar log de la transmisión. Si el usuario desea visualizar dicho log, se vusalizará en pantalla.
    9. Se preguntará al usuario si desea realizar el monitoreo del documento enviado. Al confirmar, aparece el monitor con el documento Transmitido. 

    Monitoreo de documentos.

  • El monitoreo de Documentos enviados a TSS puede realizarse de dos maneras. La primera inmediatamente después de realizar la transmisión del documento.
  • La segunda manera, es a través de la opción Monitor que se encuentra en el menú Otras Acciones dentro de la rutina de Documentos Electrónicos(MATA486)
  • Al seleccionar la opción monitor, se despliega diálogo de preguntas en el cuál se debe indicar la Serie y el rango de inicio y fin de los documentos a monitorear.
  • Al confirmar los parámetros, se visualizan los documentos seleccionados. En el Monitor se indica la Autorización o Rechazo del Documento, así como el motivo de rechazo si es que esto ocurre. Si el documento fue Autorizado, se indica la fecha y hora de actualización.
  • En la parte inferior, el botón XML Envió permite visualizar el XML generado desde Protheus y enviado a TSS sin el Sello Electrónico.
  • El botón XML Sunat Permite visualizar el XML Sellado y Aprobado por la SUNAT.
  • El botón Refresh, refresca los datos en pantalla realizando unan ueva consulta a TSS.
  • El botón Salir cierra l monitor sin realizar cambios a los registros en Protheus
  • El botón Ok, actualiza los estatus de los registros a Protheus como son Estatus, fecha y Hora de Autorización. Así mismo, genera los XML de los documentos autorizados lo que permitirá realizar la impresión del documento. 

    Impresión de Documentos Autorizados.

    1. Dentro de la rutina Documentos Electrónicos(MATA486), vaya al menú Otras Acciones y seleccione Imprimir PDF
    2. Informe la serie y rango de los documentos Autorizados que se van a imprimir
    3. Seleccione el Formato PDF
    4. Comenzará el proceso de generación del PDF
    5. Se indicará la finalización del proceso.
    6. Se abrirá PDF generado de los documentos seleccionados.
    NOTA: Si se desea realizar envió vía e-mail, se deberá tener configurado los parámetros MV_RELSERV, MV_RELACNT, MV_RELPSW. Así mismo tener configurado el campo email de cada uno de los clientes (A1_EMAIL). De lo contrario no se realizará el envió.

    Punto de Entrada

    Descripción:

    M486PENF.- Generación personalizada de XML de Factura Electrónica

    Ubicación:

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

    Eventos:

    Transmitir.

    Programa Fuente:

    MATA486.PRW

    Función:

    M486SENDDOC

    Respuesta:

    Nombre

    Tipo

    Descripción

    Obligatorio

    cXML

    Caracter

    Cadena XML La estructura del XML según los lineamientos establecidos por la SUNAT para Factura de Venta.

    Si

    Ejemplo:

    #Include 'Protheus.ch'

    User Function M486PENF()

    Local cXML := ""

    Local cCRLF  := (chr(13)+chr(10) )

    Local cFilDoc        := PARAMIXB[1] // Sucursal que emitio el documento.

    Local cNumDoc    := PARAMIXB[4] // Número de Documento

    Local cCodCli       := PARAMIXB[3] // Código de Cliente

    Local cCodLoj       := PARAMIXB[4] // código de tienda

    Local cSerieDoc   := PARAMIXB[2] // Serie

    Local cEspDoc      := PARAMIXB[5] // Especie

    cXML := '<?xml version="1.0" encoding="UTF-8"?>' + cCRLF

    cXML += '<Invoice>' + cCRLF         

    // Código necesario para creación del XML

    cXML += '</Invoice>' + cCRLF  

    Return cXML

    Descripción:

    M486PENC.- Generación personalizada de XML de Nota de Crédito

    Ubicación:

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

    Eventos:

    Transmitir.

    Programa Fuente:

    MATA486.PRW

    Función:

    M486SENDDOC

    Respuesta:

    Nombre

    Tipo

    Descripción

    Obligatorio

    cXML

    Caracter

    Cadena XML La estructura del XML según los lineamientos establecidos por la SUNAT para Nota de Crédito

    Si

    Ejemplo:

    #Include 'Protheus.ch'

    User Function M486PENC()

    Local cXML := ""

    Local cCRLF  := (chr(13)+chr(10) )

    Local cFilDoc        := PARAMIXB[1] // Sucursal que emitio el documento.

    Local cNumDoc    := PARAMIXB[4] // Número de Documento

    Local cCodCli       := PARAMIXB[3] // Código de Cliente

    Local cCodLoj       := PARAMIXB[4] // código de tienda

    Local cSerieDoc   := PARAMIXB[2] // Serie

    Local cEspDoc      := PARAMIXB[5] // Especie

    cXML := '<?xml version="1.0" encoding="UTF-8"?>' + cCRLF

    cXML += '<CreditNote>' + cCRLF         

    // Código necesario para creación del XML

    cXML += '</CreditNote>' + cCRLF  

    Return cXML

    Descripción:

    M486PEND.- Generación personalizada de XML de Nota de Débito

    Ubicación:

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

    Eventos:

    Transmitir.

    Programa Fuente:

    MATA486.PRW

    Función:

    M486SENDDOC

    Respuesta:

    Nombre

    Tipo

    Descripción

    Obligatorio

    cXML

    Caracter

    Cadena XML La estructura del XML según los lineamientos establecidos por la SUNAT para Factura de Venta.

    Si

    1. cuentas por recibir(FINA040)
    2. Agregue algunos documentos por recibir
    3. Salir de la rutina y entrar en la ruta de informe e seleccionar el informe de cuentas Seleccione recibir(FINR13A)
    4. Seleccione los parametros e verifique que ahora ya no trae mas la consulta F3 para las pregunta referente a Sucursal de/Hasta
    5. Confirma los parametors e generar el informe

    Ejemplo:

    #Include 'Protheus.ch'

    User Function M486PEND()

    Local cXML := ""

    Local cCRLF  := (chr(13)+chr(10) )  

    Local cFilDoc        := PARAMIXB[1] // Sucursal que emitio el documento.

    Local cNumDoc    := PARAMIXB[4] // Número de Documento

    Local cCodCli       := PARAMIXB[3] // Código de Cliente

    Local cCodLoj       := PARAMIXB[4] // código de tienda

    Local cSerieDoc   := PARAMIXB[2] // Serie

    Local cEspDoc      := PARAMIXB[5] // Especie

    cXML := '<?xml version="1.0" encoding="UTF-8"?>' + cCRLF

    cXML += '<DebitNote>' + cCRLF         

    // Código necesario para creación del XML

    cXML += '</DebitNote>' + cCRLF  

    Return cXML

    Descripción:

    M486PECR.- Generación personalizada de XML de Comprobante de Retención

    Ubicación:

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

    Eventos:

    Transmitir.

    Programa Fuente:

    MATA486.PRW

    Función:

    M486SENDDOC

    Respuesta:

    Nombre

    Tipo

    Descripción

    Obligatorio

    cXML

    Caracter

    Cadena XML La estructura del XML según los lineamientos establecidos por la SUNAT para Factura de Venta.

    Si

    Ejemplo:

    #Include 'Protheus.ch'

    User Function M486PECR()

    Local cXML := ""

    Local cCRLF  := (chr(13)+chr(10) )

    Local cFilDoc        := PARAMIXB[1] // Sucursal que emitio el documento.

    Local cNumDoc    := PARAMIXB[2] // Número de Documento

    Local cSerieDoc   := PARAMIXB[3] // Serie

    Local cCodProv     := PARAMIXB[4] // Código de Proveedor

    Local cCodLoj       := PARAMIXB[4] // código de tienda

    cXML := '<?xml version="1.0" encoding="UTF-8"?>' + cCRLF

    cXML += '<Retention>' + cCRLF         

    // Código necesario para creación del XML

    cXML += '</Retention>' + cCRLF  

    Return cXML

    Descripción:

    M486PECR.- Generación personalizada de XML de Comprobante de Retención

    Ubicación:

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

    Eventos:

    Transmitir.

    Programa Fuente:

    MATA486.PRW

    Función:

    M486SENDDOC

    Respuesta:

    Nombre

    Tipo

    Descripción

    Obligatorio

    cXML

    Caracter

    Cadena XML La estructura del XML según los lineamientos establecidos por la SUNAT para Factura de Venta.

    Si

    Ejemplo:

    #Include 'Protheus.ch'

    User Function M486PECR()

    Local cXML := ""

    Local cCRLF  := (chr(13)+chr(10) )

    Local cFilDoc        := PARAMIXB[1] // Sucursal que emitio el documento.

    Local cNumDoc    := PARAMIXB[2] // Número de Documento

    Local cSerieDoc   := PARAMIXB[3] // Serie

    Local cCodProv     := PARAMIXB[4] // Código de Proveedor

    Local cCodLoj       := PARAMIXB[4] // código de tienda

    cXML := '<?xml version="1.0" encoding="UTF-8"?>' + cCRLF

    cXML += '<Retention>' + cCRLF         

    // Código necesario para creación del XML

    cXML += '</Retention>' + cCRLF  

    Return cXML

    Descripción:

    M486PDFGEN.- Generación personalizada de Impresión Gráfica de Documentos

    Ubicación:

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

    Eventos:

    Imprimir PDF.

    Programa Fuente:

    MATA486.PRW

    Función:

    MenuDef

    Retorno:N/A

    Ejemplo:

    #Include 'Protheus.ch'

    User Function M486PDFGEN()

    MsgAlert("Aquí debe colocar lógica para imprimir pdf ")

    Return 

    Descripción:

    M486NF.- Adicionar información que no es obligatoria para la SUNAT para el documento Factura/Boleta de Venta

    Ubicación:

    Actual/ Faturamento/Transmisión Electrónica

    Eventos:

    Transmitir

    Programa Fuente:

    M486XMLNF

    Función:

    fGenXMLNF

    Retorno:

    Nombre

    Tipo

    Descripción

    Obligatorio

    cXML

    Caracter

    String XML con la sintaxis conforme se describe en ejemplo

    Exemplo:

    #Include 'Protheus.ch'

    User Function M486NF()

    Local cXML := ""

    Local cCRLF  := (chr(13)+chr(10) )

    Local cFilDoc       := PARAMIXB[1] // Sucursal

    Local cNumDoc       := PARAMIXB[2] // Número de Documento

    Local cSerieDoc:= PARAMIXB[3] // Série

    Local cEspDoc       := PARAMIXB[4] // Espécie

    Local cCodCli       := PARAMIXB[5] // Código de Cliente

    Local cCodLoj       := PARAMIXB[6] // código de loja          

    cXML += '<cbc:Note>Nombre campo: dato a enviar</cbc:Note> ' + cCRLF

    Return cXML

    Descripción:

    M486NCC.- Adicionar información que no es obligatoria para la SUNAT para el documento Nota de Crédito

    Ubicación:

    Actual/ Faturamento/Transmisión Electrónica

    Eventos:

    Transmitir

    Programa Fuente:

    M486NCCXML

    Función:

    fGenXMLNCC

    Retorno:

    Nombre

    Tipo

    Descripción

    Obligatorio

    cXML

    Caracter

    String XML con la sintaxis conforme se describe en ejemplo

    Exemplo:

    #Include 'Protheus.ch'

    User Function M486NFE()

    Local cXML := ""

    Local cCRLF  := (chr(13)+chr(10) )

    Local cFilDoc       := PARAMIXB[1] // Sucursal

    Local cNumDoc       := PARAMIXB[2] // Número de Documento

    Local cSerieDoc:= PARAMIXB[3] // Série

    Local cEspDoc       := PARAMIXB[4] // Espécie

    Local cCodCli       := PARAMIXB[5] // Código de Cliente

    Local cCodLoj       := PARAMIXB[6] // código de loja          

    cXML += '<cbc:Note>Nombre campo: dato a enviar</cbc:Note> ' + cCRLF

    Return cXML

    Descripción:

    M486NDC.- Adicionar información que no es obligatoria para la SUNAT para el documento Factura/Boleta de Venta Exportación

    Ubicación:

    Actual/ Faturamento/Transmisión Electrónica

    Eventos:

    Transmitir

    Programa Fuente:

    M486NDCXML

    Función:

    fGenXMLNDC

    Retorno:

    Nombre

    Tipo

    Descripción

    Obligatorio

    cXML

    Caracter

    String XML con la sintaxis conforme se describe en ejemplo

    Exemplo:

    #Include 'Protheus.ch'

    User Function M486NFE()

    Local cXML := ""

    Local cCRLF  := (chr(13)+chr(10) )

    Local cFilDoc       := PARAMIXB[1] // Sucursal

    Local cNumDoc       := PARAMIXB[2] // Número de Documento

    Local cSerieDoc:= PARAMIXB[3] // Série

    Local cEspDoc       := PARAMIXB[4] // Espécie

    Local cCodCli       := PARAMIXB[5] // Código de Cliente

    Local cCodLoj       := PARAMIXB[6] // código de loja          

    cXML += '<cbc:Note>Nombre campo: dato a enviar</cbc:Note> ' + cCRLF

    Return cXML

    Descripción:

    M486NFE.- Adicionar información que no es obligatoria para la SUNAT para el documento Factura/Boleta de Venta Exportación

    Ubicación:

    Actual/ Faturamento/Transmisión Electrónica

    Eventos:

    Transmitir

    Programa Fuente:

    M486XMLNF

    Función:

    fGenXMLNF

    Retorno:

    Nombre

    Tipo

    Descripción

    Obligatorio

    cXML

    Caracter

    String XML con la sintaxis conforme se describe en ejemplo

    Exemplo:

    #Include 'Protheus.ch'

    User Function M486NFE()

    Local cXML := ""

    Local cCRLF  := (chr(13)+chr(10) )

    Local cFilDoc       := PARAMIXB[1] // Sucursal

    Local cNumDoc       := PARAMIXB[2] // Número de Documento

    Local cSerieDoc:= PARAMIXB[3] // Série

    Local cEspDoc       := PARAMIXB[4] // Espécie

    Local cCodCli       := PARAMIXB[5] // Código de Cliente

    Local cCodLoj       := PARAMIXB[6] // código de loja          

    cXML += '<cbc:Note>Nombre campo: dato a enviar</cbc:Note> ' + cCRLF

    Return cXML