Árvore de páginas


ÍNDICE

  1. Visión general.
  2. Parámetros.
  3. Consideraciones Previas.
  4. Transmisión Síncrona.
  5. Transmisión Asíncrona.
    1. Firma en trasmisión asíncrona.
    2. Envío en trasmisión asíncrona.
    3. Consulta de lote( solo aplica en trasmisión asíncrona).
  6. Cancelación.
  7. Inutilización.
  8. Asuntos relacionadas.  


01. Visión general

Se describe de forma general el envió de parámetros, que recibe el ejecutable "SIFENWS.exe" para poder realizar el envió de documentos a la SET y obtener respuesta de dicho envió. 


02. Parámetros 

Parámetro

Descripción

Ejemplo

cFilePath       (Parámetro[1])

Ruta donde se encuentra la carpeta SIFENWS

C:\Protheus\binarios\2310\smartclient

cFile              (Parámetro[2])

Nombre del archivo XML a firmar

FE_v150_Envio.xml

cFileCert       (Parámetro[3])

Nombre del certificado

Nota: el certificado debe ser extensión “pfx”

Dede estar en la ruta informada en el parámetro[1]

certificado.pfx

cClave           (Parámetro[4])

Contraseña del certificado

Pass123

cAmbiente     (Parámetro[5])

Indica si el ambiente es de testeo(T) o producción(P)

Valores “T” o “P”

T

cNum             (Parámetro[6])

Identificado del control de envió de factura electrónica(consecutivo interno)

1

cIdCSC          (Parámetro[7])

Identificador del código secreto del contribuyente lo proporciona la SET

001

cCSC             (Parámetro[8])

Código secreto del contribuyente lo proporciona la SET

ABCD0000000000000000000000000000                                                                                                                                                                                                                          

cAccion          (Parámetro[9])

Acción: transmitir(T) cancelar (CA) e inutilización (INU)

Valores “T” , “CA” e “INU”

T

cCDC             (Parámetro[10])

UUID o CDC del documento

01800148681001001001032612024051710017714693

cTIPTRAN      (Parámetro[11])

Tipo de transmisión  asíncrona(A) síncrona(S)

Valores “A” ,“S”  , “ZIP” y “CONSULTA”

 Cuando el valor es “ZIP” es para el comprimir del xmllote y enviar.

Cuando el valor es “CONSULTA” no se necesita un XML el ejecutable crea uno con el numero(este número es retornado por la SET cuando se hace el envió del lote ) que se envía para consulta


Nota: los valores ZIP y CONSULTA son usados solo en modo asíncrono.

S

cLote              (Parámetro[12])

Número del lote (es de control interno)


cuando se usa la transmisión asíncrona antes del envió primero se firma el xml debe ir como “\”

cuando se usa la transmisión asíncrona y se va enviar el xml final se informa el numero de lote


cuando es transmisión síncrona se deja en X o “\” o se puede informa cualquier cosa

\

cDatos           (Parámetro[13])

Cuando no se usa se deja en X , solo es usado cuando se va inutilizar un documento y lleva una cadena formada de la siguiente manera:

12557596|001|001|0010331|0010331|1

Revisar tabla de inutilización mostrada abajo

X

Cuando es inutilizado un documento

Valor =

12557596|001|001|0010331|0010331|1

cFecha           (Parámetro[14])

Fecha personalizado en el formato

AAAA-MM-DDThh:mm:ss

Este parámetro es el único que puede ir vació

2024-03-24T16:07:12

Tabla de inutilización 

Se crea una cadena donde los datos son separados por "|" cada dato; usando el ejemplo de la cadena "12557596|001|001|0010331|0010331|1" cada dato corresponde a los datos que muestran a continuación 

PosiciónDescripciónValor ejemplo
1Número de timbrado.12557596
2Número de establecimiento.001
3Número punto de expedición.001 
4Número Inicio del rango del documento.0010065
5Número Final del rango del documento.0010065
6Tipo de Documento Electrónico

1

