Transmisión de Documentos Tributarios Electrónicos a la SII a través de TSS y Signature.

Características del Requisito

Línea de Producto:

Microsiga Protheus ®  SIGAFAT

Segmento:

Mercado Internacional

Módulo:

SIGAFAT

Rutina:

Rutina

Nombre Técnico

MATA485

Transmisión Electrónica.

Rutina(s) involucrada(s)

Nombre Técnico

NFAEXmlChi

XML de Documentos Fiscales para transmisión Electrónica de Chile.

LocXNFDocumentos Fiscales.
LocxNF2Cálculo de Valores para Nota Fiscal.
UPDMODMICompatibilizador Mercado Internacional (Aplica sólo para versión 11).
UPDFATMICompatibilizador módulo Facturación Mercado Internacional (Aplica sólo para versión 11).
UPDNFCHICompatibilizador Factura Electrónica Chile (Aplica sólo para versión 11).


Clientes de TSS Involucrados

RutinaNombre Técnico
TSSWSSIGNATURECliente de Web Service TSS Signature
NFECFGLOCCliente de Web Service NFECFGLOC


Rutinas TSS Involucradas


Rutina
TSSIntegSignatureWS.prw
TSSIntegSignatureGen.prw
TSSIntegSignature.prw
NFELOC_WSCFGNFELOC.PRW
NFELOC_GEN02.PRW
TSSSignaturePERWF.prw
TSSSIGNATUREPERWSC.prw

Archivo Iniciales:


Parámetro(s):

MV_SIGNADM

MV_SIGNUSR

MV_SIGNAWS

MV_SIGNPAS

MV_TESEXE

MV_CFDDOCS

Punto de Entrada:

M485NF

M485NCC

M485NDC

M485DOCEXP

Llamados vinculados:


Requisito (ISSUE):PCREQ-5714, DMINA-4467 (v 12.1.17)

País(es):

Chile

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):

Windows®/Linux®

Pacote005417 – DMINA-4467 FACTURA ELECTRÓNICA CHILE (Aplica para versiones superiores a 11)

Descripción 

Permitir el envío y recepción de los Documentos fiscales tales como : Factura Electrónica, Factura Exenta, Nota de Crédito y Débito, Guías de despacho y documentos de Exportación (Factura, Nota de crédito y Débito) entre Protheus y TSS.

Importante

(Solo para Microsiga Protheus, versiones anteriores a la 12)

Antes de ejecutar el compatibilizador, UPDMODMI es imprescindible:

  • Realizar la copia de seguridad de la base de datos del producto que ejecutará el compatibilizador (directorio PROTHEUS_DATA\DATA, si es la versión 10, o \PROTHEUS11_DATA\DATA, si es la versión 11) y de los diccionarios de datos SX (directorio PROTHEUS_DATA_SYSTEM, si es la versión 10, o \PROTHEUS11_DATA\SYSTEM, si es la versión 11).
  • Los directorios mencionados anteriormente corresponden a la instalación estándar del Protheus, por lo tanto, deben modificarse de acuerdo con el producto instalado en la empresa.
  • Esta rutina debe ejecutarse de modo exclusivo, es decir, ningún usuario debe estar utilizando el sistema.
  • Si los diccionarios de datos tienen índices personalizables (creados por el usuario), antes de ejecutar el compatibilizador, asegúrese de que están identificados por el nickname. Si el compatibilizador necesita crear índices, los agregará a partir del orden original instalado por el Protheus, lo que podrá ocasionar la superposición de índices personalizados, si no están identificados por el nickname.
  • El compatibilizador debe ejecutarse con la Integridad referencial desactivada*.


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!


  1. En Microsiga Protheus TOTVS Smart Client(si la versión es 10) o ByYou Smart Client (si la versión es 11), digite el UPDMODMI en el campo Programa InicialSe exhibirá una pantalla en la cual se deberá elegir el módulo SIGAFAT- Facturación. Una vez seleccionado dar clic en OK.
    Importante: Para que se actualice correctamente el diccionario de datos, asegúrese de que la fecha del compatibilizador sea igual o superior al 28/03/2016.
  2. Haga clic en OK para continuar.
  3. Después de la confirmación es presentada una ventana para la selección de la empresa en que el diccionario de datos será modificado o es presentada una pantalla para la selección de la actualización a aplicar. Seleccione la opción “Configuración NF, NCC, NCA Electrónico Chile”.
  4. Al confirmar, se muestra un mensaje de advertencia sobre la copia de seguridad y la necesidad de su ejecución de modo exclusivo.
    1. Haga clic en Procesar para iniciar el procesamiento. El primer paso de la ejecución es la preparación de los archivos. 
    1. Se muestra un mensaje explicativo en la pantalla.
    2. A continuación, se muestra la ventana Actualización concluida con el historial (log) de todas las actualizaciones procesadas. En este log de actualización se muestran únicamente los campos actualizados por el programa. El compatibilizador crea los campos que aún no existen en el diccionario de datos.
    3. Haga clic en Grabar para guardar el historial (log) mostrado.
    4. Haga clic en OK para finalizar el procesamiento.


