URL PRUEBAS: POST https://facturacion.789.mx/api/test/factura/crear
URL PRODUCCIÓN: POST https://facturacion.789.mx/api/factura/crear
Argumento | Tipo | Default | Descripción |
---|---|---|---|
main | Contiene los datos generales de la factura y los datos del emisor. | ||
razonSocial | string | none | Nombre ó Razón social del emisor. |
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 ingreso |
moneda | string | MXN | Código de la moneda, acorde al estándar ISO 4217 |
cambio | decimal | 1.0 | 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. |
formaDePago
requerido |
string | none | Código de la forma de pago según el catálogo del SAT. |
metodoDePago
requerido |
string | none | Código del método de pago según el catálogo del SAT. PUE. Pago en una sola exhibición PPD. Pago en parcialidades o diferido |
condicionesDePago | string | none | Expresa las condiciones comerciales aplicables para el pago del comprobante fiscal digital por Internet. Este atributo puede ser condicionado mediante atributos o complementos |
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 | Importe total facturado con impuestos incluido. |
subtotal
requerido |
decimal | none | Importe total facturado antes de impuestos. |
uso
requerido |
string | none | Clave del uso comprobante según el catálogo del SAT. |
fechaEmision | date | now() 2025-04-18T15:27:58 |
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" |
observaciones | string | none | Campo exclusivo para la representación impresa (PDF), se puede enviar un HTML básico como negritas y/o saltos de linea "<br>" |
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. |
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 | ||
razon_social | string | none | Nombre o Razón social del receptor |
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. | |
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. |
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 | Conjuto de datos de los productos o conceptos a facturar | ||
conceptos[].nombre
requerido |
string | none | Nombre del producto o servicio |
conceptos[].unidad | string | none | Descripción de la unidad de medida |
conceptos[].medidaKey
requerido |
string | none | Clave de la unidad de medida segun el catálogo del SAT |
conceptos[].productKey
requerido |
string | none | Clave del producto segun el catálogo del SAT |
conceptos[].cantidad | integer, decimal | 1 | Cantidad de productos o servicios vendidos, debe ser mayor a 0 |
conceptos[].precioUnitario
requerido |
decimal | none | Precio unitario del producto o servicio, debe ser mayor a 0, solo se permiete el número de decimales que indica el catálogo de monedas del SAT |
conceptos[].descuento | decimal | none | Descuento que se aplicará al producto o servicio, debe ser mayor a 0, solo se permiete el número de decimales que indica el catálogo de monedas del SAT |
conceptos[].total
opcional |
decimal | conceptos[].cantidad * conceptos[].precioUnitario | Importe total a factura del producto o servicio antes de impuestos, debe ser mayor a 0, solo se permiete el número de decimales que indica el catálogo de monedas del SAT |
conceptos[].impuestos | Conjunto | [] | Conjuto de datos con los impuestos federales a aplicar, este nodo puede omitirse sí no es necesario deducir impuestos. |
conceptos[].impuestos[].tasa
requerido |
decimal | none | Tasa del impuesto a aplicar, debe ser en decimal, ej. 16% se debe enviar como 0.16 |
conceptos[].impuestos[].tipo
requerido |
string | none | Indica el tipo de impuesto a aplicar (IVA, ISR, IEPS) |
conceptos[].impuestos[].factor | string | Tasa | Indica el factor del impuesto a aplicar (Tasa, Cuota, Exento) |
conceptos[].impuestos[].importe
opcional |
string | (conceptos[].total - conceptos[].descuento ) * conceptos[].impuestos[].tasa | Importe total del impuesto, debe ser mayor a 0, solo se permiete el número de decimales que indica el catálogo de monedas del SAT |
conceptos[].impuestos[].retencion
requerido |
boolean | none | Indica si se trata de una retención |
relation | string | none | Código de tipo relación entre facturas según el catálogo del SAT. |
related | array | none | Conjunto de datos con uno o más folios fiscales (UUID) de las facturas relacionadas. Este campo es obligatorio si el campo 'relation' existe. |
data: { "main":{ "razonSocial":"EMISOR SA DE CV", "rfc":"IIA040805DZ4", "tipo": "ingreso", "moneda": "MXN", "cambio": "1", "formaDePago": "03", "metodoDePago": "PUE", "folio": "88", "serie": "B", "total": "1.16", "subtotal": "1.00", "uso": "G01", "direccionFiscal":{ "calle":"1RO DE MAYO", "num_ext":"153-A", "num_int":null, "colonia":"SAN LUIS TLATILCO", "ciudad":"NAUCALPAN DE JUAREZ", "cp":"53580", "estado":"Estado de México", "pais":"MÉXICO", "localidad":"NAUCALPAN DE JUAREZ", } }, "receptor": { "razon_social": "RECEPTOR, S.A. DE C.V.", "rfc": "FGM830830749", "email": "facturas@receptor.mx", "direccion": { "calle": "JUAN PEREZ", "colonia": "TRANSITO", "ciudad": "CIUDAD DE MEXICO", "estado": "Ciudad de México", "codigo_postal": "06820", "pais": "MEXICO", "num_ext": "39", "num_int": "0" } }, "conceptos": [ { "nombre": "Prueba factura de ingreso", "unidad": "kg", "medidaKey": "58", "productKey": "13111205", "precioUnitario": "1.00", "cantidad": "1", "total": "1", "descuento": "0.00", "impuestos": [ { "tasa": 0.16, "tipo": "IVA", "retencion": false, "importe": 0.16 } ] } ], }
Código de respuesta: 200 OK
{ id: 1, success: "Exito", uuid: "6B558DD0-D8B2-4C42-9445-68CCB2BE2C12", url_xml: "./6B558DD0-xxxxx.xml", url_pdf: "./6B558DD0-xxxxx.pdf" }
Código de respuesta: 406 Not Acceptable
Nota: este tipo de error hace indicación a que uno de los datos no es valido o esta mal llenado
[ 0: "El RFC del receptor no tiene un valor valido" ]
Código de respuesta: 403 Forbidden
Nota: este tipo de error hace indicación a la falta de datos obligatorios dentro de la solicitud
{ error: "Undefined property: stdClass::$rfc" }