De acuerdo al manual

1= Factura electrónica
2= Factura electrónica de exportación
3= Factura electrónica de importación
4= Autofactura electrónica
5= Nota de crédito electrónica
6= Nota de débito electrónica
7= Nota de remisión electrónica
8= Comprobante de retención 
electrónico

7Motivo del Evento.Inutilización 

03. Consideraciones Previas

  • Contar  con permisos de lectura y escritura donde en la ruta donde se encuentra la carpeta “SIFENWS”.
  • En caso de ser necesario agregar  permisos de red y de lectura y escritura al ejecutable que se encuentra SIFENWS.exe que se encuentra dentro de la carpeta  "SIFENWS".

04. Transmisión Síncrona

Al usar este método de transmisión el ejecutable “SIFENWS.exe” toma el xml base(verificar manual técnico para el xml de cada documento):
•    Primero lo firma.
•    Una vez firmado se envía el archivo.
Se debe contar con el XML y este debe estar en la misma ruta donde se encuentra la carpeta del "SIFENWS" como se muestra a continuación:

Ejemplo de cadena de envió de parámetros para transmisión  sin fecha personalizada.

C:\Protheus\binarios\2210\smartclient\ A010010010010336NF.xml certificado.pfx SueKoa96# T 609 001 ABCD0000000000000000000000000000 T 01800148681001001001033612024052310025616703 S \ X


Ejemplo de cadena de envió de parámetros  para transmisión con fecha personalizada.

C:\Protheus\binarios\2210\smartclient\ A010010010010336NF.xml certificado.pfx SueKoa96# T 609 001 ABCD0000000000000000000000000000 T 01800148681001001001033612024052310025616703 S \ X 2024-05-23T11:16:12


Al analizar la cadena anterior tenemos lo siguiente

ParámetroValor Ejemplo
cFilePath       (Parámetro[1]) C:\Protheus\binarios\2210\smartclient\
cFile              (Parámetro[2]) A010010010010336NF.xml
cFileCert       (Parámetro[3]) certificado.pfx
cClave           (Parámetro[4]) SueKoa96#
cAmbiente     (Parámetro[5]) T
cNum             (Parámetro[6]) 609
cIdCSC          (Parámetro[7]) 001
cCSC             (Parámetro[8]) ABCD0000000000000000000000000000
cAccion          (Parámetro[9]) T
cCDC             (Parámetro[10]) 01800148681001001001033612024052310025616703
cTIPTRAN      (Parámetro[11]) S
cLote              (Parámetro[12])\
cDatos           (Parámetro[13])X
cFecha           (Parámetro[14])opcional


Para enviar varios documentos en modo síncrono  hay que repetir el proceso de la transmisión síncrona por cada documento.

05. Transmisión Asíncrona

Antes de realizar el envió se debe firmar el XML 


Firma en trasmisión asíncrona

1.- En la carpeta donde se encuentra la carpeta "SIFENWS" se debe crear una carpeta(carpeta lote debe crearse con el nombre del consecutivo interno asignado a los lotes) que contendrá todos los xml del lote(el lote es un xml que agrupa todos lo xml que se enviaran) .

2.- Dentro de la carpeta lote pueden ir varios xml y estos se firman uno a uno mediante la ejecución del SIFENWS.EXE (uno a la vez).

Ejemplo de cadena para envió de parámetros  en el firmado (modo asíncrono)

C:\Protheus\binarios\2210\smartclient\ A010010010010336NF.xml certificado.pfx SueKoa96# T 609 001 ABCD0000000000000000000000000000 T 01800148681001001001033612024052310025616703 A 0000000000000047\ X 2024-05-23T11:16:12


Al analizar la cadena anterior tenemos lo siguiente