Como premisa, es necesario contar con la correcta instalación de TSS versión 2.61 o superior:

  

  1. 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. Importante: Si la versión de TSS mencionada en este documento no está disponible para su descarga, deberá solicitar con Help Desk el patch correspondiente con las rutinas de TSS mencionadas en la sección Características del Requisito.

    - Verificar la generación  del archivo de Schema (DTE_v1.0.xsd) en la pasta de Schemas de TSS creada durante la instalación.


  2. Configuración de procesamiento.

    Después de la Instalación, configurar y habilitar el Job de procesamiento de los documentos en el archivo appserver.ini de TSS con las siguientes instrucciones:

    ; Sección de declaración del Job

    [WFSIGNATURECHI]

    main= TSSSignatureCHI

    environment=sped


    ;start de job

    [onstart]

    jobs=WFSIGNATURECHI

    En seguida bajar y subir nuevamente el server de  TSS.


  3. Iniciar servicio de Web Services de TSS

    Se debe levantar servicio para iniciar funcionalidad de web services de TSS.

  4. 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.

  5. Verificar el acceso a los Web Services de SIGNATURE.

    El URL para la conexión con Signature, deberá probarse de la siguiente manera: 

    En cualquier explorador de Internet coloque la URL proporcionada por el proveedor Signature. Deberá mostrarse la definición del Web Service con los métodos que lo componen.

    URL de de ejemplo: https://ejournal-qa.signature.cl/signature.xdoc.cl.webservices/core.asmx

 

Procedimiento de Implantación 

  1. Realice la aplicación del paquete de actualizaciones (patch) asociado a este requisito. El patch contiene la actualización de los siguientes fuentes:

 

    • UPDMODMI - Actualización del diccionario de datos (Facturación)
    • UPDFATMI - Actualización del diccionario de datos (Facturación)
    • UPDNFCHI – Actualización diccionario de datos para Chile.
    • MATA485 – Transmisión electrónica
    • LOCXNF – Documentos Fiscales
    • LOCXNF2 - Cálculo de Valores para Nota Fiscal
    • NFAXMLCHI - XML de Documentos Fiscales para Transmisión Electrónica Chile.
    • NFECFGLOC - Cliente de Web Service NFECFGLOC
    • TSSWSSIGNATURE - cliente de Web Services TSSWSSIGNATURE

 

  1. Ejecute UPDMODMI.
  2. Revise la configuración de parámetros creados por el Actualizador.
  3. Configure rutina en el menú correspondiente.
  4. Ejecute procedimiento de Transmisión de Documentos Electrónicos.


Actualizaciones del Compatibilizador 

  1.  Creación de Preguntas en el archivo SX1 – Archivo de Preguntas:

    GRUPO: MATA485

Orden

01

02

Pregunta

¿Tipo de Documento? ¿Serie?

Tipo

C

C

Tamaño

1

3

Objeto

Get

Get

Consulta Estándar

No aplica

SERNF
Pre selección1
Opciones

Factura.

