Modos de operación
El recurso de facturación soporta dos modos de operación para crear facturas, por 'referencias' y por 'valores', el modo recomendado es por referencias, debido a su facilidad de integración y a que fiscalapi resuelve muchos detalles técnicos automáticamente detrás de cámara en este modo.
Modo de operación por referencias
El modo de operación por referencias permite a los usuarios crear facturas enviando sólo los IDs
de objetos en la petición http,
dichos objetos deben ser previamente creados en fiscalapi via API (programáticamente) o manualmente en el dashboard.
Caracteristicas
- Solicitudes más pequeñas
- Solicitudes menos complejas
- Menos tiempo de desarrollo
- Menos mantenimiento a tu integración
- Menos tiempo de integración
- Menos errores durante la integración
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": {
"tin": "<id_del_emisor>",
},
"recipient": {
"tin": "<id_del_receptor>",
},
"items": [
{
"id": "<id_del_producto>",
"quantity": 2.5,
}
]
}
Modo de operación por valores
El modo de operación por valores permite a los usuarios crear facturas enviando todos los campos de cada objeto
(excepto los IDs
) directamente en la solicitud http.
Características
- Desacoplado: No requiere crear registros como productos, impuestos, personas, etc. en fiscalapi.
- Solicitudes más grandes
- Solicitudes más complejas
- Más tiempo de desarrollo
- Más mantenimiento a tu integración
- Más tiempo de integración
- Más errores durante la integración
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
Ambos modos utilizan el mismo endpoint: /api/v4/invoices
y por tanto generan exactamente el mismo resultado: una factura electrónica válida ante el SAT.
La única diferencia radica en cómo se envían los datos a Fiscalapi.
El modo de operación por referencias: Integra de manera sencilla registrando previamente tus catálogos, ya sea manualmente o vía API. Fiscalapi gestiona todos los detalles, sus solicitudes http son simples y su proceso de integración es mucho más rápido y de bajo mantenimiento.
El modo de operación por valores: Tienes flexibilidad total, pero tu debes gestionar y validar toda la información en cada solicitud, las solicitudes son más grandes y complejas, lo que resulta en un periodo de integración más largo y de mayor mantenimiento.