Ejemplos del SDK de FiscalAPI para Java Spring, la API de facturación CFDI y otros servicios fiscales en México. Simplifica la integración con los servicios de facturación electrónica, eliminando las complejidades de la autoridad tributaria (SAT) y facilitando la generación de facturas, notas de crédito y complementos de pago, nómina, carta porte, etc.
El proyecto consiste en una aplicación Spring Boot que contiene diversos ejemplos para demostrar las diferentes funcionalidades de la API, organizados en controladores REST.
El SDK de FiscalAPI para Java Spring ofrece una amplia gama de funcionalidades para la facturación electrónica en México:
- Soporte completo para CFDI 4.0 con todas las especificaciones oficiales
- Timbrado de facturas de ingreso con validación automática
- Timbrado de notas de crédito (facturas de egreso)
- Timbrado de complementos de pago en MXN, USD y EUR.
- Consulta del estatus de facturas en el SAT en tiempo real
- Cancelación de facturas
- Generación de archivos PDF de las facturas con formato profesional
- Personalización de logos y colores en los PDF generados
- Envío de facturas por correo electrónico automatizado
- Descarga de archivos XML con estructura completa
- Almacenamiento y recuperación de facturas por 5 años.
- Dos modos de operación: Por valores o Por referencias
- Ejemplos en Python
- Acceso a catálogos de descarga masiva del SAT
- Descarga de CFDI y Metadatos en lotes grandes
- Descarga masiva XML con filtros personalizados
- Reglas de descarga automática por RFC
- Solicitudes de descarga via API y Dashboard.
- Automatización de solicitudes de descarga
- Administración de personas (emisores, receptores, clientes, usuarios, etc.)
- Gestión de certificados CSD y FIEL (subir archivos .cer y .key a FiscalAPI)
- Configuración de datos fiscales (RFC, domicilio fiscal, régimen fiscal)
- Gestión de productos y servicios con catálogo personalizable
- Administración de impuestos aplicables (IVA, ISR, IEPS)
- Consulta en catálogos oficiales del SAT actualizados
- Consulta en catálogos oficiales de Descarga masiva del SAT actualizados
- Búsqueda de información en catálogos del SAT con filtros avanzados
- Acceso y búsqueda en catálogos completos
- Java 8 o superior para el SDK
- Maven 3.6+ o utilizar el Maven Wrapper incluido
- Opcional: VSCode, Eclipse o altamente recomendado IntelliJ IDEA
Es necesario instalar Java JDK 17 o superior para este proyecto.
Puedes descargar OpenJDK 17 desde: Microsoft
winget install Microsoft.OpenJDK.17
git clone https://github.com/FiscalAPI/fiscalapi-samples-spring.git
cd fiscalapi-samples-spring
Crea un archivo application.properties
en la carpeta src/main/resources
basado en el archivo de ejemplo:
cp src/main/resources/application.properties.example src/main/resources/application.properties
Edita el archivo application.properties
y configura tus credenciales:
fiscalapi.api-url=https://test.fiscalapi.com
fiscalapi.api-key=tu_api_key
fiscalapi.tenant=tu_tenant_key
Reemplaza tu_api_key
y tu_tenant_key
con tus credenciales obtenidas del portal de FiscalAPI.
Si utilizas Visual Studio Code, crea o actualiza el archivo .vscode/settings.json
con el siguiente contenido:
{
"java.configuration.updateBuildConfiguration": "automatic",
"java.home": "C:\\jdk-17.0.14",
"maven.executable.path": "mvnw.cmd",
"java.project.referencedLibraries": [ "lib/**/*.jar"],
"java.compile.nullAnalysis.mode": "automatic"
}
Importante: Ajusta la ruta java.home
a la ubicación donde instalaste el JDK 17 en tu sistema.
Configurar el JDK temporalmente para la terminal actual de vscode:
$env:JAVA_HOME = "C:\jdk-17.0.14"
$env:Path += ";$env:JAVA_HOME\bin"
Asegúrate de ajustar la ruta a la ubicación donde instalaste el JDK 17 en tu sistema.
.\mvnw.cmd clean install
.\mvnw.cmd spring-boot:run
./mvnw clean install
./mvnw spring-boot:run
mvn clean install
mvn spring-boot:run
mvn clean install
mvn spring-boot:run
- Importa el proyecto en tu IDE favorito (IntelliJ IDEA, Eclipse, etc.)
- Asegúrate de que el IDE esté configurado para utilizar JDK 17
- Ejecuta la clase
FiscalapiSamplesSpringApplication
como una aplicación Java
Una vez que la aplicación esté en ejecución, puedes acceder a:
- Documentación Swagger UI: Disponible en
http://localhost:8080/swagger-ui/index.html
La aplicación contiene varios controladores que muestran diferentes funcionalidades:
InvoicesController
: Ejemplos de timbrado de facturas, consultas y cancelacionesProductController
: Ejemplos de gestión de productos y servicios
Consulta la documentación Swagger para ver todos los endpoints disponibles y probarlos interactivamente.
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com/fiscalapi/samples/spring
│ │ │ ├── FiscalapiSamplesSpringApplication.java
│ │ │ ├── config
│ │ │ │ ├── FiscalApiConfig.java
│ │ │ │ └── SwaggerConfig.java
│ │ │ ├── controller
│ │ │ │ ├── InvoicesController.java
│ │ │ │ └── ProductController.java
│ │ │ └── service
│ │ │ └── ProductService.java
│ │ └── resources
│ │ └── application.properties
└── pom.xml
Si encuentras errores relacionados con la compilación o ejecución del proyecto:
- Verifica que estás utilizando Java JDK 17 o superior
- Puedes comprobar la versión con
java -version
- Puedes comprobar la versión con
- Asegúrate de que Maven esté correctamente instalado o utiliza el Maven Wrapper incluido
- Puedes comprobar la versión de Maven con
mvn -version
o.\mvnw.cmd -version
- Puedes comprobar la versión de Maven con
- Verifica que el archivo
application.properties
exista y contenga las credenciales correctas - Si utilizas una versión anterior del SDK, actualiza a la última versión en el archivo
pom.xml
- Si estás en Windows y usas PowerShell, asegúrate de ejecutar los comandos con
.\mvnw.cmd
en lugar de solomvnw
- Revisa la documentación oficial de FiscalAPI para más información
- Haz un fork del repositorio.
- Crea una rama para tu feature:
git checkout -b feature/AmazingFeature
- Realiza commits de tus cambios:
git commit -m 'Add some AmazingFeature'
- Sube tu rama:
git push origin feature/AmazingFeature
- Abre un Pull Request en GitHub.
- Asegúrate de usar la última versión del SDK.
- Verifica si el problema ya fue reportado.
- Proporciona un ejemplo mínimo reproducible.
- Incluye los mensajes de error completos.
Este proyecto está licenciado bajo la Licencia MPL. Consulta el archivo LICENSE para más detalles.
- Documentación Oficial
- Como obtener mis credenciales
- Portal de FiscalAPI
- Sdk Java
- Soporte técnico
- Certificados prueba
- Más ejemplos Java
Desarrollado con ❤️ por Fiscalapi