teFacturo

Comenzar

Sigue estos 4 pasos para emitir tu primer comprobante electrónico con TeFacturo.

1

Obten tus credenciales

Para utilizar la API necesitas tres datos proporcionados por Close2u:

RUC

Número de RUC de tu empresa

Email

Correo registrado en la plataforma

Clave

Contraseña de acceso a la API

Para pruebas, puedes crear una cuenta de pruebas en /registro.

Para producción, contacta a Close2u para recibir credenciales de producción.

2

Generar token

Realiza una petición POST al endpoint de login para obtener un token JWT.

POSThttps://jarvis.tefacturo.pe/tokenapi/secure/v2/login/token

Cuerpo de la petición:

Request Body
{
    "aplicacion": {
        "codigo": "1"
    },
    "clave": "{{CLAVE}}",
    "mail": "{{USUARIO}}",
    "ruc": {{RUC}}
}

La respuesta contiene un campo c2uToken que es un JWT válido por 8 horas. Usa este token en todas tus peticiones subsiguientes.

Para cuentas de prueba en este portal de docs, renueva el token como máximo cada 1 hora.

Ejemplo de respuesta:

Response 200 OK
{
    "c2uToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "fechaExpiracion": "2025-01-15T08:00:00.000+00:00",
    "ruc": "20123456789",
    "razonSocial": "MI EMPRESA S.A.C.",
    "estado": "ACTIVO"
}
3

Usa el token en tus peticiones

Incluye los siguientes headers en cada petición a la API.

Headers requeridos
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Content-Type: application/json

Authorization

Bearer seguido del valor de c2uToken

Content-Type

Siempre application/json

4

Emite tu primer comprobante

Con el token activo, realiza un PUT para emitir una factura.

PUT/apirest/comprobante/emitir/v2
Ejemplo de Factura
PUT https://jarvis.tefacturo.pe/apirest/comprobante/emitir/v2

{
    "cabecera": {
        "tipOperacion": "0101",
        "fecEmision": "2025-01-15",
        "horEmision": "10:30:00",
        "fecVencimiento": "2025-02-15",
        "codLocalEmisor": "0000",
        "tipDocUsuario": "6",
        "numDocUsuario": "20987654321",
        "rznSocialUsuario": "CLIENTE EJEMPLO S.A.C.",
        "tipMoneda": "PEN",
        "sumTotTributos": 18.00,
        "sumTotValVenta": 100.00,
        "sumPrecioVenta": 118.00,
        "sumImpVenta": 118.00,
        "tipDocComprobanteModifica": "",
        "numDocComprobanteModifica": ""
    },
    "detalle": [
        {
            "codUnidadMedida": "NIU",
            "ctdUnidadItem": 1,
            "codProducto": "PROD001",
            "desItem": "Servicio de consultoria",
            "mtoValorUnitario": 100.00,
            "sumTotTributosItem": 18.00,
            "codTriIGV": "1000",
            "mtoIgvItem": 18.00,
            "mtoBaseIgvItem": 100.00,
            "nomTributoIgvItem": "IGV",
            "codTipTributoIgvItem": "VAT",
            "tipAfeIGV": "10",
            "porIgvItem": 18.00,
            "mtoPrecioVentaUnitario": 118.00,
            "mtoValorVentaItem": 100.00
        }
    ]
}

Estos son solo casos básicos. Consulta la referencia completa de la API para ver todos los campos disponibles y tipos de comprobantes. Para otros casos, comunícate con ventas.