Skip to the content.

https://crlibre.org

Sobre CRLibre

Somos una comunidad de individuos y organizaciones que voluntariamente unimos esfuerzos para colaborar y compartir conocimiento, crear software libre para resolver problemas que enfrentamos en nuestra realidad en Costa Rica.

GitHub GitHub commit activity the past week, 4 weeks, year GitHub issues GitHub pulls PHPUnit Tests Telegram @CRLibreFE

En este repositorio estamos creando un API

*

*libre ** y componentes de software para simplificar el proceso de la Factura Electrónica requerido por el Ministerio de Hacienda de Costa Rica.

Documentación general sobre la Factura Electrónica en Costa Rica

De forma complementaria al proyecto de este API creamos dos repositorios relacionados con la facturación electrónica

¿Por qué un API para conectarse a los del Ministerio de Hacienda?

Para la implementación de la Factura Electrónica, el Ministerio de Hacienda puso a disposición documentación técnica e interfaces de programación sofisticados que muchos programadores encuentran difíciles de comprender y utilizar. Nuestro objetivo es crear un software que simplifique el proceso a desarrolladores de cumplir con las resoluciones del Ministerio, de forma más ágil, desde cualquier lenguaje de programación y sin depender de intermediarios al poder instalar esta pieza de software libre en un servidor propio manteniendo control de sus datos sensibles.

Cómo colaborar

Sobre este API

Trabajo en proceso lo estamos creando en conjunto

Esta es una API en PHP, la idea de esto es poder realizar módulos sobre una base que maneja ya diferentes aspectos como la conexión a bases de datos y usuarios, está basado en CalaAPI

Se encuentran 2 carpetas, una que se llama api y otra que se llama www

La que se llama api la idea es ubicarla en un lugar en donde no sea accesible, o bien, que no sea en el “document root” (ejemplo: public_html)

La que se llama www contiene un archivo de configuración, en donde se modifican aspectos como la conexión a base de datos, nombre del sitio y muy importante, la ubicación de en donde se encontrará el resto de cosas o bien, la carpeta api.

Requerimientos mínimos

Conectores/Clientes del API

Uso del API

Documento Step by Step del API para migrar al wiki.

Primeros Pasos

Uso de los módulos del API

Observations

Ejecutar los Test Cases:

Se tiene una carpeta con pruebas unitarias en tests/. Las pruebas escritas con PHPUnit, y se pueden ejecutar con el siguiente commando: ./vendor/bin/phpunit --stderr --debug --bootstrap vendor/autoload.php tests/api_contrib_genXML_FE.php

Guardando el resultado en un archivo de junit: ./vendor/bin/phpunit --log-junit junit-report.xml --stderr --debug --bootstrap vendor/autoload.php tests/api_contrib_genXML_FE.php

Convertir el archivo junit-report.xml a HTML: junit2html junit-report.xml junit-report.html

Instalar junit2html: ./vendor/bin/junit2html

Ejecutar test específico:

./vendor/bin/phpunit --log-junit junit-report.xml --stderr --debug --bootstrap vendor/autoload.php --filter testGenXMLFeFullStructure tests/api_contrib_genXML_FE.php

📢 Aviso Importante - Licencia y Colaboración Obligatoria 📢

Este proyecto está licenciado bajo la Licencia GNU Affero General Public License v3 (AGPL v3).
Todos los usuarios y desarrolladores que utilicen, modifiquen o distribuyan este módulo están obligados a colaborar en su mantenimiento y mejora, conforme a los términos de la licencia.

🔹 Condiciones principales

💡 El incumplimiento de estas condiciones podría considerarse una violación de los términos de la licencia AGPL v3.