ÍNDICE
- Visión general.
- Parámetros.
- Consideraciones Previas.
- Transmisión Síncrona.
- Transmisión Asíncrona.
- Firma en trasmisión asíncrona.
- Envío en trasmisión asíncrona.
- Consulta de lote( solo aplica en trasmisión asíncrona).
- Cancelación.
- Inutilización.
- 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ón | Descripción | Valor ejemplo |
---|---|---|
1 | Número de timbrado. | 12557596 |
2 | Número de establecimiento. | 001 |
3 | Número punto de expedición. | 001 |
4 | Número Inicio del rango del documento. | 0010065 |
5 | Número Final del rango del documento. | 0010065 |
6 | Tipo de Documento Electrónico | 1 De acuerdo al manual 1= Factura electrónica |
7 | Motivo 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ámetro | Valor 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ámetro | Valor 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ámetro | Valor 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ámetro | Valor 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ámetro | Valor 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ámetro | Valor 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ámetro | Valor 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ámetro | Valor 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