Skip to main content
POST
Timbrar CFDI

Authorizations

x-api
string
header
required

API key emitida por Ipsofactura, enviada en el header x-api.

Headers

Idempotency-Key
string

Alternativa a idempotency_key en el cuerpo: reenviar la misma llave devuelve la respuesta del primer intento (Idempotency-Replayed: true) en lugar de timbrar otra vez, y la misma llave con un cuerpo distinto es 422 IDEMPOTENCY_KEY_REUSED. Máximo 100 caracteres ASCII imprimibles, sin espacios. Si además envías el campo en el cuerpo, los dos valores deben coincidir; si no, la respuesta es 400 VALIDATION_ERROR.

Maximum string length: 100
Example:

"order-4711"

Body

application/json
conceptos
object[]
required
Minimum array length: 1
receptor
object
required
rfc_emisor
string
required
Minimum string length: 1
Pattern: [A-Z&Ñ]{3,4}[0-9]{2}(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])[A-Z0-9]{2}[0-9A]
subtotal
number
required
tipo_comprobante
enum<string>
required

Tipo de comprobante: I (ingreso), E (egreso) o P (pago).

Available options:
I,
E,
P
Minimum string length: 1
Pattern: [IEP]
total
number
required
cfdi_relacionados
object[]

CFDI relacionados (nodo CfdiRelacionados). Un elemento por tipo_relacion, con los folios fiscales (UUID) que relaciona. Caso típico: una nota de crédito (tipo_comprobante E) con tipo_relacion 01 y el UUID de la factura original.

condiciones_pago
string
descuento
number
emisor
object

Datos del emisor. Objeto opcional, y cada campo dentro de él es opcional por separado: el que envíes sobreescribe el default de la empresa registrada y el que omitas se toma de ella. El RFC nunca se envía aquí: rfc_emisor (raíz) es el que resuelve la empresa y su CSD.

exportacion
string

Clave de exportación (c_Exportacion). Default: 01 (no aplica).

fecha
string

Fecha de emisión ISO 8601. Default: la fecha actual. El SAT acepta hasta 72 horas hacia atrás y 5 minutos hacia adelante.

Pattern: \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(Z|[+-]\d{2}:\d{2})?
folio
string

Si se omite, Ipsofactura asigna el folio consecutivo siguiente para el emisor + serie.

Maximum string length: 40
Pattern: [^|]*
forma_pago
string
idempotency_key
string

Clave estable de la operación (p. ej. el id del pedido). Si reintentas la misma petición con la misma clave, Ipsofactura devuelve la respuesta del primer intento en lugar de timbrar un segundo CFDI. Si se omite y envías folio, la clave se deriva de rfc_emisor + tipo_comprobante + serie + folio. Máximo 100 caracteres.

Maximum string length: 100
Pattern: ^[\x21-\x7E]+$
impuestos
object
informacion_global
object
lugar_expedicion
string

Código postal de expedición. Default: el código postal de la empresa emisora.

metodo_pago
string
moneda
string

Clave de moneda (c_Moneda). Default: MXN. Para moneda distinta de MXN, tipo_cambio es requerido.

serie
string
Maximum string length: 25
Pattern: [^|]*
tipo_cambio
number

Response

CFDI timbrado

cadena_original_sat
string
cfdi_relacionados
object[]
fecha_timbrado
string
deprecated
folio
string
id
string
idempotency_key
string

La clave de idempotencia con la que se timbró este CFDI, si se envió una.

numero_certificado_sat
string
sandbox
boolean
sello_cfdi
string
sello_sat
string
serie
string
stamped_at
string
uuid
string