Nota de Débito.

Nota de Crédito.

Guía Despacho.



GRUPO: MATA485A

Orden

01

0203

Pregunta

¿Serie de la Factura? ¿Factura Inicial?¿Factura Final?

Tipo

C

CC

Tamaño

3

1313

Objeto

Get

GetGet

Consulta Estándar

SERNF

No aplicaNo aplica
ValidaciónNo aplicaNo aplica!Empty(MV_PAR03) .And. MV_PAR02<=MV_PAR03


GRUPO: MATA485B

Orden

01

0203

Pregunta

¿Serie de la Nota de Débito?¿Nota de Débito Inicial?¿Nota de Débito Final?

Tipo

C

CC

Tamaño

3

1313

Objeto

Get

GetGet

Consulta Estándar

SERNF

No aplicaNo aplica
ValidaciónNo aplicaNo aplica!Empty(MV_PAR03) .And. MV_PAR02<=MV_PAR03


GRUPO: MATA485C

Orden

01

0203

Pregunta

¿Serie de la Nota de Crédito?¿Nota de Crédito Inicial?¿Nota de Crédito Final?

Tipo

C

CC

Tamaño

3

1313

Objeto

Get

GetGet

Consulta Estándar

SERNF

No aplicaNo aplica
ValidaciónNo aplicaNo aplica!Empty(MV_PAR03) .And. MV_PAR02<=MV_PAR03


GRUPO: MATA485D

Orden

01

0203

Pregunta

¿Serie de la Guía de Despacho?¿Guía de Despacho Inicial?¿Guía de Despacho Final?

Tipo

C

CC

Tamaño

3

1313

Objeto

Get

GetGet

Consulta Estándar

SERNF

No aplicaNo aplica
ValidaciónNo aplicaNo aplica!Empty(MV_PAR03) .And. MV_PAR02<=MV_PAR03



2.  Creación de Campos en el archivo SX3 – Campos:

  • Tabla SF1 - Encabezado de NF de Entrada:


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

Caracter

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 Ref.

Descripción

Tipo de Referencia

Nivel

1

Utilizado

Si

Obrigatório

Si

Browse

No

Opciones

 1= Anula Documento de Referencia; 2= Corrige Texto Documento de Referencia; 3=Corrige montos

When


Relación


Val. Sistema


Help

Tipo de Referencia:
1: Anula Documento de Referencia
2:Corrige Texto Documento de Referencia
3:Corrige monto


  • Tabla SF2 - Encabezado de NF de Salida:


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

Caracter

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 Ref.

Descripción

Tipo de Referencia

Nivel

1

Utilizado

Si

Obrigatório

Si

Browse

No

Opciones

 1= Anula Documento de Referencia; 2= Corrige Texto Documento de Referencia; 3=Corrige montos

When


Relación


Val. Sistema


Help

Tipo de Referencia:
1: Anula Documento de Referencia
2:Corrige Texto Documento de Referencia
3:Corrige monto

Campo

F2_ESPREF

Tipo

Caracter

Tamaño

3

Decimal

0

Formato

@!

Título

Especie Ref

Descripción

Especie Referencia

Nivel

1

Utilizado

Si

Obrigatório

Si

Browse

No

Opciones

 NF=Factura; NCC=Nota de Credito

When


Relación


Val. Sistema


Help

Indica la especie que aplica el documento de referencia.

Campo

F2_NFREF

Tipo

Caracter

Tamaño

13

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


Grupo de Campos018 - Documento de Entrada/Salida.

Help

Documento ligado a la Nota de Débito

Campo

F2_SERREF

Tipo

Caracter

Tamaño

3

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

IIf(!Empty(M->F2_SERREF), MT485VLDNF(M->F2_NFREF,M->F2_SERREF,M->F2_CLIENTE,M->F2_LOJA,M->F2_ESPREF), .T.)

Grupo de Campos094 - Número de Control de Documentos Fiscales.

Help

Serie del Documento de Referencia

Campo

F2_MODVEN

Tipo

Caracter

Tamaño

1

Decimal

0

Formato

