Ir al contenido

Guías

Emitir un CFE

La operación es POST /ventaCrear. El camino mínimo, con un e-Ticket de prueba, está en Primera factura.

Fixed elige el tipo a partir del cliente:

Cliente Venta Nota de crédito
Sin RUT, o sin cliente 101, e-Ticket 102, e-Ticket nota de crédito
Con RUT (tipoDocumento 2) 111, e-Factura 112, e-Factura nota de crédito

La API no emite comprobantes de exportación por este camino.

  1. Validá el par de credenciales con POST /validarCredenciales.
  2. Si la empresa tiene más de un local, obtené el id con POST /localesListado y mandalo en local.
  3. tasaIva de cada línea tiene que ser un valor cfeDgi de la empresa (Basic, Min, Exe, Exp u otro de los admitidos).
  4. totalAPagar tiene que ser el total que calcula Fixed. Si no coincide, responde E15.
  5. Generá una idempotencyKey nueva para esta venta. No la derives de los importes ni del cliente. Si la red se corta, reenviá el mismo JSON con la misma clave. La regla está en Idempotencia.

De una respuesta con codigoError vacío, guardá:

  • idCFE, para consultar, imprimir y devolver.
  • serie, numero y tipoCFE.
  • comprobante, que ya viene armado, por ejemplo e-Ticket A 1523.
  • urlA4, urlTicket o htmlTicket, según cómo lo vayas a mostrar.

xml es el CFE firmado y pdfBase64 es el PDF A4. En testing las URLs usan testing.fixed.uy. En producción usan acceso.fixed.uy.

Puede pasar que el CFE ya exista y el armado del PDF falle. En ese caso la respuesta sigue siendo HTTP 200, codigoError queda vacío y descripcion explica el problema. Usá el idCFE en POST /imprimirCFE o en POST /ventaConsulta. No reintentes ventaCrear sin la misma idempotencyKey: emitirías otro comprobante.