Emitir una Factura
(Campos minimos)

Antes de proceder a emitir una factura, habrá sido necesario haber creado un cliente de prueba o producción y haber cargado sus certificados.

Notarás que en el cuerpo de request no se agrega el Emisor, esto porque identificamos el emisor con el AuthToken, y no necesitamos agregarlo a la factua.

Recuerda que en CFDI 4.0 el SAT revisará que el Nombre, RFC y Régimen Fiscal del receptor coincidan con los datos que tienen registrados literalmente.
Es por ello que el error más común es que el nombre del receptor no coincida con el que el SAT tiene registrado.

POST: https://api.fiscalpop.com/api/v1/cfdi/stamp/:authToken

Receptores de Prueba

Para emitir facturas de prueba, deberás usar los siguientes RFCs de prueba, no será posible usar un RFC real ya que el ambiente de pruebas hace estas mismas validaciones y no permitirá emitir facturas con RFCs reales.:

RFC Nombre (Razón social) RFC
Nombre (Razón social)
Domicilio fiscal Régimen Fiscal
MASO451221PM4 MARIA OLIVIA MARTINEZ SAGAZ MASO451221PM4
MARIA OLIVIA MARTINEZ SAGAZ
80290 605, 612, 621, 625
AABF800614HI0 FELIX MANUEL ANDRADE BALLADO AABF800614HI0
FELIX MANUEL ANDRADE BALLADO
86400 605, 612, 621, 625, 626
CUSC850516316 CESAR OSBALDO CRUZ SOLORZANO CUSC850516316
CESAR OSBALDO CRUZ SOLORZANO
45638 605, 612, 621, 625, 626
ICV060329BY0 INMOBILIARIA CVA ICV060329BY0
INMOBILIARIA CVA
33826 601, 626
ABC970528UHA ARENA BLANCA SCL DE CV ABC970528UHA
ARENA BLANCA SCL DE CV
80290 601, 626
CTE950627K46 COMERCIALIZADORA TEODORIKAS CTE950627K46
COMERCIALIZADORA TEODORIKAS
57740 601, 626
AMO8905171T1 ALBERCAS MONTAÑO AMO8905171T1
ALBERCAS MONTAÑO
22000 601, 626
GCA000415UX7 GRUPO DE CONSTRUCCION ARQUITECTONICA NACIONAL GCA000415UX7
GRUPO DE CONSTRUCCION ARQUITECTONICA NACIONAL
11830 601, 626
HHN0507087N4 HIDRO HORTICOLA DEL NOROESTE HHN0507087N4
HIDRO HORTICOLA DEL NOROESTE
82198 601, 626

Campos del Request

  • formaPago: Forma de pago de esta factura, tal como Efectivo, transferencia, débito, etc. Consultar catálogo SAT.

  • metodoPago: Existen tres tipos de método de pago, PUE: Pago en única exhibición, PIP: Pago inicial y en parcialidades,PPD: Pago en parcialidades o diferido.

  • lugarExpedicion:Código postal del emisor de la factura, este campo sobrescribe el valor del perfil del cliente.

  • receptor: Un solo objeto que representa al receptor con las siguientes características.

    • receptor.nombre: Razón social del receptor de la factura.

    • receptor.rfc: RFC del receptor de la factura (Ejemplo muestra RFC de venta a mostrador).

    • receptor.usoCFDI: Clave del uso de lafactura. Consultar catálogo SAT

    • receptor.regimen: (CFDI 4.0) Clave del Régimen del receptor. Consultar catálogo SAT

    • receptor.zip: (CFDI 4.0) Código postal del Receptor, en caso de RFC genérico se usa el Lugar de Expedición del Emisor Debe ser un String de 5 carácteres numéricos

  • conceptos[ ]: Un array de conceptos independientes que integran la factura.

    • conceptos.claveProdServ: Clave del producto o servicio. Consultar catálogo SAT

    • conceptos.claveUnidad: Clave de la unidad de medición. Consultar catálogo SAT

    • conceptos.cantidad: Cantidad en número entero o decimal de productos vendidos.

    • conceptos.descripcion: Breve descripción o nombre del producto / servicio.

    • conceptos.valorUnitario: Costo por unidad en número entero o decimal.

    • conceptos.impuestos [ ]: Un array de impuestos asignados a este concepto, puede incluír varios, tal como IVA retención, IVA traslado, IEPS, etc.

      • conceptos.impuestos.type: Tipo de impuesto, iva, ieps, isr.

      • conceptos.impuestos.retencion: Booleano que indica si el impuesto es retenido (true) o traslado (false, DEFAULT).

      • conceptos.impuestos.tasa El valor del impuesto en tasa debe ser un número decimal representando el porcentaje (0.16 es 16%).
        Si se utiliza tasa como en el ejemplo, es valor decimal del porciento.

      • conceptos.impuestos.cuota: El valor del impuesto en cuota debe ser un número absoluto en $ MXN / unidad.
        Si se utiliza cuota debe ser una cantidad fija (no porcentual) del impuesto, comunmente usado en IEPS.