@!

Título

Mod. Venta

Descripción

Modalidad de la Venta

Nivel

1

Utilizado

Si

Obrigatorio

No

Browse

No

Opciones

1=FIRME; 2=BAJO COND; 3=CONS-LIBRE; 4=CONS-M.F.; 9=SIN PAGO

When


Relación

'1'

Val. Sistema


Help

Código de la modalidad de la venta de acuerdo con la SII. Aplica solo para

Documentos de Exportación.


  • Tabla SFB - Impuestos Variables

Campo

FB_CODIMP

Tipo

C

Tamaño

3

Decimal

0

Picture

 @!

Contexto

Real

Propiedad

Modificar

Título

Cod. Impuesto

Descripción

Código de Impuesto

Help de Campo

Código del del impuesto según SII

Lista


Inicializa Estd


Validación


Uso

Usado


  • Tabla SC5 - Pedidos de Venta

Campo

C5_MODVEN

Tipo

Caracter

Tamaño

1

Decimal

0

Formato

@!

Título

Mod. Venta

Descripción

Modalidad de la Venta

Nivel

1

Utilizado

Si

Obrigatorio

No

Browse

No

Opciones

1=FIRME; 2=BAJO COND; 3=CONS-LIBRE; 4=CONS-M.F.; 9=SIN PAGO

When


Relación

'1'

Val. Sistema

PERTENCE('12349')

Help

Código de la modalidad de la venta de acuerdo con la SII. Aplica solo para

Documentos de Exportación.


  • Tabla SA1 - Clientes

Campo

A1_TIPDOC

Tipo

Caracter

Tamaño

2

Decimal

0

Formato


Título

Tipo Doc.

Descripción

Tipo Documento Identidad

Nivel

1

Utilizado

Si

Obrigatorio

Si

Browse

No

Opciones


When


Consulta

TB

Val. Sistema

ExistCpo("SX5","TB"+M->A1_TIPDOC)

Help

Informe el tipo de documento.




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

Número de Autorización


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

Número de Autorización


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


Nombre de la Variable

MV_TESEXE

Tipo

Caracter

Descripción

 TES utilizada para factura Exenta  de IVA

Valor Estándar


Nombre de la Variable

MV_CFDDOCS

Tipo

Caracter

Descripción

Directorio donde se graban las facturas electrónicas

Valor Estándar




Procedimiento de Configuración

CONFIGURACIÓN DE PARÁMETROS

 

  1. 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.:

Ej. cexfh590-6430-437d-812g-49a590ca5500

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_TESEXE

Tipo:

Caracter

Cont. Esp.:

503,506,607

Descripción:

 TES utilizada para factura Exenta  de IVA

Í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


NOTA: MV_SIGNUSR  y  MV_SIGNPAS son proporcionados al cliente por  SIGNATURE, son únicos y confidenciales. 


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

Procedimiento de Utilización 

  1. Es indispensable realizar la configuración de los parámetros siguientes que fueron creados por el compatibilizador: MV_SIGNUSR, 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.


  2. La carpeta en el servidor definida en el parámetro MV_CFDDOCS debe ser una ruta existente, los nombres de las carpetas en la ruta no deben contener espacios intermedios; por ejemplo, se puede emplear la expresión GetSrvProfString('startpath','') la cual devuelve la ruta del System del ambiente donde está instalado Protheus. Ejemplo: GetSrvProfString('startpath','')+'\cfd\facturas\'. Esta carpeta contendrá los archivos de aquellos documentos que son autorizados por la SII, tanto el xml enviado como el xml autorizado, así mismo el PDF para impresión.

  3. Si el cliente emite facturas Exentas, debe configurarse el contenido del parámetro MV_TESEXE.  De lo contrario, estas serán identificadas como facturas normales y recibirá rechazo del documento por parte de la SII.
  4. SIGNATURE debe proporcionar el URL para envío de documentos ya que esta es personalizada por cada cliente. Así mismo el Área de conexión y la contraseña de la misma para autenticar la conexión para envío de documentos.
  5. Cancelación de Documentos Electrónicos: SIGNATURE no cuenta con un Web Service para realizar este procedimiento, este proceso debe realizarse de manera manual en el portal de la SII.
  6. El certificado Digital emitido por la SII, es administrado exclusivamente por SIGNATURE por lo tanto, ni Protheus ni TSS necesitan dicho archivo para la ejecución del proceso de Transmisión de documentos electrónicos.

 

 Procedimiento de Autorización de Documento Electrónico


  1. 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:

 

    • Facturación (MATA467N); registre varias facturas de ventas.
    • Facturación automática (MATA468N); facture algunos pedidos o guías de despacho.
    • Notas de crédito (MATA465N); capture algunas notas de crédito/débito.

