Skip to main content
Bienvenido al Quickstart de Factio. En esta guía, aprenderás a emitir tu primera factura electrónica válida ante el SRI en el entorno de pruebas (Sandbox).

Requisitos previos

  1. Una cuenta en Factio.
  2. Un Certificado Digital (.p12) de firma electrónica y su respectiva contraseña.
  3. Un RUC activo (puedes usar un RUC de prueba para el entorno Sandbox).

1. Obtener una API Key

Para interactuar con la API, necesitas una clave de autenticación.
  1. Ve a Configuración > API Keys en tu panel de Factio.
  2. Haz clic en Crear API Key.
  3. Asegúrate de estar en el entorno Sandbox (la clave debe empezar con fct_test_).
  4. Cópiala y guárdala en un lugar seguro.

2. Subir tu certificado digital

Factio se encarga de firmar los XML por ti, pero necesita tu certificado digital vigente.
  1. Ve a Configuración > Certificados.
  2. Sube tu archivo .p12 e ingresa la contraseña correspondiente.
  3. Factio validará que la firma sea correcta y no esté expirada.

3. Configurar tu emisor y establecimiento

Antes de emitir, necesitas definir quién emite (Issuer) y desde dónde (Establishment & Emission Point).
  1. En Configuración > Perfil Fiscal, verifica que tu RUC y Razón Social estén correctos.
  2. Asegúrate de tener al menos un Establecimiento (ej. 001) y un Punto de Emisión (ej. 001) activos.
  3. Verifica qué secuencial fiscal es el próximo a utilizar (Factio lo administra automáticamente).

4. Emitir la factura

¡Todo listo! Hagamos un request al endpoint de facturas. Este endpoint es asíncrono; Factio reservará el secuencial fiscal, firmará el XML en segundo plano y lo enviará al SRI.
curl -X POST https://api.staging.factioapp.com/documents \
  -H "X-API-Key: fct_test_TU_API_KEY_AQUI" \
  -H "Idempotency-Key: 123e4567-e89b-12d3-a456-426614174000" \
  -H "Content-Type: application/json" \
  -d '{
    "document_type": "01",
    "issue_date": "2024-01-15",
    "issuer_id": "TU_ISSUER_ID",
    "establishment_id": "TU_ESTABLISHMENT_ID",
    "emission_point_id": "TU_EMISSION_POINT_ID",
    "buyer_id_type": "04",
    "buyer_id": "1792146739001",
    "buyer_name": "Empresa de Pruebas S.A.",
    "buyer_email": "[email protected]",
    "buyer_address": "Av. de los Shyris N35-17",
    "subtotal": "100.00",
    "total_discount": "0.00",
    "total_tax": "15.00",
    "total": "115.00",
    "lines": [
      {
        "code": "PROD-001",
        "description": "Servicio de Consultoría",
        "quantity": "1.00",
        "unit_price": "100.00",
        "discount": "0.00",
        "subtotal": "100.00",
        "taxes": [
          {
            "tax_code": "2",
            "tax_percentage_code": "4",
            "tax_rate": "15.00",
            "taxable_base": "100.00",
            "tax_amount": "15.00"
          }
        ]
      }
    ],
    "payments": [
      {
        "payment_method_code": "20",
        "total": "115.00"
      }
    ]
  }'
La respuesta será un 202 Accepted con el ID del documento en proceso:
{
  "id": "doc_01HZ3K...",
  "status": "DRAFT",
  "sequential": "000000001",
  "message": "Document accepted for async processing"
}

5. Consultar el estado de la factura

Para saber si el SRI autorizó la factura, puedes hacer polling del documento usando su id.
curl -X GET https://api.staging.factioapp.com/documents/doc_01HZ3K... \
  -H "X-API-Key: fct_test_TU_API_KEY_AQUI"
Si todo fue correcto, recibirás un status AUTHORIZED y el campo authorization_number con la clave de acceso oficial. Si hubo algún error con el SRI, el status será REJECTED o MANUAL_REVIEW_REQUIRED. ¡Felicidades! Has emitido tu primera factura en Factio.