Download the PHP package ionysdev/pkuatia without Composer

On this page you can find all versions of the php package ionysdev/pkuatia. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package pkuatia

📄 PKuatia

CI License: MIT PHP Version

PKuatia es una biblioteca PHP para interactuar con el Sistema Integrado de Facturación Electrónica Nacional (SIFEN) de Paraguay, implementando la especificación técnica del sistema EKuatia.

Esta biblioteca permite generar, firmar, enviar y consultar Documentos Tributarios Electrónicos (DTE) según el Manual Técnico Versión 150 del SIFEN.

📋 Tabla de Contenidos

✨ Características

📦 Requisitos

🚀 Instalación

Instalación mediante Composer

Instalación desde el repositorio

⚙️ Configuración

Antes de utilizar la biblioteca, es necesario configurar los parámetros de conexión y autenticación:

Configuración desde archivo JSON

También puedes cargar la configuración desde un archivo JSON:

Ejemplo de config.json:

🏭 Recomendaciones para Producción

Caché de WSDL

El SIFEN limita la tasa de solicitudes. Descargar el WSDL en cada operación puede provocar bloqueos temporales. Se recomienda activar la caché de WSDL en disco:

En Windows, además, conviene asegurar un directorio de caché válido antes de iniciar Sifen, porque el valor por defecto (/tmp) no existe:

Tasa de solicitudes (rate limiting)

El ambiente de pruebas (sifen-test) es especialmente sensible a la saturación: ante un exceso de solicitudes deja de responder por varios minutos. Buenas prácticas:

Certificados .p12 / .pfx con cifrado heredado (OpenSSL 3)

Los certificados emitidos por las CA de Paraguay suelen venir en un PKCS#12 cifrado con algoritmos heredados (RC2-40 / 3DES) que OpenSSL 3 —incluido en PHP 8— deshabilita por omisión. Si al inicializar obtenés un error del tipo digital envelope routines::unsupported, tenés tres opciones:

  1. Habilitar el proveedor legacy de OpenSSL antes de iniciar PHP, mediante las variables de entorno OPENSSL_CONF (apuntando a un openssl.cnf que active los proveedores default y legacy) y OPENSSL_MODULES (apuntando al directorio que contiene legacy.dll / legacy.so). No alcanza con putenv() en tiempo de ejecución: el proveedor se inicializa en el primer uso de OpenSSL.
  2. Reexportar el certificado a un PKCS#12 con cifrado moderno:

  3. Convertir el .p12 a PEM y usar certificateFormat = "pem".

La librería detecta este caso y arroja una excepción con estas mismas instrucciones.

📖 Uso Básico

Consultar un RUC

Consultar un Documento Electrónico

🎯 Funcionalidades

Área Métodos principales
Consultas ConsultarRUC, ConsultarDE, ConsultaLote, ConsultarArchivoRUC
Emisión FirmarDE, EnviarDE, EnviarLoteDE
Eventos emisor CancelarDE, InutilizarNumeros
Eventos receptor ConformarDE, DisconformarDE, DesconocerDE, NotificarRecepcionDE, NominarFE
Builders Factura, NotaDeCredito, NotaDeDebito, NotaDeRemision, Autofactura

Los ejemplos completos de FE contado y cancelación están en Ejemplos. Otros tipos de documento y eventos se documentarán en una siguiente iteración.

📄 Tipos de Documentos Soportados

La biblioteca soporta los siguientes tipos de Documentos Tributarios Electrónicos, que son los que el XSD de producción del SIFEN acepta actualmente (iTiDE):

Código Tipo de Documento Builder Estado
1 Factura Electrónica Factura ✅ Soportado (homologado contra SIFEN)
4 Autofactura Electrónica Autofactura ✅ Soportado
5 Nota de Crédito Electrónica NotaDeCredito ✅ Soportado
6 Nota de Débito Electrónica NotaDeDebito ✅ Soportado
7 Nota de Remisión Electrónica NotaDeRemision ✅ Soportado
9 Boleta de venta electrónica — 🗺️ En el roadmap
10 Boleta RESIMPLE — 🗺️ En el roadmap

Nota sobre los tipos 2, 3 y 8 (Factura de Exportación, Factura de Importación y Comprobante de Retención): figuran en el Manual Técnico, pero el XSD de producción del SIFEN los rechaza (no están habilitados por la DNIT), por lo que ninguna librería del ecosistema puede emitirlos actualmente. La enumeración TimbTiDE los conserva para poder identificarlos al deserializar.

Puedes usar la enumeración TimbTiDE para referenciar estos tipos:

📁 Estructura del Proyecto

🔧 Dependencias

📚 Ejemplos

Los fragmentos usan datos genéricos (RUC 80000000-5, timbrado 12345678). Reemplazalos por tu timbrado habilitado, certificado y CSC antes de enviar al SIFEN. En ambiente dev el nombre del emisor se ajusta automáticamente al texto de prueba reglamentario.

Factura electrónica al contado (emitir y enviar)

Cancelar un DE aprobado

Solo podés cancelar un CDC que el SIFEN haya autorizado previamente. El motivo debe tener entre 5 y 500 caracteres.

Otros scripts de referencia

En test/ hay scripts de consulta que requieren certificado y red:

Próximamente en esta sección: FE crédito en cuotas, NC, ND, NR con transporte, autofactura, inutilización y eventos del receptor (ConformarDE, etc.).

⚠️ Notas Importantes

  1. Certificados Digitales: Debes contar con un certificado digital válido emitido por algún ente prestador de servicios de confianza habilitado por el Ministerio de Industria y Comercio del Paraguay.

  2. Ambiente de Pruebas: Utiliza Config::ENV_DEV para desarrollo y pruebas. Los documentos generados en este ambiente llevarán el texto "DE generado en ambiente de prueba - sin valor comercial ni fiscal".

  3. Credenciales del SIFEN: El ID CSC y CSC te serán proporcionados por la DNIT durante el proceso de habilitación.

  4. Límites de Lotes: Cada lote puede contener un máximo de 50 documentos electrónicos.

  5. Firma Digital: La biblioteca requiere que el certificado y la clave privada estén disponibles localmente.

🧪 Pruebas

Verificaciones offline (no requieren certificado ni conexión al SIFEN):

El CI en GitHub ejecuta lint (php -l), smoke test, PHPUnit y PHPStan en PHP 8.1, 8.2 y 8.3.

Detalle del flujo de contribución, estilo y convención de commits: CONTRIBUTING.md.

🤝 Contribución

Las contribuciones son bienvenidas. Leé CONTRIBUTING.md antes de abrir un PR.

Mantenedores: publicación en Packagist → docs/PUBLICAR.md.

📝 Licencia

Este proyecto está licenciado bajo la Licencia MIT - ver el archivo LICENSE para más detalles.

👥 Autores


🔗 Enlaces Útiles


Desarrollado especialmente para la comunidad de desarrolladores paraguayos


All versions of pkuatia with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
ext-soap Version *
ext-dom Version *
ext-openssl Version *
ext-zip Version *
ext-bcmath Version *
robrichards/xmlseclibs Version ^3.1.5
krowinski/bcmath-extended Version ^7.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package ionysdev/pkuatia contains the following files

Loading the files please wait ...