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.

AspectoPor referenciasPor valores
Registros previosRegistras antes tus catálogos (personas, productos), manualmente o por API.No requiere crear registros en Fiscalapi.
Tamaño y complejidad de la peticiónMenores.Mayores.
Tiempo de desarrollo e integraciónMenor.Mayor.
Mantenimiento de tu integraciónMenor.Mayor.
Errores durante la integraciónMenos.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.

¿Le resultó útil esta página?