Skip to main content
JSIFEN uses a properties file to configure the connection to SIFEN’s electronic invoicing system. This guide explains all available configuration options and how to set them up.

Configuration File Location

JSIFEN looks for configuration in the following order:
  1. External configuration (production): Specify the path using the sifen.config system property
  2. Local development: Uses src/main/resources/sifen.properties
1

Create the configuration file

Create a file named sifen.properties with your SIFEN credentials and settings.
2

Configure basic settings

Add the required properties for connecting to SIFEN:
sifen.ambiente=prod
sifen.id-csc=0001
sifen.csc=e5E5BE0B3DA91A5713C0E09f4b2f2208
sifen.keystore.path=/path/to/certificado.p12
sifen.keystore.password=ABCD12345
3

Use external configuration in production

Run your application with the external configuration file:
java -Dsifen.config=/etc/jsifen/sifen.properties -jar quarkus-run.jar

Configuration Parameters

Environment Settings

sifen.ambiente
string
required
The SIFEN environment to connect to.
sifen.ambiente=prod

CSC Credentials

sifen.id-csc
string
required
The CSC identifier provided by SIFEN. This is a unique identifier for your CSC credentials.
sifen.id-csc=0001
sifen.csc
string
required
The CSC (Código de Seguridad del Contribuyente) code provided by SIFEN.
In test environment, this value is automatically replaced with ABCD0000000000000000000000000000 regardless of what you configure.
sifen.csc=e5E5BE0B3DA91A5713C0E09f4b2f2208

Certificate Settings

sifen.keystore.path
string
required
Absolute path to your PKCS12 certificate file (.p12). This certificate is required for signing electronic documents.
sifen.keystore.path=/home/user/certificates/certificado.p12
See Certificate Configuration for more details.
sifen.keystore.password
string
required
Password to unlock the PKCS12 certificate keystore.
Never commit this password to version control. Use environment variables or secure configuration management in production.
sifen.keystore.password=ABCD12345

Obtaining SIFEN Credentials

To use JSIFEN, you need to obtain credentials from the SET (Subsecretaría de Estado de Tributación) in Paraguay:
1

Register with SET

Visit the SET website and register your company for electronic invoicing.
2

Request CSC credentials

Request your CSC identifier (id-csc) and CSC code from SET. These are unique to your taxpayer account.
3

Obtain digital certificate

Get a PKCS12 digital certificate from an authorized certification authority. This certificate will be used to digitally sign your electronic documents.
4

Start with test environment

Configure JSIFEN with ambiente=test to test your integration before going to production.

Complete Configuration Example

# SIFEN Environment Configuration
sifen.ambiente=prod
sifen.id-csc=0001
sifen.csc=e5E5BE0B3DA91A5713C0E09f4b2f2208
sifen.keystore.path=/home/hugo/dev/certificado.p12
sifen.keystore.password=ABCD12345

Automatic URL Resolution

Based on the ambiente setting, JSIFEN automatically determines the correct SIFEN endpoints:
  • Production: https://ekuatia.set.gov.py/consultas/qr
  • Test: https://ekuatia.set.gov.py/consultas-test/qr
You don’t need to configure URLs manually.

Testing Your Configuration

After configuring, verify your setup:
  1. Start the application in development mode:
    ./gradlew quarkusDev
    
  2. Check the console output for configuration loading messages:
    📄 Cargando configuración DEV: src/main/resources/sifen.properties
    
  3. Test the connection using the health check endpoint:
    curl http://localhost:8000/health
    

Next Steps

Build docs developers (and LLMs) love