Histórico da Página
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: |
| ||||
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 |
|
X1_ORDEM | 04 |
X1_F3 |
|
Procedimiento de Utilización
Generar informe
Entrar no módulo Sigafin
- En el módulo de Financiero(SIGAFIN), vaya a la ruta en el menú: Actualizaciones| Facturación|Facturación
- Seleccione la opción Incluir
- Seleccione Cliente y Tienda
- 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 factura a partir de un Pedido de Venta o Una remisión.
Boleta de Venta
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
- 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
- Seleccione Nota de Crédito
- Seleccione la opción Incluir
- Seleccione Cliente y Tienda
- 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 tipo de Nota de Crédito Electrónica(F1_TIPREF)
- Informe el motivo por el cuál se expide la nota de crédito(F1_MOTIVO).
- Seleccione el documento original
- Informe la TES.
- Guarde el Documento.
Nota de Débito
- 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
- Seleccione Nota de Débito
- Seleccione la opción Incluir
- Seleccione Cliente y Tienda
- 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 tipo de Nota de Débito Electrónica(F2_TIPREF)
- Informe el motivo por el cuál se expide la nota de crédito(F2_MOTIVO).
- Registre el detalle del documento.
- Informe el Documento original y la Serie original en el detalle del documento.
- Informe la TES.
- Guarde el Documento.
Comprobante de Retención
- 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. - 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:
Configuración de Conexión aTSS
- En el módulo de Facturación (SIGAFAT), acceda a Actualizaciones / Facturación / Documentos Electrónicos (MATA486).
- Elegir como documento Factura e introducir Serie del documento
- De las opciones de la rutina, seleccione Configuración
- Visualizará Wizard de conexión con TSS. De clic en Siguiente
- Coloque URL de los Servicios Web de TSS.
- Informe ruta del certificado digital en formato pfx.
- Informe contraseña del Certificado Digital.
- Informe el ambiente con el cuál se estara enviando los documentos.
- De clic en Siguiente
- Si todo fue ok,
- Se indicará en Pantalla la Conclusión exitósa de la conexión con TSS.
- De lo contrario indicará el problema que impide configurar la conexión con TSS
Transmisión de documentos.
- En el módulo de Facturación (SIGAFAT), acceda a Actualizaciones / Facturación / Documentos Electrónicos (MATA486).
- Elegir el Tipo de Documento a Transmitir y la Serie
- Se visualiza Browse con los oducmentos según los filtros informados
- Seleccione opción Transmitir.
- 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.
- Confirme
- 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.
- 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.
- Se preguntará al usuario si desea realizar el monitoreo del documento enviado. Al confirmar, aparece el monitor con el documento Transmitido.
Monitoreo de documentos.
Impresión de Documentos Autorizados.
- Dentro de la rutina Documentos Electrónicos(MATA486), vaya al menú Otras Acciones y seleccione Imprimir PDF
- Informe la serie y rango de los documentos Autorizados que se van a imprimir
- Seleccione el Formato PDF
- Comenzará el proceso de generación del PDF
- Se indicará la finalización del proceso.
- Se abrirá PDF generado de los documentos seleccionados.
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 |
- cuentas por recibir(FINA040)
- Agregue algunos documentos por recibir
- Salir de la rutina y entrar en la ruta de informe e seleccionar el informe de cuentas Seleccione recibir(FINR13A)
- Seleccione los parametros e verifique que ahora ya no trae mas la consulta F3 para las pregunta referente a Sucursal de/Hasta
- 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
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
Caracter
String XML con la sintaxis conforme se describe en ejemplo
Sí
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
Caracter
String XML con la sintaxis conforme se describe en ejemplo
Sí
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
Caracter
String XML con la sintaxis conforme se describe en ejemplo
Sí
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
Caracter
String XML con la sintaxis conforme se describe en ejemplo
Sí
#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