Emitir una Factura
(Campos completos)

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

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

Campos del Request

  • fecha: Fecha de la factura, entre el tiempo actual y hasta 72 horas atrás, si un cliente te pide hacer la factura de hace X dias, este es el campo a modificar.

  • 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.

  • tipoDeComprobante:'I' | 'E' | 'P' | 'N' | 'T', I de ingreso, E de egreso (Nota de crédito), P de Pago (Complemento Pago), N de Nómina (Complemento nómina) y T de traslado.

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

  • serie: La serie, comúnmente indica al grupo al que pertenece la factura, la serie SNG puede tener varias facturas (SNG - 01)

  • folio:La secuencia dentro de la serie de esta factura, E.G., Serie SNG y Folio 01a (SNG-01a).

  • moneda:Clave de la moneda en que la factura se declara (USD, MXN, CAD, etc.).

  • tipoCambio:Valor requerido para convertir monedas que no están en MXN a pesos.

  • condicionesDePago: Texto libre, usado para indicaciones especiales al comprador sobre el pago.

  • note: Texto libre, Nota al pie del PDF, usado de manera aleatoria, aquí es donde pondrías .

  • 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.email: Correo del receptor, si se agrega se mandará el PDF y el XML al receptor.

  • 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.descuento: Descuento en el prodúcto, se declara antes de impuestos (no incluir impuesto aquí) y es por el total de los pedidos
      Calcular descuentos como SubTotal = (valorUnitario * cantidad) - descuento

    • conceptos.noIdentificacion: Algun texto para relacionar el concepto con inventario del vendedor, comúnmente SKU, pero puede ser cualquiera.

    • 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.

  • cfdiRelacionados: Objeto con la relacion entre 1 o mas facturas con esta. Comúnmente usado en Notas de crédito y pago de anticipos.

    • cfdiRelacionados.tipoRelacion: '01' | '02' | '03' | '04' | '05' | '06' | '07' | '08' | '09', codigo que define la relacion con las facturas de abajo y la que vas a emitir.
      Si deseas conocer mas sobre estas claves de relación entra aquí

    • cfdiRelacionados.uuids: Array de los UUIDs que estas relacionando cone sta factura.

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)


{
    "fecha": "2020-08-29T00:41:03.041Z", // Fecha de la factura en formato JSON (new Date().toJSON() en JS)
    "formaPago": "01",
    "metodoPago": "PUE",
    "tipoDeComprobante": "I", // 'I' | 'E' | 'P' | 'N' | 'T'
    "lugarExpedicion": "06700",
    "serie": "A", // Serie de la factura
    "folio": "01", // Folio de la factura
    "moneda": "USD", 
    "tipoCambio": "22.1", 
    "condicionesDePago": "En contra entrega", 
    "note": "Alguna nota", // Mensaje en el pié del PDF
    "receptor": {
        "nombre": "Mostrador",
        "rfc": "XAXX010101000",
        "usoCFDI": "G03",
        "email": "jorge@example.com", // Agregar correo, envia el PDF y XML al cliente
    },
    "conceptos": [
        {
            "claveProdServ": "10101500",
            "claveUnidad": "KGM",
            "cantidad": 1,
            "descripcion": "PROYECTO ILUMINACION MASCAREÑO",
            "valorUnitario": 2000,
            "descuento": 120, // Descuento es sin impuestos (antes de impuestos)
            "noIdentificacion": "SKU-01-569",
            "impuestos": [
                {
                    "type": "iva",
                    "retencion": false,
                    "tasa": 0.16
                }
            ]
        }
    ],
    "cfdiRelacionados": {
        "tipoRelacion": "01", //  '01' | '02' | '03' | '04' | '05' | '06' | '07' | '08' | '09';
        "uuids": ["2407BE43-651B-45B2-A721-B32295ED779C", "2407BE43-651B-45B2-A721-B32295A1210E"]
    }
}

Respuesta correcta


{
    "uuid": "3407BE43-651B-45B2-A721-D41295ED587B",
    "created": "2018-09-07T17:54:26.150Z",
    "json": {
        "@": {
            "xmlns:cfdi": "http://www.sat.gob.mx/cfd/3",
            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
            "xsi:schemaLocation": "http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd",
            "Version": "3.3",
            "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"
        },
        "cfdi:Emisor": {
            "@": {
                "Nombre": "Horacio Llanos",
                "Rfc": "ACO560518KW7",
                "RegimenFiscal": "601"
            }
        },
        "cfdi:Receptor": {
            "@": {
                "Nombre": "Mostrador",
                "Rfc": "XAXX010101000",
                "UsoCFDI": "G03"
            }
        },
        "cfdi:Conceptos": {
            "cfdi:Concepto": [
                {
                    "@": {
                        "ClaveProdServ": "10101500",
                        "ClaveUnidad": "KGM",
                        "Cantidad": "1",
                        "Descripcion": "PROYECTO ILUMINACION MASCAREÑO",
                        "ValorUnitario": "2000.00",
                        "Importe": "2000.00"
                    },
                    "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
}