Campos de la Respuesta

  • uuid: El ID de la factura, la clave unica para identificar un CFDI.

  • created: Cuando fue creada la factura, indistinto de la fecha de la factura

  • json: Representación del XML en JSON, util cuando se quiere usar un procesador de PDFs propio u alguna deconstrucción del contenido de la factura sin tener que parsear el XML.

  • xml: El string del XML de la factura, el cual es el CFDI en si.

  • authToken: El token del cliente emisor, usado para relacionar facturas con su emisor.

  • status: true | false True significa que la factura está vigente, false cuando la factura está cancelada.

  • sandbox: true | false Si la factura fué generada por cliente de prueba o producción, false es de producción, true es una factura de prueba.

CFDI Emitir

JSON

Cuerpo del request

(application/json)


{
    "formaPago": "01",
    "metodoPago": "PUE",
    "lugarExpedicion": "06700",
    "receptor": {
        "nombre": "PUBLICO EN GENERAL",
        "rfc": "XAXX010101000",
        "usoCFDI": "S01",
        "regimen": "616",
        "zip": "06700",
    },
    "conceptos": [
        {
            "claveProdServ": "10101500",
            "claveUnidad": "KGM",
            "cantidad": 1,
            "descripcion": "PROYECTO ILUMINACION MASCAREÑO",
            "valorUnitario": 2000,
            "impuestos": [
                {
                    "type": "iva",
                    "retencion": false,
                    "tasa": 0.16
                }
            ]
        }
    ]
}

Respuesta correcta


{
    "uuid": "3407BE43-651B-45B2-A721-D41295ED587B",
    "created": "2018-09-07T17:54:26.150Z",
    "json": {
        "@": {
            "xmlns:cfdi" : "http://www.sat.gob.mx/cfd/4",
			"xmlns:xsi" : "http://www.w3.org/2001/XMLSchema-instance",
			"xsi:schemaLocation" : "http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd",
			"Version" : "4.0",
            "Serie": "A",
            "Folio": "01",
            "Fecha": "2018-09-07T12:54:25",
            "TipoDeComprobante": "I",
            "FormaPago": "01",
            "MetodoPago": "PUE",
            "LugarExpedicion": "06700",
            "SubTotal": "2000.00",
            "Total": "2320.00",
            "Moneda": "MXN",
            "Sello": "Eh49rUg0RiMsNmuiNwGay3oxWt9+Y16s+Ui9bq5+jzSicfkxPfUdCumYsAOndQRfUUK+cuWn1gCWBa/guFY1hwJYvFg/5X4gAZ...",
            "Certificado": "MIIF6zCCA9OgAwIBAgIUMjAwMDEwMDAwMDAzMDAwMDU2OTIwDQYJKoZIhvcNAQELBQAwggFmMSAwHgYDVQQDDBdBLkMu...",
            "NoCertificado": "20001000000300005692",
            "Exportacion" : "01"                        // CFDI 4.0
        },
        "cfdi:Emisor": {
            "@": {
                "Nombre": "INNOVACION Y DESARROLLO",
                "Rfc": "ACO560518KW7",
                "RegimenFiscal": "601"
            }
        },
        "cfdi:Receptor": {
            "@": {
                "Nombre": "PUBLICO EN GENERAL",
                "Rfc": "XAXX010101000",
                "UsoCFDI": "S01",
                "DomicilioFiscalReceptor" : "06700",    // CFDI 4.0
				"RegimenFiscalReceptor" : "616"         // CFDI 4.0
            }
        },
        "cfdi:Conceptos": {
            "cfdi:Concepto": [
                {
                    "@": {
                        "ClaveProdServ": "10101500",
                        "ClaveUnidad": "KGM",
                        "Cantidad": "1",
                        "Descripcion": "PROYECTO ILUMINACION MASCAREÑO",
                        "ValorUnitario": "2000.00",
                        "Importe": "2000.00",
                        "ObjetoImp" : "02"              // CFDI 4.0
                    },
                    "cfdi:Impuestos": {
                        "cfdi:Traslados": {
                            "cfdi:Traslado": [
                                {
                                    "@": {
                                        "Base": "2000.00",
                                        "Impuesto": "002",
                                        "TipoFactor": "Tasa",
                                        "TasaOCuota": "0.160000",
                                        "Importe": "320.00"
                                    }
                                }
                            ]
                        }
                    }
                }
            ]
        },
        "cfdi:Impuestos": {
            "@": {
                "TotalImpuestosTrasladados": "320.00"
            },
            "cfdi:Traslados": {
                "cfdi:Traslado": [
                    {
                        "@": {
                            "Impuesto": "002",
                            "TipoFactor": "Tasa",
                            "TasaOCuota": "0.160000",
                            "Importe": "320.00"
                        }
                    }
                ]
            }
        }
    },
    "xml": ".....",
    "authToken": "...",
    "status": true,
    "sandbox": false
}