Podrán generarse los registros correspondientes a cada documento.


  1. Ingresar a la opción Transmisión Electrónica, en la ruta del menú “SIGAFAT | Actualizaciones | Facturación | Transmisión Electrónica” .
  2. En los parámetros de inicio, indique el tipo de documento a revisar (Factura, Nota de Crédito, Nota de Débito o Guía de Despacho), informe además la serie de los documentos a visualizar.
  3. La rutina muestra el browse con los documentos acorde a los parámetros.
  4. La primera vez que se accede a la rutina, es necesario realizar la configuración de conexión con TSS. Para ello, seleccione la opción de Configuración del menú de la rutina. Registre la URL donde están ubicados los WS de TSS, URL de conexión a los Web Services de SIGNATURE, área y la contraseña de conexión ambos datos proporcionados por SIGNATURE. Seleccione la opción “Avanzar”,  y espere el mensaje que puede ser exitoso o de falla. Este paso solo es necesario la primera vez o en caso de que algunos de los datos informados cambie.
  5. Dentro de la misma rutina, se debe configurar el ambiente con el cuál TSS estará transmitiendo los documentos. Del menú de la rutina Transmisión Electrónica, seleccione la opción Ambiente.  Podrá seleccionar entre 1-Produccion 2-Homologación, este último es para hacer la transmisión de los documento a un ambiente de pruebas de SIGNATURE. Una vez seleccionado el ambiente recibirá confirmación de la selección en pantalla.
  6. Si los pasos anteriores, dieron como resultado un mensaje de éxito, entonces puede comenzar a transmitir documentos a TSS. Para ello, del menú de la rutina Transmisión Electrónica, seleccione la opción Transmitir.  En el diálogo, se indica el propósito de la opción así como el botón de parámetros.  Seleccione botón de Parámetros, registre la serie y el número inicial y final de los documento que serán transmitidos. De clic Ok, para confirmar los datos. Después clic Ok, para iniciar el proceso de transmisión, si no existe problema con los XML generados, enviara un mensaje de éxito, indicando que los documentos fueron encolados entre los documentos a transmitir por TSS a SIGNATURE a través del Job.
  7. Para observar si los documentos fueron autorizados por la SII, seleccione del menú la opción Monitor. Configure los parámetros de visualización. Registre la serie y el numero inicial y final de los documento que quiere monitorear, de clic en Ok. Podrá visualizar los documentos con los posibles status :

 

    • Azul – Recibido (Esta en TSS, pendiente de ingresar al proceso de timbrado)
    • Amarillo  – Esperando ser procesada (En proceso de timbrado). 
    • Rojo – Documento rechazado. 
    • Verde – Documento autorizado

En este monitor visualiza la fecha y hora de autorización del documento por la SII. En caso de documentos rechazados, se muestran las observaciones realizadas por la SII y la recomendación correspondiente.

8. Dentro de la funcionalidad del monitor, se encuentra la visualización del XML autorizado por la SII. Para visualizar XML autorizado, dé clic en el botón Schema ubicado en la parte inferior de la opción Monitor. El XML será desplegado siempre y cuando el documento seleccionado haya sido aprobado por la SII, de lo contrario se indica al usuario que la visualización no está disponible.

