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.
Si estas cambiando CFDI 3.3 a 4.0 solamente hay dos campos de receptor que debes agregar marcados en azul a continuación.
POST: https://api.fiscalpop.com/api/v1/cfdi/stamp/:authToken
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 utilizatasa
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 utilizacuota
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.