Skip to content

API libre para Factura Electrónica en Costa Rica, interfaz para integrar sistemas con el Ministerio de Hacienda para la Facturación Electrónica

License

Notifications You must be signed in to change notification settings

CRLibre/API_Hacienda

Repository files navigation

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 issues 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

Primeros Pasos

Uso de los módulos del API

  • Upload del certificado o llave criptográfica
  • Solicitud de Token
  • Solicitud de refrescar token
  • Creación de Clave para los XML de Factura Electrónica
  • Creación de Clave para Nota de Crédito
  • Creación de Clave para Nota de Débito
  • Creación de Clave para Tiquete Electronico
  • Creación de clave para Mensaje Aceptación (Aceptación total, Parcialmente y Rechazo)
  • Creación de xml Factura Electrónica
  • Creación de xml Nota de Crédito
  • Creación de xml Nota de Debito
  • Creación de xml Tiquete Electronico
  • Creación de xml Mensaje Aceptacion
  • Firmado del xml Factura Electrónica
  • Firmado del xml Nota de Crédito
  • Firmado del xml Nota de Debito
  • Firmado del xml Tiquete Electronico
  • Firmado del xml Mensaje de Aceptación
  • Envió a Hacienda del xml de Factura Electrónica, Notas de Crédito, Notas de Debito
  • Envió a Hacienda del xml de Tiquete Electronico
  • Envió a Hacienda del xml de Mensaje Aceptación (Aceptación total, Parcialmente y Rechazo)
  • Consulta de estado de los comprobantes

Observations

  • ALTER TABLE files MODIFY COLUMN md5 VARCHAR(40);