Línea de Producto:
Microsiga Protheus ® SIGAFAT – Versión 11.
Segmento:
Mercado Internacional
Módulo:
SIGAFAT
Rutina:
Rutina | Nombre Técnico |
MATA485 | Transmisión Electrónica. |
Rutina(s) involucrada(s) | Nombre Técnico |
NFAEXmlPER | XML de Documentos Fiscales para transmisión Electrónica de Perú |
LocXNF | Documentos Fiscales |
LocxNF2 | Cálculo de Valores para Nota Fiscal |
Clientes TSS Involucrados
Rutina | Nombre Técnico |
---|---|
NFECFGLOC | Cliente de Web Service NFECFGLOC |
TSSWSSIGNATURE | Cliente de Web Service TSS Signature |
Archivo Iniciales:
Parámetro(s):
MV_SIGNADM
MV_SIGNUSR
MV_SIGNAWS
MV_SIGNPAS
MV_CFDDOCS
Punto de Entrada:
M485NF
M485NCC
M485NDC
Llamados vinculados:
País(es):
PERÚ
Base(s) de Datos:
TODAS
Tablas utilizadas:
SF1– Factura de Entrada
SD1– Ítems de facturas de Entrada
SF2– Factura de Salida
SD2– Ítems de facturas de Salida
SFB– Impuestos Variables
SB1– Productos
SM0– Sucursales
SA2– Proveedores
SA1– Clientes
SFC–TES
Sistema(s) operativo(s):
Permitir el envío y recepción de los Documentos documentos fiscales tales como : Factura Electrónica, Boleta de Venta, Nota de Crédito y Débito y documentos Documentos de Exportación (Factura, Nota de crédito Crédito y Débito) entre Protheus y TSS.
Antes de ejecutar el compatibilizador, UPDMODMI es imprescindible:
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
Como premisa, es necesario contar con la correcta instalación de TSS versión 2.61 o superior:
Instalación.
- Realizar la instalación del TSS a través del instalador disponible en la sección de download del portal del cliente: https://suporte.totvs.com/download, en la línea de Protheus, buscar por el nombre del instalador TSS.
- Verificar la generación del archivo de Schema (DTE_v1.0.xsd) en la pasta de Schemas de TSS creada durante la instalación.; Sección de declaración del Job
[WFSIGNATUREPER]
main= TSSSignPERU
environment=sped
;start de job
[onstart]
jobs=WFSIGNATUREPER
En seguida bajar y subir nuevamente el server de TSS.
Verificar el funcionamiento de los Web Services en TSS.
Acceda al URL configurado para los Web Services de TSS mediante algún Explorador de Internet. Verifique que se encuentre el Web Service TSSSignature en el Index de Servicios Web mostrados.
Verificar el acceso a los Web Services de SIGNATURE.
El URL para conexión con SIGNATURE, deberá probarse de la siguiente manera: En cualquier explorador de Internet coloque la URL proporcionada. Deberá mostrarse la definición del Web Service con los métodos que lo componen.
Esta tabla, contiene la equivalencia de los Tipos de documentos de los registros en Tabla Genérica TB vs Catálogo 06 Códigos Tipos de Documentos de Identidad que el SUNAT acepta:
Esta tabla obedece a los códigos expresados en el catálogo 09 Códigos de Tipos de Nota de Crédito Electrónica aceptados por la SUNAT:
Esta tabla contiene la relación entre el catálogo 02 Códigos de Monedas aceptadas por la SUNAT y la monedas utilizadas por el Protheus según corresponda:
Esta tabla obedece a los códigos expresados en el catálogo 10 Códigos de Tipos de Nota de Débito Electrónica aceptados por la SUNAT:
6. Configure impuestos Variables.
La SUNAT disponibiliza en el catálogo 05 Códigos de tipos de Tributos para los Impuestos, como se muestra a continuación:
Estos códigos deberán configurarse en Impuestos variables, según el impuesto informe en el campo FB_CODIMP, además deberá informar el campo FB_CLASSE comó ‘I’. La SUNAT exige también el uso de los Códigos de Afectación de IGV e ISC, definidos en lso catálogos 07 y 08 respectivamente:
Este código deberá ser informado en el campo FB_CODTAR, de no informarse, generará inconsistencias en el xml y será rechazado por la SUNAT.
7. Ejecute procedimiento de Transmisión de Documentos Electrónicos.
GRUPO: MATA485
Pregunta | MATA485 |
Nombre | ¿Tipo de Documento? |
Grupo | MATA485 |
Orden | 01 |
Tipo | C |
Tamaño | 1 |
Pregunta | MATA485 |
Nombre | ¿Serie? |
Grupo | MATA485 |
Orden | 02 |
Tipo | C |
Tamaño | 3 |
GRUPO: MATA485A
Pregunta | MATA485A |
Nombre | ¿Serie de la Factura? |
Grupo | MATA485A |
Orden | 01 |
Tipo | C |
Tamaño | 3 |
Pregunta | MATA485A |
Nombre | ¿Factura Inicial? |
Grupo | MATA485A |
Orden | 02 |
Tipo | C |
Tamaño | 13 |
Pregunta | MATA485A |
Nombre | ¿Factura Final? |
Grupo | MATA485A |
Orden | 03 |
Tipo | C |
Tamaño | 13 |
GRUPO: MATA485B
Pregunta | MATA485B |
Nombre | ¿Serie de la Nota de Débito? |
Grupo | MATA485B |
Orden | 01 |
Tipo | C |
Tamaño | 3 |
Pregunta | MATA485A |
Nombre | ¿Nota de Débito Inicial? |
Grupo | MATA485A |
Orden | 02 |
Tipo | C |
Tamaño | 13 |
Pregunta | MATA485B |
Nombre | ¿Nota de Débito Final? |
Grupo | MATA485B |
Orden | 03 |
Tipo | C |
Tamaño | 13 |
GRUPO: MATA485C
Pregunta | MATA485C |
Nombre | ¿Serie de la Nota de Crédito? |
Grupo | MATA485C |
Orden | 01 |
Tipo | C |
Tamaño | 3 |
Pregunta | MATA485C |
Nombre | ¿Nota de Crédito Inicial? |
Grupo | MATA485A |
Orden | 02 |
Tipo | C |
Tamaño | 13 |
Pregunta | MATA485C |
Nombre | ¿Nota de Débito Final? |
Grupo | MATA485C |
Orden | 03 |
Tipo | C |
Tamaño | 13 |
GRUPO: MATA485D
Pregunta | MATA485D |
Nombre | ¿Serie de la Boleta de Venta? |
Grupo | MATA485D |
Orden | 01 |
Tipo | C |
Tamaño | 3 |
Pregunta | MATA485D |
Nombre | ¿Boleta de Venta Inicial? |
Grupo | MATA485D |
Orden | 02 |
Tipo | C |
Tamaño | 13 |
Pregunta | MATA485D |
Nombre | ¿Boleta de Venta Final? |
Grupo | MATA485D |
Orden | 03 |
Tipo | C |
Tamaño | 13 |
2. Creación de Campos en el archivo SX3 – Campos:
Campo | F1_FLFTEX |
Tipo | Caracter |
Tamaño | 1 |
Decimal | 0 |
Formato | @! |
Título | Status Trans |
Descripción | Estatus transmisión Elec |
Nivel | 1 |
Utilizado | Si |
Obrigatório | No |
Browse | No |
Opciones | 0=No Enviado; 1=Enviado a TSS; 4=Esperando procesamiento; 5=Rechazado; 6=Autorizado |
When |
|
Relación | 0 |
Val. Sistema |
|
Help | Indica el estatus del documento una vez que ha sido enviado al TSS |
Campo | F1_FECAUT |
Tipo | Fecha |
Tamaño | 8 |
Decimal | 0 |
Formato | @! |
Título | Fch Aut |
Descripción | Fecha de autorización |
Nivel | 1 |
Utilizado | Si |
Obrigatório | No |
Browse | No |
Opciones | |
When |
|
Relación |
|
Val. Sistema |
|
Help | Fecha de Autorización Digital |
Campo | F1_MOTIVO |
Tipo | Catacter |
Tamaño | 30 |
Decimal | 0 |
Formato | @! |
Título | Motivo |
Descripción | Motivo |
Nivel | 1 |
Utilizado | Si |
Obrigatório | Si |
Browse | No |
Opciones | |
When |
|
Relación |
|
Val. Sistema |
|
Help | Motivo por el que se expide documento. |
Campo | F1_TIPREF |
Tipo | Caracter |
Tamaño | 1 |
Decimal | 0 |
Formato | @! |
Título | Tipo Nota C |
Descripción | Tipo de Nota de Credito |
Nivel | 1 |
Utilizado | Si |
Obrigatório | Si |
Browse | No |
Opciones | |
When |
|
Relación |
|
Val. Sistema |
|
Help | Tipo de Nota de Crédito según la SUNAT |
Campo | F2_FLFTEX |
Tipo | Caracter |
Tamaño | 1 |
Decimal | 0 |
Formato | @! |
Título | Status Trans |
Descripción | Estatus transmisión Elec |
Nivel | 1 |
Utilizado | Si |
Obrigatório | No |
Browse | No |
Opciones | 0=No Enviado; 1=Enviado a TSS; 4=Esperando procesamiento; 5=Rechazado; 6=Autorizado |
When |
|
Relación | 0 |
Val. Sistema |
|
Help | Indica el estatus del documento una vez que ha sido enviado al TSS |
Campo | F2_FECAUT |
Tipo | Fecha |
Tamaño | 8 |
Decimal | 0 |
Formato | @! |
Título | Fch Aut |
Descripción | Fecha de autorización |
Nivel | 1 |
Utilizado | Si |
Obrigatório | No |
Browse | No |
Opciones | |
When |
|
Relación |
|
Val. Sistema |
|
Help | Fecha de Autorización Digital |
Campo | F2_MOTIVO |
Tipo | Catacter |
Tamaño | 30 |
Decimal | 0 |
Formato | @! |
Título | Motivo |
Descripción | Motivo |
Nivel | 1 |
Utilizado | Si |
Obrigatório | Si |
Browse | No |
Opciones | |
When |
|
Relación |
|
Val. Sistema |
|
Help | Motivo por el que se expide documento. |
Campo | F2_TIPREF |
Tipo | Caracter |
Tamaño | 1 |
Decimal | 0 |
Formato | @! |
Título | Tipo Nota D |
Descripción | Tipo de Nota de Debito |
Nivel | 1 |
Utilizado | Si |
Obrigatório | Si |
Browse | No |
Opciones | |
When |
|
Relación |
|
Val. Sistema |
|
Help | Tipo de Nota de Debito según la SUNAT. |
Campo | F2_NFREF |
Tipo | Caracter |
Tamaño | 8 |
Decimal | 0 |
Formato | @! |
Título | Documento Ref |
Descripción | Documento de Referencia |
Nivel | 1 |
Utilizado | Si |
Obrigatório | Si |
Browse | No |
Opciones | |
When |
|
Relación |
|
Val. Sistema |
|
Help |
|
Campo | F2_SERREF |
Tipo | Caracter |
Tamaño | 8 |
Decimal | 0 |
Formato | @! |
Título | Serie Ref |
Descripción | Serie Referencia |
Nivel | 1 |
Utilizado | Si |
Obrigatório | Si |
Browse | No |
Opciones | |
When |
|
Relación |
|
Val. Sistema | MT485VLDNF(M->F2_NFREF, M->F2_SERREF, M->F2_CLIENTE, M->F2_LOJA) |
Help |
|
3. Modificación de Campos en el archivo SX3 – Campos:
Tabla SF1 - Encabezado de NF de Entrada:Campo | F1_NUMAUT |
Tipo | Caracter |
Tamaño | 37 |
Decimal | 0 |
Formato | @E 9999999999999999999999999999999999999 |
Título | Núm. Autoriz |
Descripción | Número de Autorización |
Nivel | 1 |
Utilizado | Si |
Obrigatório | No |
Browse | No |
Opciones | |
When |
|
Relación |
|
Val. Sistema |
|
Help |
|
Tabla SF2 - Encabezado de NF de Salida:
Campo | F2_NUMAUT |
Tipo | Caracter |
Tamaño | 37 |
Decimal | 0 |
Formato | @E 9999999999999999999999999999999999999 |
Título | Núm. Autoriz |
Descripción | Número de Autorización |
Nivel | 1 |
Utilizado | Si |
Obrigatório | No |
Browse | No |
Opciones | |
When |
|
Relación |
|
Val. Sistema |
|
Help |
|
Importante:
El tamaño de los campos que disponen de grupo puede variar de acuerdo con el entorno en uso.
4. Creación de Parámetros en el archivo SX6 – Parámetros:
Nombre de la Variable | MV_SIGNAWS |
Tipo | Caracter |
Descripción | URL de los WebServices del TSS |
Valor Estándar |
|
Nombre de la Variable | MV_SIGNADM |
Tipo | Caracter |
Descripción | Email del administrador del sistema Signature |
Valor Estándar |
|
Nombre de la Variable | MV_SIGNUSR |
Tipo | Caracter |
Descripción | Usuario del sistema SIGNATURE |
Valor Estándar |
|
Nombre de la Variable | MV_SIGNPAS |
Tipo | Caracter |
Descripción | Password del Usuario del sistema SIGNATURE |
Valor Estándar |
|
CONFIGURACIÓN DE PARÁMETROS
En el Configurador (SIGACFG), acceda a Entornos/Archivos/Parámetros (CFGX017). Configure los parámetros a continuación:
Ítems/Carpetas | Descripción |
Nombre: | MV_SIGNADM |
Tipo: | Caracter |
Cont. Esp.: | Ej. admin@totvs,com.br |
Descripción: | Email del administrador del sistema Signature |
Ítems/Carpetas | Descripción |
Nombre: | MV_SIGNUSR |
Tipo: | Caracter |
Cont. Esp.: | admin |
Descripción: | Usuario del sistema SIGNATURE |
Ítems/Carpetas | Descripción |
Nombre: | MV_SIGNPAS |
Tipo: | Caracter |
Cont. Esp.: | Ej. Tilkkkxv |
Descripción: | Password del Usuario del sistema SIGNATURE |
Ítems/Carpetas | Descripción |
Nombre: | MV_CFDDOCS |
Tipo: | Caracter |
Cont. Esp.: | GetSrvProfString('startpath','')+'\cfd\facturas\' |
Descripción: | Directorio donde se graban las facturas electrónicas |
CONFIGURACIÓN DE MENÚS
2. En el Configurador (SIGACFG), acceda a Entornos/Archivo/Menú (CFGX013). Informe la nueva opción de menú del informe el nombre del módulo, conforme las instrucciones a continuación:
Menú | Actualizaciones |
Submenú | Facturación |
Nombre de la Rutina | Transmisión Electrónica |
Programa | MATA485 |
Módulo | Facturación |
Tipo | Función de Protheus |
Es indispensable realizar la configuración de los parámetros siguientes que fueron creados por el compatibilizador: MV_SIGUSR, MV_SIGNPAS. El primero contendrá el usuario para conectar a SIGNATURE y el segundo la contraseña encriptada. Estos datos son proporcionados por SIGNATURE y son diferentes por cliente.
Procedimiento de Autorización de Documento Electrónico
En el módulo Facturación (SIGAFAT), en el menú Actualizaciones, dentro del grupo Facturación, y a través de alguna de las rutinas siguientes:
Descripción: | M485NCC.- Adicionar información que no es obligatoria ante la SUNAT para el documento de Nota de Crédito. | ||||||||
Ubicación: | Actualizaciones / Facturación/Transmisión Electrónica | ||||||||
Eventos: | Transmitir | ||||||||
Programa Fuente: | NFAEXMLPER.PRW | ||||||||
Función: | NFAEXmlPER | ||||||||
Respuesta: |
|
Ejemplo:
#Include 'Protheus.ch'
User Function M485NCC()
Local cXML := ""
Local cCRLF := (chr(13)+chr(10) )
Local cFilDoc := PARAMIXB[1] // Filial
Local cNumDoc := PARAMIXB[2] // Número de Documento
Local cSerieDoc:= PARAMIXB[3] // Serie
Local cEspDoc := PARAMIXB[4] // Especie
Local cCodCli := PARAMIXB[5] // Código de Cliente
Local cCodLoj := PARAMIXB[6] // código de tienda
cXML += '<Personalizados>' + cCRLF
cXML += ' <campoNumero name="CampoNumerico">1</campoNumero>' + cCRLF
cXML += ' <campoString name="CampoTexto">Esto es un texto</campoString>' + cCRLF
cXML += ' <campoFecha name="CampoTexto">2016-01-31</campoFecha>' + cCRLF
cXML += '</Personalizados>' + cCRLF
Return cXML
Descripción: | M485NDC.- Adicionar información que no es obligatoria ante la SUNAT para el documento de Nota de Débito. | ||||||||
Ubicación: | Actualizaciones / Facturación/Transmisión Electrónica | ||||||||
Eventos: | Transmitir | ||||||||
Programa Fuente: | NFAEXMLPER.PRW | ||||||||
Función: | NFAEXmlPER | ||||||||
Respuesta: |
|
Ejemplo:
#Include 'Protheus.ch'
User Function M485NDC()
Local cXML := ""
Local cCRLF := (chr(13)+chr(10) )
Local cFilDoc := PARAMIXB[1] // Filial
Local cNumDoc := PARAMIXB[2] // Número de Documento
Local cSerieDoc:= PARAMIXB[3] // Serie
Local cEspDoc := PARAMIXB[4] // Especie
Local cCodCli := PARAMIXB[5] // Código de Cliente
Local cCodLoj := PARAMIXB[6] // código de tienda
cXML += '<Personalizados>' + cCRLF
cXML += ' <campoNumero name="CampoNumerico">1</campoNumero>' + cCRLF
cXML += ' <campoString name="CampoTexto">Esto es un texto</campoString>' + cCRLF
cXML += ' <campoFecha name="CampoTexto">2016-01-31</campoFecha>' + cCRLF
cXML += '</Personalizados>' + cCRLF
Return cXML
Descripción: | M485NF.- Adicionar información que no es obligatoria ante la SUNAT para el documento de Factura Electrónica y Boleta de Venta. | ||||||||
Ubicación: | Actualizaciones / Facturación/Transmisión Electrónica | ||||||||
Eventos: | Transmitir | ||||||||
Programa Fuente: | NFAEXMLPER.PRW | ||||||||
Función: | NFAEXmlPER | ||||||||
Respuesta: |
|
Ejemplo:
#Include 'Protheus.ch'
User Function M485NF()
Local cXML := ""
Local cCRLF := (chr(13)+chr(10) )
Local cFilDoc := PARAMIXB[1] // Filial
Local cNumDoc := PARAMIXB[2] // Número de Documento
Local cSerieDoc:= PARAMIXB[3] // Serie
Local cEspDoc := PARAMIXB[4] // Especie
Local cCodCli := PARAMIXB[5] // Código de Cliente
Local cCodLoj := PARAMIXB[6] // código de tienda
cXML += '<Personalizados>' + cCRLF
cXML += ' <campoNumero name="CampoNumerico">1</campoNumero>' + cCRLF
cXML += ' <campoString name="CampoTexto">Esto es un texto</campoString>' + cCRLF
cXML += ' <campoFecha name="CampoTexto">2016-01-31</campoFecha>' + cCRLF
cXML += '</Personalizados>' + cCRLF
Return cXML
Descripción: | M485NF.- Adicionar información que no es obligatoria ante la SUNAT para el documento de Factura Electrónica Exportacion. | ||||||||
Ubicación: | Actualizaciones / Facturación/Transmisión Electrónica | ||||||||
Eventos: | Transmitir | ||||||||
Programa Fuente: | NFAEXMLPER.PRW | ||||||||
Función: | NFAEXmlPER | ||||||||
Respuesta: |
|
Ejemplo:
#Include 'Protheus.ch'
User Function M485NFE()
Local cXML := ""
Local cCRLF := (chr(13)+chr(10) )
Local cFilDoc := PARAMIXB[1] // Filial
Local cNumDoc := PARAMIXB[2] // Número de Documento
Local cSerieDoc:= PARAMIXB[3] // Serie
Local cEspDoc := PARAMIXB[4] // Especie
Local cCodCli := PARAMIXB[5] // Código de Cliente
Local cCodLoj := PARAMIXB[6] // código de tienda
cXML += '<Personalizados>' + cCRLF
cXML += ' <campoNumero name="CampoNumerico">1</campoNumero>' + cCRLF
cXML += ' <campoString name="CampoTexto">Esto es un texto</campoString>' + cCRLF
cXML += ' <campoFecha name="CampoTexto">2016-01-31</campoFecha>' + cCRLF
cXML += '</Personalizados>' + cCRLF
Return cXML
aUPara mayor información de este tema acceder a Generación de documentos electrónicos con TSS