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:
- Timbrado de facturas de ingreso
- Timbrado de notas de crédito (facturas de egreso)
- Timbrado de complementos de pago
- Consulta del estatus de facturas en el SAT
- Cancelación de facturas
- Generación de archivos PDF de las facturas
- Personalización de logos y colores en los PDF
- Envío de facturas por correo electrónico
- Descarga de archivos XML
- Administración de personas (emisores, receptores, clientes, usuarios, etc)
- Gestión de certificados CSD (subir archivos .cer y .key a fiscalapi)
- Configuración de datos fiscales (RFC, domicilio fiscal, régimen fiscal)
- Gestión de productos y servicios
- Administración de impuestos aplicables (IVA, ISR, IEPS)
- Consulta en catálogos oficiales del SAT
- Búsqueda de información en catálogos del SAT
- Configuración de ambiente (pruebas o producción)
- Gestión de credenciales y tokens de autenticación
- Respuestas en formato estructurado para fácil procesamiento
- Java JDK 17 o superior
- 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 ejecutar 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