tefacturo

Emitir Factura Electrónica

Servicio para emitir facturas electrónicas validadas por SUNAT. La factura es el comprobante de pago utilizado en transacciones entre empresas (B2B).

Reglas de uso importantes

  • tipoIntegracion: OFFLINE → tu propio ERP se encarga del correlativo (serie/número). ERP → tefacturo se encarga del correlativo.
  • numero (en datosDocumento): no puede estar duplicado. Si el número ya fue utilizado, mapea/controla el correlativo para no reenviarlo.
  • fechaEmision: un comprobante (CPE) se puede declarar con un máximo de 3 días de anterioridad.
  • Reemplaza el RUC fijo del ejemplo por el RUC emisor usado en la URL y el token; los tres deben coincidir.
  • Los valores de la respuesta 200, como serie, número, hash, firma e identificador, son ilustrativos; el API genera sus valores reales en cada solicitud.
PUThttps://jarvis.tefacturo.pe/factura-api/invoice2u/integracion/factura/{ruc}

Servicio para emitir facturas electrónicas. Reemplaza {ruc} con el RUC del emisor. El comprobante será firmado digitalmente y enviado a SUNAT de forma automática.

Headers

HeaderValorDescripción
AuthorizationBearer {token}Token de autenticación obtenido del endpoint de login
Content-Typeapplication/jsonTipo de contenido del cuerpo de la solicitud

Cuerpo de la Solicitud

Envía el payload completo del comprobante. El panel derecho usa los mismos casos de la página de Ejemplos JSON: factura gravada, factura crédito, factura exonerada y factura gratuita.

Los ejemplos completos están en el panel derecho para copiar rápidamente.

Respuesta Exitosa (200)

Cuando la factura es emitida correctamente, la API retorna los datos generados del comprobante: firma, hash, identificador, serie, número, total, observación y tipo_documento. Esto confirma que la factura fue firmada digitalmente, enviada a SUNAT y aceptada satisfactoriamente.

Revisa el panel derecho para ver y copiar la respuesta de ejemplo.

Tipo de Registro de Precios

El campo tipoRegistro dentro del objeto close2u define cómo se interpretan los precios enviados en el detalle del documento:

ValorDescripción
PRECIOS_SIN_IGVLos precios enviados en valorVentaUnitarioItem NO incluyen IGV. El sistema calculará el IGV (18%) automáticamente sobre el valor enviado.
PRECIOS_CON_IGVLos precios enviados YA incluyen IGV. El sistema descompondrá el precio para obtener la base imponible y el impuesto correspondiente.

Nota técnica de cálculo IGV

Usa el campo unitario según la afectación IGV del ítem y close2u.tipoRegistro. El sistema completa el valor de venta o precio de venta complementario cuando puede derivarlo por la regla de IGV.

CasoCampo a enviarInterpretación del sistema
Gravado + PRECIOS_SIN_IGVvalorVentaUnitarioItemValor de venta sin IGV. El sistema calcula el IGV y obtiene el precio de venta.
Gravado + PRECIOS_CON_IGVprecioVentaUnitarioItemPrecio de venta con IGV. El sistema lo descompone para reemplazar/obtener el valor de venta y el impuesto.
Exonerado o inafectovalorVentaUnitarioItemNo hay IGV por calcular. En ausencia de IGV, el sistema asume el valor enviado como base y lo usa como precio de venta.

Referencia de Campos

Tabla completa de los campos del cuerpo de la solicitud:

Objeto close2u3 campos
CampoTipoRequeridoDescripción
tipoIntegracionstringTipo de integración. Usar "OFFLINE"
tipoPlantillastringPlantilla del PDF. "01" es la plantilla estándar
tipoRegistrostringPRECIOS_CON_IGV o PRECIOS_SIN_IGV
Objeto datosDocumentocampos principales
CampoTipoRequeridoDescripción
seriestringSerie del comprobante (ej: FFA6). Debe iniciar con "F" para facturas
numeronumberNúmero correlativo del comprobante
monedastringCódigo de moneda ISO 4217. PEN (soles), USD (dólares)
fechaEmisionstringFecha de emisión en formato YYYY-MM-DD
horaEmisionstring | nullNoHora de emisión en formato HH:mm:ss. Si es null, se usa la hora actual
formaPagostringCONTADO o CREDITO
medioPagostringNoMedio de pago: DEPOSITO_CUENTA, TRANSFERENCIA, EFECTIVO, etc.
condicionPagostringNoCondicion de pago: CONTADO, CREDITO_30, CREDITO_60, etc.
ordencomprastring | nullNoNúmero de orden de compra asociada
glosastringNoObservaciones o notas adicionales del comprobante
Objeto detalleDocumentoarray (items)
CampoTipoRequeridoDescripción
codigoProductostringCódigo interno del producto o servicio
descripcionstringDescripción detallada del producto o servicio
tipoAfectacionstringTipo de afectación IGV: GRAVADO_OPERACION_ONEROSA, EXONERADO_OPERACION_ONEROSA, INAFECTO_OPERACION_ONEROSA
unidadMedidastringUnidad de medida: UNIDAD_BIENES, KILOGRAMO, SERVICIO, etc.
cantidadstringCantidad de unidades del producto
valorVentaUnitarioItemnumberPrecio unitario. Depende del tipoRegistro (con o sin IGV)
Objeto emisordatos del emisor
CampoTipoRequeridoDescripción
correostringCorreo electrónico del emisor
nombreComercialstringNombre comercial de la empresa emisora
nombreLegalstringRazón social registrada en SUNAT
numeroDocumentoIdentidadstringRUC del emisor (11 dígitos)
tipoDocumentoIdentidadstringTipo de documento: RUC
Objeto receptorcliente
CampoTipoRequeridoDescripción
correostringCorreo electrónico del cliente
correoCopiastringNoCorreo adicional para copia del comprobante
domicilioFiscal.direccionstringNoDirección fiscal del cliente
domicilioFiscal.ubigeostringNoCódigo de ubigeo INEI (6 dígitos)
nombreComercialstringNombre comercial del cliente
nombreLegalstringRazón social del cliente
numeroDocumentoIdentidadstringRUC o DNI del cliente
tipoDocumentoIdentidadstringRUC, DNI, CE (carnet de extranjería), PASAPORTE
Objeto informacionAdicionalopcional
CampoTipoRequeridoDescripción
tipoOperacionstringTipo de operación SUNAT: VENTA_INTERNA, EXPORTACION, etc.
coVendedorstringNoCódigo del vendedor asignado al comprobante

Manejo de Errores

CódigoEstadoDescripción
400Bad RequestEl cuerpo de la solicitud contiene errores de validación. Verifique los campos requeridos y sus formatos.
401UnauthorizedToken de autenticación inválido, expirado o no proporcionado.
403ForbiddenNo tiene permisos para emitir comprobantes con el RUC indicado.
404Not FoundEl RUC proporcionado no está registrado en el sistema.
500Internal Server ErrorError interno del servidor. Intente nuevamente o contacte soporte.

Endpoints Relacionados