9. Al salir de la opción monitor con el botón OK, se detona la actualización de todos los documentos con la información obtenida de TSS hacia Protheus. Para el caso de los documentos autorizados, en la carpeta configurada en el parámetro MV_CFDDOCS  se genera el XML autorizado y el PDF de representación impresa de cada documento.



Punto de Entrada

Descripción:

M485DOCEXP.- Identificar si el documento es de exportación o no.

Ubicación:

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

Eventos:

Transmisión Electrónica

Programa Fuente:

NFAEXMLCHI.PRW

Función:

NFAEXmlCHI

Respuesta:

Nombre

Tipo

Descripción

Obligatorio

 lRet

L

Indica si el documento es de Exportación

Si

 




 

Ejemplo:

#Include 'Protheus.ch'

User Function M485DOCEXP()

Local lRet          := .F.

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

            

If alltrim(cSerieDoc) $"B*E*W*Y"

       lRet := .T.               

EndIf      

Return lRet


Descripción:

M485NCC.- Adicionar información que no es obligatoria ante la SII para el documento de Nota de Crédito.

Ubicación:

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

Eventos:

Transmitir

Programa Fuente:

NFAEXMLCHI.PRW

Función:

NFAEXmlCHI

Respuesta:

Nombre

Tipo

Descripción

Obligatorio

cXML


Caracter

Cadena XML con los datos adicionales según se describe en ejemplo

Si







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 SII para el documento de Nota de Débito.

Ubicación:

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

Eventos:

Transmitir

Programa Fuente:

NFAEXMLCHI.PRW

Función:

NFAEXmlCHI

Respuesta:

Nombre

Tipo

Descripción

Obligatorio

cXML


Caracter

Cadena XML con los datos adicionales según se describe en ejemplo


Si







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 SII para el documento de Factura Electrónica y Guía de Despacho.

Ubicación:

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

Eventos:

Transmitir

Programa Fuente:

NFAEXMLCHI.PRW

Función:

NFAEXmlCHI

Respuesta:

Nombre

Tipo

Descripción

Obligatorio

cXML


Caracter

Cadena XML con los datos adicionales según se describe en ejemplo


Si







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:

M485REFNF.- Referenciar los documentos asociados( Orden de Compra, Guía de Despacho, etc) a la Factura o Guía de Despacho.

Ubicación:

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

Eventos:

Transmitir

Programa Fuente:

NFAEXMLCHI.PRW

Función:

NFAEXmlCHI

Respuesta:

Nombre

Tipo

Descripción

Obligatorio

cXML


Caracter

Cadena XML con la referencia de los documentos asociados.

Si





Ejemplo:

#Include 'Protheus.ch'


User Function M485REFNF()

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

Local cAlias := getNextAlias()

Local cQuery := ""

Local cGuiaD := ""

Local cPV   := ""

Local cPC   := ""

Local nJ            := 0

Local aArea := getArea()

Local aRef   := {}

Local aGuiaD := {}

Local aPV   := {}

Local aPC   := {}

Local nK            := 0

      

            

cQuery := " SELECT D2_DOC,D2_SERIE,D2_PEDIDO,D2_ÍTEMPV,C6_NUMPCOM,C6_ÍTEMPC "

cQuery += " FROM "+RetSqlName("SD2")+" SD2, "+RetSqlName("SC6")+" SC6 "

cQuery += " WHERE SD2.D2_FILIAL='"+xFilial("SD2")+"' AND SD2.D_E_L_E_T_='' "

cquery += " AND SD2.D2_DOC IN "

cQuery += " (SELECT D2_REMITO "

cQuery +="   FROM "+RetSqlName("SD2")

cQuery +="   WHERE D2_FILIAL='"+xFilial("SD2")+"' AND D_E_L_E_T_='' "

cquery +="   AND D2_DOC='"+cNumDoc+"' AND D2_SERIE='"+cSerieDoc+"' AND D2_REMITO<>'' GROUP BY D2_REMITO) "

cQuery += " AND SD2.D2_SERIE='R' AND SC6.C6_FILIAL='"+xFilial("SC6")+"' "

cQuery += " AND SC6.D_E_L_E_T_='' AND SC6.C6_NUM = SD2.D2_PEDIDO AND SC6.C6_ÍTEM=SD2.D2_ÍTEMPV "

      

