URL PRUEBAS: POST https://facturacion.789.mx/api/v40/test/factura/crear
URL PRODUCCIÓN: POST https://facturacion.789.mx/api/v40/factura/crear
Argumento | Tipo | Default | Descripción |
---|---|---|---|
main | Contiene los datos generales de la factura y los datos del emisor. | ||
NUEVO
regimen
requerido |
string | none | Incorpora la clave del régimen del contribuyente emisor al que aplicará el efecto fiscal de este comprobante |
NUEVO
exportacion
requerido |
string | 01 | Expresa si el comprobate ampara una operación de exportación. |
razonSocial | string | none |
Nombre ó Razón social del emisor. Nota: en la version 4.0 debe ser el nombre tal cual como fueron registrados ante el SAT |
rfc
requerido |
string | none | RFC del emisor. 12 dígitos para persona moral y 13 dígitos para persona física. |
tipo
requerido |
string | none | Tipo de comprobante (ingreso, egreso, traslado, nomina, pago). Para este tipo de comprobante enviar pago |
moneda | string | none | Código de la moneda, acorde al estándar ISO 4217. Para este tipo de comprobante enviar xxx |
folio | string | '' | Número de folio asignado por la empresa para control interno. |
serie | string | '' | Serie. De 1 a 25 caracteres designados por la empresa para control interno y sin validez fiscal. |
total
requerido |
decimal | none | Por disposición de SAT en este tipo de documento siempre se debe de enviar 0. |
subtotal
requerido |
decimal | none | Por disposición de SAT en este tipo de documento siempre se debe de enviar 0. |
fechaEmision | date | now() 2025-04-16T04:51:09 |
Campo opcional para indicar la FECHA de EMISIÓN de la factura, puede ser hasta 48hrs hacia atras de la fecha actual. Debe cumplir el siguiente formato "Y-m-d\TH:i:s" |
NUEVO fac_atr_adquirente | string | none | Expresa el número de operación proporcionado por el SAT cuando se trate de un comprobante a través de un PCECFDI o un PCGCFDISP. |
direccionFiscal | string | '' | Domicilio fiscal del emisor. |
direccionFiscal.calle | string | '' | Calle del emisor. |
direccionFiscal.num_ext | string | '' | Número exterior (númerio visible desde la calle) del domicilio del emisor. |
direccionFiscal.num_int | string | '' | Número interior del domicilio del emisor. |
direccionFiscal.colonia | string | '' | Colonia del domicilio del emisor. |
NUEVO
direccionFiscal.cp
requerido |
string | '' | Código Postal del domicilio del emisor. |
direccionFiscal.ciudad | string | '' | Ciudad del domicilio del emisor. |
direccionFiscal.localidad | string | '' | Delegación o Municipio del domicilio del emisor. |
direccionFiscal.estado | string | '' | Estado del domicilio del emisor. |
direccionFiscal.pais | string | '' | País del domicilio del emisor. |
receptor | Datos del Receptor | ||
NUEVO
razon_social
requerido |
string | none |
Nombre o Razón social del receptor Nota: en la version 4.0 debe ser el nombre tal cual como fueron registrados ante el SAT |
rfc
requerido |
string | none | RFC del receptor. 12 dígitos para persona moral y 13 dígitos para persona física. |
string | none | Correo electrónico del receptor, debe ser válido. | |
NUEVO num_reg_id_trib | string | none | Expresa el número de registro de identidad fiscal del receptor cuando sea residente en el extranjero. Es requerido cuando se incluya el complemento de comercio exterior. |
NUEVO residencia_fiscal | string | none | Registra la clave del país de residencia para efectos fiscales del receptor del comprobante, cuando se trate de un extranjero, y que es conforme con la especificación ISO 3166-1 alpha-3. Es requerido cuando se incluya el complemento de comercio exterior o se registre el atributo num_reg_id_trib. |
NUEVO
regimen
requerido |
string | none | Incorpora la clave del régimen fiscal del contribuyente receptor al que aplicará el efecto fiscal de este comprobante. |
NUEVO
uso
requerido |
string | none | Clave del uso comprobante según el catálogo del SAT. |
direccion | string | '' | Domicilio fiscal del receptor. |
direccion.calle | string | '' | Calle del receptor. |
direccion.num_ext | string | '' | Número exterior (númerio visible desde la calle) del domicilio del receptor. |
direccion.num_int | string | '' | Número interior del domicilio del receptor. |
direccion.colonia | string | '' | Colonia del domicilio del receptor. |
NUEVO
direccion.codigo_postal
requerido |
string | '' | Código Postal del domicilio del receptor. |
direccion.ciudad | string | '' | Ciudad del domicilio del receptor. |
direccion.estado | string | '' | Estado del domicilio del receptor. |
direccion.pais | string | '' | País del domicilio del receptor. |
conceptos | Por disposición de SAT en este tipo de documento solo se debe de enviar UN concepto. | ||
conceptos[].nombre
requerido |
string | none | Nombre del producto o servicio. Para este tipo de comprobante se debe enviar Pago |
conceptos[].medidaKey
requerido |
string | none | Clave de la unidad de medida segun el catálogo del SAT. Por disposición de SAT en este tipo de documento siempre se debe de enviar 'ACT'. |
conceptos[].productKey
requerido |
string | none | Clave del producto segun el catálogo del SAT. Por disposición de SAT en este tipo de documento siempre se debe de enviar '84111506'. |
NUEVO conceptos[].no_id | string | none | Expresa el número de parte, identificador del producto o del servicio, la clave de producto o servicio, SKU o equivalente, propia de la operación del emisor, amparado por el presente concepto. Opcionalmente se puede utilizar claves del estándar GTIN. |
conceptos[].precioUnitario
requerido |
decimal | none | Por disposición de SAT en este tipo de documento siempre se debe de enviar '0'. |
conceptos[].cantidad | integer, decimal | 1 | Cantidad de productos o servicios vendidos, debe ser mayor a 0 |
conceptos[].total
requerido |
decimal | none | Por disposición de SAT en este tipo de documento siempre se debe de enviar '0'. |
NUEVO
conceptos[].objeto_imp
requerido |
decimal | none | Expresa si la operación comercial es objeto o no de impuesto |
complementos | Contiene los datos de los complementos a agregar al CFDI. | ||
recepcion_pago
requerido |
object | none | Datos detallados de la recepción de pago |
NUEVO
totales
requerido |
object | none | Especifica el monto total de los pagos y el total de los impuestos, deben ser expresados en MXN |
NUEVO totales.retenciones_iva | decimal | none | Expresar el total de los impuestos retenidos de IVA que se desprenden de los pagos. No se permiten valores negativos. |
NUEVO totales.retenciones_isr | decimal | none | Expresar el total de los impuestos retenidos de ISR que se desprenden de los pagos. No se permiten valores negativos. |
NUEVO totales.retenciones_ieps | decimal | none | Expresar el total de los impuestos retenidos de IEPS que se desprenden de los pagos. No se permiten valores negativos. |
NUEVO totales.traslados_base_iva16 | decimal | none | Expresar el total de la base de IVA trasladado a la tasa del 16% que se desprende de los pagos. No se permiten valores negativos. |
NUEVO totales.traslados_impuesto_iva16 | decimal | none | Expresar el total de los impuestos de IVA trasladado a la tasa del 16% que se desprenden de los pagos. No se permiten valores negativos. |
NUEVO totales.traslados_base_iva8 | decimal | none | Expresar el total de la base de IVA trasladado a la tasa del 8% que se desprende de los pagos. No se permiten valores negativos. |
NUEVO totales.traslados_impuesto_iva8 | decimal | none | Expresar el total de los impuestos de IVA trasladado a la tasa del 8% que se desprenden de los pagos. No se permiten valores negativos. |
NUEVO totales.traslados_base_iva0 | decimal | none | Expresar el total de la base de IVA trasladado a la tasa del 0% que se desprende de los pagos. No se permiten valores negativos. |
NUEVO totales.traslados_impuesto_iva0 | decimal | none | Expresar el total de los impuestos de IVA trasladado a la tasa del 0% que se desprenden de los pagos. No se permiten valores negativos. |
NUEVO totales.traslados_base_iva_exento | decimal | none | Expresar el total de la base de IVA trasladado exento que se desprende de los pagos. No se permiten valores negativos. |
NUEVO
totales.monto_total_pagos
requerido |
decimal | none | Expresar el total de los pagos que se desprenden de los nodos Pago. No se permiten valores negativos. |
forma_pago
requerido |
string | none | Código de la forma de pago según el catálogo del SAT. |
moneda
requerido |
string | none | Código de la moneda, acorde al estándar ISO 4217 |
cambio | decimal | none | Tipo de cambio conforme a la moneda usada. Representa el número de pesos mexicanos que equivalen a una unidad de la moneda señalada. Es requerido cuando la moneda es diferente a MXN |
fecha
requerido |
date | none | Fecha en que se recibio el pago, debe llevar el formato 'Y-m-d'T'H:i:s' |
num_operacion
requerido |
string | none | Representa la forma en que se puede identificar el pago, puede ser, número de deposito, número de rastreo, número de cheque, u otro idenficador del pago. |
monto
requerido |
decimal | none | Importe total del pago recibido |
rfc_emisor_banco | string | none | RFC del banco emisor, (banco de donde sale el pago). Es requerdio cuando la forma de pago es bancarizado segun catálogo de SAT |
nombre_emisor_banco | string | none | Nombre del banco emisor, (banco de donde sale el pago). Es requerdio cuando el RFC del banco emisor es 'XEXX010101000' |
cta_ordenante | string | none | Número de cuenta del banco emisor, (banco de donde sale el pago). Es requerdio cuando la forma de pago es bancarizado y debe cumplir con el patron segun catálogo de SAT |
rfc_receptor_banco | string | none | RFC del banco receptor, (banco donde ingresa el pago). Es requerdio cuando la forma de pago es bancarizado segun catálogo de SAT |
cta_beneficiario | string | none | Número de cuenta del banco receptor, (banco donde ingresa el pago). Es requerdio cuando la forma de pago es bancarizado y debe cumplir con el patron segun catálogo de SAT |
related
requerido |
array | none | Conjunto de datos con los documentos relacionados |
related[].fecha
requerido |
date | none | Fecha de emisión del CFDI relacional, debe llevar el formato 'Y-m-d'T'H:i:s' |
related[].uuid
requerido |
string | none | UUID del CFDI relacional |
related[].numero_pago
requerido |
integer | none | Número de pago o parcialidad correspondiente al CFDI relacional |
related[].saldo_anterior
requerido |
decimal | none | Saldo del CFDI relacional, considerando los pagos anteriores |
related[].monto
requerido |
decimal | none | Importe total del pago realizado al CFDI relacional |
related[].saldo_insoluto
requerido |
decimal | none | Saldo total del CFDI relacional, despues de descontar el pago actual |
related[].metodoDePago
requerido |
string | none | Código del método de pago del CFDI relacional. PUE. Pago en una sola exhibición PPD. Pago en parcialidades o diferido. |
related[].moneda
requerido |
string | none | Moneda del CFDI relacional. |
related[].equivalencia | decimal | 1.00 | Tipo de cambio conforme con la moneda registrada en el documento relacionado. |
related[].cambio | string | none | Tipo de cambio del CFDI relacional. Es requerido cuando la moneda es diferente a XXX |
related[].folio | string | none | Folio del CFDI relacional. |
related[].serie | string | none | Serie del CFDI relacional. |
NUEVO
related[].objeto_imp_dr
requerido |
string | none | Expresar si el pago del documento relacionado es objeto o no de impuesto. |
NUEVO related[].impuesto_dr | object | none | Registra los impuestos aplicables conforme al monto del pago recibido, expresados a la moneda del documento relacionado. |
NUEVO related[].impuesto_dr.retenciones | array | none | Captura los impuestos retenidos aplicables conforme al monto del pago recibido |
NUEVO
related[].impuesto_dr.retenciones[].base
requerido |
decimal | none | Señala la base para el cálculo de la retención conforme al monto del pago, aplicable al documento relacionado, la determinación de la base se realiza de acuerdo con las disposiciones fiscales vigentes. No se permiten valores negativos. |
NUEVO
related[].impuesto_dr.retenciones[].impuesto
requerido |
string | none | Señala la clave del tipo de impuesto retenido conforme al monto del pago, aplicable al documento relacionado. |
NUEVO
related[].impuesto_dr.retenciones[].factor
requerido |
string | none | Señala la clave del tipo de factor que se aplica a la base del impuesto. |
NUEVO
related[].impuesto_dr.retenciones[].tasa
requerido |
decimal | none | Señala el valor de la tasa o cuota del impuesto que se retiene. Nota: Enviar siempre 6 decimales |
NUEVO
related[].impuesto_dr.retenciones[].importe
requerido |
decimal | none | Señala el importe del impuesto retenido conforme al monto del pago, aplicable al documento relacionado. No se permiten valores negativos. |
NUEVO related[].impuesto_dr.traslados | array | none | Captura los impuestos trasladados aplicables conforme al monto del pago recibido. |
NUEVO
related[].impuesto_dr.traslados[].base
requerido |
decimal | none | Señala la base para el cálculo del impuesto trasladado conforme al monto del pago, aplicable al documento relacionado, la determinación de la base se realiza de acuerdo con las disposiciones fiscales vigentes. No se permiten valores negativos. |
NUEVO
related[].impuesto_dr.traslados[].impuesto
requerido |
string | none | Señala la clave del tipo de impuesto trasladado conforme al monto del pago, aplicable al documento relacionado. |
NUEVO
related[].impuesto_dr.traslados[].factor
requerido |
string | none | Señala la clave del tipo de factor que se aplica a la base del impuesto. |
NUEVO
related[].impuesto_dr.traslados[].tasa
requerido |
decimal | none | Señala el valor de la tasa o cuota del impuesto que se traslada. Es requerido cuando el atributo TipoFactorDR contenga una clave que corresponda a Tasa o Cuota.
Nota: Enviar siempre 6 decimales |
NUEVO
related[].impuesto_dr.traslados[].importe
requerido |
decimal | none | Señala el importe del impuesto trasladado conforme al monto del pago, aplicable al documento relacionado. No se permiten valores negativos. Es requerido cuando el tipo factor sea Tasa o Cuota. |
NUEVO impuestos | object | none | Registra el resumen de los impuestos aplicables conforme al monto del pago recibido, expresados a la moneda de pago. |
NUEVO impuestos.retenciones | array | none | Señala los impuestos retenidos aplicables conforme al monto del pago recibido. Es requerido cuando en los documentos relacionados se registre algún impuesto retenido. |
NUEVO
impuestos.retenciones[].impuesto
requerido |
string | none | Señala la clave del tipo de impuesto retenido conforme al monto del pago |
NUEVO
impuestos.retenciones[].importe
requerido |
decimal | none | Señala el importe del impuesto retenido conforme al monto del pago. No se permiten valores negativos. |
NUEVO impuestos.traslados | array | none | Captura los impuestos trasladados aplicables conforme al monto del pago recibido. Es requerido cuando en los documentos relacionados se registre un impuesto trasladado. |
NUEVO
impuestos.traslados[].base
requerido |
decimal | none | Señala la suma de los atributos BaseDR de los documentos relacionados del impuesto trasladado. No se permiten valores negativos |
NUEVO
impuestos.traslados[].impuesto
requerido |
string | none | Señala la clave del tipo de impuesto trasladado conforme al monto del pago. |
NUEVO
impuestos.traslados[].factor
requerido |
string | none | Señala la clave del tipo de factor que se aplica a la base del impuesto. |
NUEVO
impuestos.traslados[].tasa
requerido |
decimal | none | Señala el valor de la tasa o cuota del impuesto que se traslada en los documentos relacionados. Nota: Enviar siempre 6 decimales |
NUEVO
impuestos.traslados[].importe
requerido |
decimal | none | Señala la suma del impuesto trasladado, agrupado por ImpuestoP, TipoFactorP y TasaOCuotaP. No se permiten valores negativos. |