ParámetroValor Ejemplo
cFilePath       (Parámetro[1]) C:\Protheus\binarios\2210\smartclient\
cFile              (Parámetro[2]) A010010010010336NF.xml
cFileCert       (Parámetro[3]) certificado.pfx
cClave           (Parámetro[4]) SueKoa96#
cAmbiente     (Parámetro[5]) T
cNum             (Parámetro[6]) 609
cIdCSC          (Parámetro[7]) 001
cCSC             (Parámetro[8]) ABCD0000000000000000000000000000
cAccion          (Parámetro[9]) T
cCDC             (Parámetro[10]) 01800148681001001001033612024052310025616703
cTIPTRAN      (Parámetro[11]) A
cLote              (Parámetro[12])

0000000000000047\

Número de lote de control interno

cDatos           (Parámetro[13])X
cFecha           (Parámetro[14])opcional


3.-El xml queda firmado y guardado en la misma carpeta de donde se tomó, si existen varios documentos hay que firmar  cada documento.

4.- Una vez firmado  se debe tomar todos lo xml firmados para crear un solo XML (de acuerdo a la documentación) llamado XML lote el cual contiene todos los xml firmados.
Nota: este proceso se hace por el ERP  (la generación del xml lote) no lo realiza el "SIFENWS.exe."


 Envío en trasmisión asíncrona

Una vez que se tiene el XML lote el ejecutable lo comprime y lo envía a la SET .

Ejemplo de cadena para envió de parámetros  comprimido y envió del xml lote (modo asíncrono).

C:\Protheus\binarios\2210\smartclient\ 0000000000000047.xml certificado.pfx SueKoa96# T 609 001 ABCD0000000000000000000000000000 T 0000000000000047 ZIP 0000000000000047 X 2024-05-23T11:16:12


Al analizar la cadena anterior tenemos lo siguiente

ParámetroValor Ejemplo
cFilePath       (Parámetro[1]) C:\Protheus\binarios\2210\smartclient\
cFile              (Parámetro[2]) 

0000000000000047.xml

xml lote contiene todos los xml firmados 

cFileCert       (Parámetro[3]) certificado.pfx
cClave           (Parámetro[4]) SueKoa96#
cAmbiente     (Parámetro[5]) T
cNum             (Parámetro[6]) 609
cIdCSC          (Parámetro[7]) 001
cCSC             (Parámetro[8]) ABCD0000000000000000000000000000
cAccion          (Parámetro[9]) T
cCDC             (Parámetro[10]) 

0000000000000047 

Número de lote (uso interno del ERP)

cTIPTRAN      (Parámetro[11]) ZIP
cLote              (Parámetro[12])

0000000000000047 

Número de lote de control interno

cDatos           (Parámetro[13])X
cFecha           (Parámetro[14])opcional


         Internamente el ejecutable realiza lo siguiente al realizar el comprimido y el envió 

En este proceso primero se toma la carpeta lote donde se encuentra el XML lote y realiza lo siguiente:


       1.-El ejecutable comprime el lote.

       2.-Envía el comprimido en xml donde el comprimido se agrega en base64.

       3.- Una vez enviado el ejecutable obtiene una respuesta de la SET y esta es guardada en un xml con el nombre del lote y extensión ".out".

Importante

La respuesta contiene el número de lote con el cuál fue registrado en la SET en el nodo  dProtConsLote, este número debe ser guardado para poder  realizar la consulta del lote enviado y su estatus.


Consulta de lote( solo aplica en trasmisión asíncrona)

Para realizar la consulta del lote transmitido

Ejemplo de cadena de envió de parámetros  para consulta del lote transmitido (modo asíncrono).

C:\Protheus\binarios\2210\smartclient\ 0000000000000048c.xml certificado.pfx SueKoa96# T 611 001 ABCD0000000000000000000000000000 T 0000000000000048 CONSULTA 11539415669723310 X

Al analizar la cadena anterior tenemos lo siguiente

ParámetroValor Ejemplo
cFilePath       (Parámetro[1]) C:\Protheus\binarios\2210\smartclient\
cFile              (Parámetro[2]) 

0000000000000048c.xml

Nota: xml formado para consulta

dicho xml lo crea el ejecutable