cQuery:=ChangeQuery(cQuery)

DbUseArea(.T., "TOPCONN", TCGenQry(,,cQuery), cAlias, .T., .F.)

            

(cAlias)->(dbgoTop())

      

If (cAlias)->(Eof())

            

       (cAlias)->(DbCloseArea())

            

       cQuery := " SELECT D2_DOC,D2_SERIE,D2_PEDIDO,D2_ÍTEMPV,C6_NUMPCOM,C6_ÍTEMPC "

       cQuery += " FROM "+RetSqlName("SD2")+" SD2, "+RetSqlName("SC6")+" SC6 "

       cQuery += " WHERE SD2.D2_FILIAL='"+xFilial("SD2")+"' AND SD2.D_E_L_E_T_='' "

       cQuery += " AND SD2.D2_DOC ='"+cNumDoc+"' AND SD2.D2_SERIE='"+cSerieDoc+"'"

       cQuery += " AND SC6.C6_FILIAL='"+xFilial("SC6")+"' AND SC6.D_E_L_E_T_='' "

       cQuery += " AND SC6.C6_NUM = SD2.D2_PEDIDO AND SC6.C6_ÍTEM=SD2.D2_ÍTEMPV"

            

       cQuery:=ChangeQuery(cQuery)

       DbUseArea(.T., "TOPCONN", TCGenQry(,,cQuery), cAlias, .T., .F.)

            

       (cAlias)->(dbgoTop())


EndIf

      

/* llenar aRef de la siguiente manera:

             1. Tipo documento REF             -> 52 Guia Despacho | 801 Orden de Compra

             2. Número de la referenica -> D2_DOC

             3. Fecha de Referencia            -> D2_EMISSAO con formato AAAA-MM-DDT00:00:00Z

             4. Código de Referencia    -> Dejar en blanco

             5. Razón de la Referencia  -> Dejar en blanco o colocar mensaje Genérico

      

*/

Do While (cAlias)->(!Eof())

       If aScan(aGuiaD,{|x| x[1] == (cAlias)->D2_DOC }) == 0

             aAdd(aGuiaD,{(cAlias)->D2_DOC})

             aAdd(aRef,{"52",;

                    (cAlias)->D2_DOC,;

                                        SUBSTR((cAlias)->D2_EMISSAO,0,4) + "-"+ SUBSTR((cAlias)->D2_EMISSAO,5,2) +"-" +"T00:00:00Z",;

                                        "",;

                                        ""})

       EndIf

       If aScan(aPC,{|x| x[1] == (cAlias)->C6_NUMPCOM }) == 0 .AND. !Empty((cAlias)->C6_NUMPCOM)

                    aAdd(aPC,{(cAlias)->C6_NUMPCOM})

                    aAdd(aRef,{"801",;

                                        (cAlias)->D2_DOC,;

                                        SUBSTR((cAlias)->D2_EMISSAO,0,4) + "-"+ SUBSTR((cAlias)->D2_EMISSAO,5,2) +"-" +"T00:00:00Z",;

                                        "",;

                                        ""})

       EndIf

       (cAlias)->(DbSkip()

EndDo

   

cAlias)->(DbCloseArea())


      

For nK := 1 to len (aRef)

             cXML += '    <Referencia>'+ cCRLF

             cXML += '           <NroLinRef>'+ alltrim(STR(nK))+'</NroLinRef>'+ cCRLF

             cXML += '           <TpoDocRef>' + aRef[nK,1] + '</TpoDocRef>'+ cCRLF

             cXML += '           <NumeroRef>'+ aRef[nK,2] + '</NumeroRef>'+ cCRLF

             cXML += '           <FechaRef>' + aRef[nK,3] + '</FechaRef>'+ cCRLF

             cXML += '           <RazonRef>' + aRef[nK,5] + '</RazonRef>'+ cCRLF

             cXML += '    </Referencia>'+ cCRLF                  

Next  

      

RestArea(aArea)

Return cXML