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.
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
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.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
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) - descuentoconceptos.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 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.
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.