cFileCert       (Parámetro[3]) certificado.pfx
cClave           (Parámetro[4]) SueKoa96#
cAmbiente     (Parámetro[5]) T
cNum             (Parámetro[6]) 609
cIdCSC          (Parámetro[7]) 001
cCSC             (Parámetro[8]) ABCD0000000000000000000000000000
cAccion          (Parámetro[9]) T
cCDC             (Parámetro[10]) 

0000000000000048

Número de lote (uso interno del ERP)

cTIPTRAN      (Parámetro[11]) CONSULTA
cLote              (Parámetro[12])

11539415669723310

Número de lote retornado por la SET

cDatos           (Parámetro[13])X
cFecha           (Parámetro[14])opcional aunque se informe no se toma en cuenta para este caso


Se obtiene un archivo(el programa asigna el nombre del lote interno) con extensión “.OUT” de la respuesta; este se guarda en el directorio donde se encuentra la carpeta "SIFENWS"

El archivo contiene el estatus de todos los documentos enviados en el lote ejemplo:


Para mayor información de la transmisión asíncrona consultar el apartado "08. ASUNTOS RELACIONADOS " 


06. Cancelación 

La cancelación es el evento usado para cancelar los documentos ya autorizados; al realizar este proceso no se toma en cuenta el modo de transmisión si es asíncrona o síncrona, es decir funciona de la misma forma para ambos modos de transmisión. 

Ejemplo de cadena de envió de parámetros  para cancelar (modo síncrono).

C:\Protheus\binarios\2210\smartclient\ A010010010010339NF.xml certificado.pfx SueKoa96# T 611 001 ABCD0000000000000000000000000000 CA 01800148681001001001033912024052410014125744 S \ X

Al analizar la cadena anterior tenemos lo siguiente

ParámetroValor Ejemplo
cFilePath       (Parámetro[1]) C:\Protheus\binarios\2210\smartclient\
cFile              (Parámetro[2]) 

A010010010010339NF.xml 

Nota: xml formado para cancelar

dicho xml lo crea el ejecutable

cFileCert       (Parámetro[3]) certificado.pfx
cClave           (Parámetro[4]) SueKoa96#
cAmbiente     (Parámetro[5]) T
cNum             (Parámetro[6]) 611
cIdCSC          (Parámetro[7]) 001
cCSC             (Parámetro[8]) ABCD0000000000000000000000000000
cAccion          (Parámetro[9]) CA
cCDC             (Parámetro[10]) 

01800148681001001001033912024052410014125744 

CDC del documento a cancelar

cTIPTRAN      (Parámetro[11]) S
cLote              (Parámetro[12])

\

cDatos           (Parámetro[13])X
cFecha           (Parámetro[14])opcional


Ejemplo de cadena de envió de parámetros  para cancelar (modo Asíncrono).

C:\Protheus\binarios\2210\smartclient\ A010010010010339NF.xml certificado.pfx SueKoa96# T 611 001 ABCD0000000000000000000000000000 CA 01800148681001001001033912024052410014125744 A 0000000000000049\ X

Al analizar la cadena anterior tenemos lo siguiente

ParámetroValor Ejemplo
cFilePath       (Parámetro[1]) C:\Protheus\binarios\2210\smartclient\
cFile              (Parámetro[2]) 

A010010010010339NF.xml 

Nota: xml formado para cancelar

dicho xml lo crea el ejecutable

cFileCert       (Parámetro[3]) certificado.pfx
cClave           (Parámetro[4]) SueKoa96#
cAmbiente     (Parámetro[5]) T
cNum             (Parámetro[6]) 611
cIdCSC          (Parámetro[7]) 001
cCSC             (Parámetro[8]) ABCD0000000000000000000000000000
cAccion          (Parámetro[9]) CA
cCDC             (Parámetro[10]) 

01800148681001001001033912024052410014125744 

CDC del documento a cancelar

cTIPTRAN      (Parámetro[11]) A
cLote              (Parámetro[12])

0000000000000049\

