Facturas de Egresos (Notas de credito)


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 egreso
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.
Debe ser igual al documento relacionado
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
Debe ser igual al documento relacionado
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 string G02 Clave del uso comprobante según el catálogo del SAT.
fechaEmision date now()
2025-04-18T15:13:35
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"
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.
email 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 concetos a facturar.
Por disposición de SAT en este tipo de documento, solo se permite uno, en el cual se debe detallar todos los casos.
conceptos[].nombre
requerido
string none Nombre del producto o servicio
conceptos[].unidad string none Descripción de la unidad de medida.
Por disposición de SAT en este tipo de documento siempre se debe de enviar 'ACTIVIDAD'
conceptos[].medidaKey
requerido
string none Clave de la unidad de medida.
Por disposición de SAT en este tipo de documento siempre se debe de enviar 'ACT'
conceptos[].productKey
requerido
string none Clave del producto.
Por disposición de SAT en este tipo de documento siempre se debe de enviar '84111506'
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[].cantidad integer, decimal 1 Cantidad de productos o servicios vendidos, debe ser mayor a 0
conceptos[].total
requerido
decimal none Importe total a factura del producto o servicio con impuestos incluidos, 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[].retencion
requerido
boolean none Indica si se trata de una retención
relation string '01' Código de tipo relación entre facturas según el catálogo del SAT.
related
requerido
array none Conjunto de datos con uno o más folios fiscales (UUID) de las facturas relacionadas.
ipn Parametro opcional, permite recibir autonotificación del status del CFDI.
Ver ejemplo
ipn.url
requerido
url none Endpoint o api donde ser recibiran las notificaciones de los cambios de status del CFDI
ipn.data_request
requerido
string, object none Conjunto de datos de control interno.
Estos datos tal cual como sean enviados serán recibidos por el Endpoint o api.
data: {
    "main":{
        "razonSocial":"EMISOR SA DE CV",
        "rfc":"IIA040805DZ4",
        "tipo": "egreso",
        "moneda": "MXN",
        "cambio": "1",
        "formaDePago": "03",
        "metodoDePago": "PUE",
        "folio": "88",
        "serie": "B",
        "total": "1.16",
        "subtotal": "1.00",
        "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 nota de credito",
            "total": "1.16",
            "unidad": "ACTIVIDAD",
            "medidaKey": "ACT",
            "productKey": "84111506",
            "precioUnitario": "1.00",
            "impuestos": [
                {
                    "tasa": 0.16,
                    "tipo": "IVA",
                    "retencion": false
                }
            ]
        }
    ],
    "related": [
        "A512636A-CF49-4A12-83A3-036BACDDEFCF"
    ],
    "relation": "01",
    "ipn": {
       "url":"http://***.cloudwaysapps.com/api/requestStatus",
       "data_request": 1,
    }
}
            


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"
}
            


Datos enviado al endpoint o api

{
    "data_request": 1,
    "id": 1,
    "code_status": 200,
    "uuid": "6B558DD0-D8B2-4C42-9445-68CCB2BE2C12",
    "url_xml": "./6B558DD0-xxxxx.xml",
    "url_pdf":"./6B558DD0-xxxxx.pdf"
}

            


Datos enviado al endpoint o api

{
    "data_request": 1,
    "code_status": 403,
    "error": "Undefined property: stdClass::$rfc"
}