Modos de operación
Puedes crear facturas en dos modos de operación: por referencias y por valores. El modo recomendado es por referencias, porque es más fácil de integrar y Fiscalapi resuelve automáticamente muchos detalles técnicos.
Modo de operación por referencias
En el modo de operación por referencias creas la factura enviando en la petición HTTP solo los ID de los objetos, como el emisor, el receptor y los productos. Esos objetos deben existir antes en Fiscalapi: los creas por API o manualmente en el dashboard.
Ejemplo para crear factura por referencias (IDs)
{
"versionCode": "4.0",
"series": "F",
"date": "2024-11-12T18:53:57",
"paymentFormCode": "01",
"currencyCode": "MXN",
"typeCode": "I",
"expeditionZipCode": "01160",
"paymentMethodCode": "PUE",
"exchangeRate": 1,
"issuer": {
"id": "<id_del_emisor>"
},
"recipient": {
"id": "<id_del_receptor>"
},
"items": [
{
"id": "<id_del_producto>",
"quantity": 2.5
}
]
}
Modo de operación por valores
En el modo de operación por valores creas la factura enviando en la petición HTTP todos los campos de cada objeto, excepto los ID. No necesitas crear antes productos, impuestos ni personas en Fiscalapi.
Ejemplo para crear factura por valores
{
"versionCode": "4.0",
"series": "F",
"date": "2024-11-12T18:53:57",
"paymentFormCode": "01",
"paymentConditions": "Contado",
"currencyCode": "MXN",
"typeCode": "I",
"expeditionZipCode": "01160",
"paymentMethodCode": "PUE",
"exchangeRate": 1,
"exportCode": "01",
"issuer": {
"tin": "FUNK671228PH6",
"legalName": "KARLA FUENTE NOLASCO",
"taxRegimeCode": "621",
"taxCredentials": [
{
"base64File": "archivo_cer_base64...",
"fileType": 0,
"password": "12345678a"
},
{
"base64File": "archivo_key_base64...",
"fileType": 1,
"password": "12345678a"
}
]
},
"recipient": {
"tin": "EKU9003173C9",
"legalName": "ESCUELA KEMPER URGATE",
"zipCode": "42501",
"taxRegimeCode": "601",
"cfdiUseCode": "G01",
"email": "someone@somewhere.com"
},
"items": [
{
"itemCode": "01010101",
"quantity": 2.5,
"unitOfMeasurementCode": "E48",
"unitOfMeasurement": "Unidad de servicio",
"description": "Computer model acme",
"unitPrice": 1250.75,
"taxObjectCode": "02",
"itemSku": "7506022301699",
"itemTaxes": [
{
"taxCode": "002",
"taxTypeCode": "Tasa",
"taxRate": 0.160000,
"TaxFlagCode": "T"
},
{
"taxCode": "002",
"taxTypeCode": "Tasa",
"taxRate": 0.106666,
"TaxFlagCode": "R"
}
]
}
]
}
Diferencias entre modos de operación
Los dos modos usan el mismo endpoint, POST /api/v4/invoices, y generan el mismo resultado: una factura electrónica válida ante el SAT. Solo cambia la forma en que envías los datos a Fiscalapi.
| Aspecto | Por referencias | Por valores |
|---|---|---|
| Registros previos | Registras antes tus catálogos (personas, productos), manualmente o por API. | No requiere crear registros en Fiscalapi. |
| Tamaño y complejidad de la petición | Menores. | Mayores. |
| Tiempo de desarrollo e integración | Menor. | Mayor. |
| Mantenimiento de tu integración | Menor. | Mayor. |
| Errores durante la integración | Menos. | Más. |
En el modo por referencias, Fiscalapi gestiona los detalles de la factura y tus peticiones son simples. En el modo por valores tienes más flexibilidad, pero tú gestionas y validas toda la información en cada petición.