nota: no importa el valor para este caso puede ser solo "\"

cDatos           (Parámetro[13])X
cFecha           (Parámetro[14])opcional

Para mayor información del evento cancelación consultar el apartado "08. ASUNTOS RELACIONADOS ".


07. Inutilización  

La inutilización  es el evento usado para inutilizar aun no autorizados y que se requieren dejar inutilizados; al realizar este proceso no se toma en cuenta el modo de transmisión si es asíncrona o síncrona, es decir funciona de la misma forma para ambos modos de transmisión. 

Ejemplo de cadena de envió de parámetros  para inutilizar (modo síncrono).

C:\Protheus\binarios\2210\smartclient\ A010010010010331NF.xml certificado.pfx SueKoa96# T 612 001 ABCD0000000000000000000000000000 INU 01800148681001001001033112024052310022584630 S \ 12557596|001|001|0010331|0010331|1

Al analizar la cadena anterior tenemos lo siguiente

ParámetroValor Ejemplo
cFilePath       (Parámetro[1]) C:\Protheus\binarios\2210\smartclient\
cFile              (Parámetro[2]) 

A010010010010339NF.xml 

Nota: xml formado para cancelar

dicho xml lo crea el ejecutable

cFileCert       (Parámetro[3]) certificado.pfx
cClave           (Parámetro[4]) SueKoa96#
cAmbiente     (Parámetro[5]) T
cNum             (Parámetro[6]) 611
cIdCSC          (Parámetro[7]) 001
cCSC             (Parámetro[8]) ABCD0000000000000000000000000000
cAccion          (Parámetro[9]) INU
cCDC             (Parámetro[10]) 

01800148681001001001033112024052310022584630

CDC del documento a inutilizar

cTIPTRAN      (Parámetro[11]) S
cLote              (Parámetro[12])

\

cDatos           (Parámetro[13])

12557596|001|001|0010331|0010331|1

consulta tabla de inutilización para formar datos a enviar

cFecha           (Parámetro[14])opcional


Ejemplo de cadena de envió de parámetros  para inutilizar (modo Asíncrono).

C:\Protheus\binarios\2210\smartclient\ A010010010010331NF.xml certificado.pfx SueKoa96# T 612 001 ABCD0000000000000000000000000000 INU 01800148681001001001033112024052310022584630 A 0000000000000049\ 12557596|001|001|0010331|0010331|1

Al analizar la cadena anterior tenemos lo siguiente

ParámetroValor Ejemplo
cFilePath       (Parámetro[1]) C:\Protheus\binarios\2210\smartclient\
cFile              (Parámetro[2]) 

A010010010010331NF.xml 

Nota: xml formado para inutilizar

dicho xml lo crea el ejecutable

cFileCert       (Parámetro[3]) certificado.pfx
cClave           (Parámetro[4]) SueKoa96#
cAmbiente     (Parámetro[5]) T
cNum             (Parámetro[6]) 611
cIdCSC          (Parámetro[7]) 001
cCSC             (Parámetro[8]) ABCD0000000000000000000000000000
cAccion          (Parámetro[9]) INU
cCDC             (Parámetro[10]) 

01800148681001001001033112024052310022584630

CDC del documento a inutilizar

cTIPTRAN      (Parámetro[11]) A
cLote              (Parámetro[12])

0000000000000049\

nota: no importa el valor para este caso puede ser solo "\"

cDatos           (Parámetro[13])

12557596|001|001|0010331|0010331|1

consulta tabla de inutilización para formar datos a enviar

cFecha           (Parámetro[14])opcional

Para mayor información del evento  inutilizar el apartado "08. ASUNTOS RELACIONADOS ".


08. ASUNTOS RELACIONADOS


DMICNS-14750 DT Transmisión asíncrona PAR 

16237597 DMICNS-16301 DT Generación del XML del evento de cancelación PAR

16158151 DMICNS-16302 DT Evento inutilización PAR

DMICNS-7499 DT Factura Electrónica Paraguay prueba piloto PAR