Skip to content

Inicio Rápido

Bienvenido a la API de Solerba. Esta guía te ayudará a emitir tu primera factura electrónica y entender los fundamentos de nuestra API Lite.

¿Prefieres usar el panel de facturación?

Si prefieres emitir facturas sin código, tus vendedores pueden hacerlo directamente desde el . Esta guía está enfocada en la integración por API.

Requisitos previos

Antes de comenzar, asegúrate de tener:

  • Una cuenta de Solerba con acceso al
  • Al menos una empresa registrada con sus credenciales de facturación configuradas
  • Al menos una sucursal creada para la empresa
  • Un paquete de folios activo asignado a la empresa
  • Un API Token generado para la empresa

Paso 1: Obtén tu API Token

  1. Inicia sesión en el
  2. Navega a Empresas y selecciona la empresa para la que deseas facturar
  3. En la sección de API Token, haz clic en Generar Token
  4. Copia el token generado y guárdalo de forma segura

Seguridad del token

El API Token tiene una vigencia de 120 días. Guárdalo de forma segura y nunca lo expongas en código fuente público. Usa variables de entorno para almacenarlo.

Paso 2: Haz tu primera llamada a la API

Probemos tu API Token consultando una factura existente:

bash
curl -X GET "https://api.solerba.com/external-api/invoicing/find?id=1" \
  -H "X-SOLERBA-TOKEN: tu-api-token-aqui"

Ejemplo en JS.

javascript
const response = await fetch('https://api.solerba.com/external-api/invoicing/find?id=1', {
  method: 'GET',
  headers: {
    'X-SOLERBA-TOKEN': process.env.SOLERBA_TOKEN
  }
});

const result = await response.json();
console.log(result);

Ejemplo en Py

python
import requests

response = requests.get(
    'https://api.solerba.com/external-api/invoicing/find',
    params={'id': 1},
    headers={
        'X-SOLERBA-TOKEN': 'tu-api-token-aqui'
    }
)

result = response.json()
print(result)

Si tu token es válido, recibirás una respuesta con los datos de la factura o un mensaje indicando que no fue encontrada.

Paso 3: Crea tu primera factura

Vamos a crear una factura básica a Consumidor Final (el caso más simple):

bash
curl -X POST "https://api.solerba.com/external-api/invoicing/lite" \
  -H "X-SOLERBA-TOKEN: tu-api-token-aqui" \
  -H "Content-Type: application/json" \
  -d '{
    "branchId": 1,
    "items": [
      {
        "description": "Servicio de consultoría",
        "qty": 1,
        "price": 100,
        "taxes": [
          {
            "code": "01"
          }
        ]
      }
    ],
    "payments": [
      {
        "type": "08",
        "amount": 107
      }
    ]
  }'

Ejemplo JS

javascript
const response = await fetch('https://api.solerba.com/external-api/invoicing/lite', {
  method: 'POST',
  headers: {
    'X-SOLERBA-TOKEN': process.env.SOLERBA_TOKEN,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    branchId: 1,
    items: [
      {
        description: 'Servicio de consultoría',
        qty: 1,
        price: 100,
        taxes: [{ code: '01' }]
      }
    ],
    payments: [
      { type: '08', amount: 107 }
    ]
  })
});

const result = await response.json();
console.log(result);

Ejemplo Py

python
import requests

response = requests.post(
    'https://api.solerba.com/external-api/invoicing/lite',
    headers={
        'X-SOLERBA-TOKEN': 'tu-api-token-aqui',
        'Content-Type': 'application/json'
    },
    json={
        'branchId': 1,
        'items': [
            {
                'description': 'Servicio de consultoría',
                'qty': 1,
                'price': 100,
                'taxes': [{'code': '01'}]
            }
        ],
        'payments': [
            {'type': '08', 'amount': 107}
        ]
    }
)

result = response.json()
print(result)

¿Qué estamos enviando?

  • branchId: ID de la sucursal desde la que se factura
  • items: Un producto/servicio de $100.00 con ITBMS al 7% (código 01)
  • payments: Pago en efectivo (código 08) por $107.00 (precio + impuesto)
  • Al no enviar client, se genera automáticamente como Consumidor Final

Paso 4: Entiende la respuesta

Si la factura se emitió correctamente, recibirás una respuesta como esta:

json
{
  "success": true,
  "result": {
    "id": 18874,
    "cufe": "FE0120000155704849-2-2021-3200012026021019600000460010129600000462",
    "urlPdf": "https://storage.solerba.com/invoices/18874.pdf",
    "datetime": "2026-03-20T15:30:00.000Z"
  }
}
CampoDescripción
idIdentificador único de la factura en Solerba
cufeCódigo Único de Factura Electrónica — el identificador fiscal ante la DGI
urlPdfURL para descargar el PDF de la factura
datetimeFecha y hora de emisión

Paso 5: Consulta tu factura

Puedes consultar la factura creada usando su id o su cufe:

bash
# Por ID
curl -X GET "https://api.solerba.com/external-api/invoicing/find?id=18874" \
  -H "X-SOLERBA-TOKEN: tu-api-token-aqui"

# Por CUFE
curl -X GET "https://api.solerba.com/external-api/invoicing/find?cufe=FE0120000155704849-2-2021-3200012026021019600000460010129600000462" \
  -H "X-SOLERBA-TOKEN: tu-api-token-aqui"

Ejemplo JS

javascript
// Por ID
const response = await fetch('https://api.solerba.com/external-api/invoicing/find?id=18874', {
  headers: { 'X-SOLERBA-TOKEN': process.env.SOLERBA_TOKEN }
});

const result = await response.json();
console.log(result);

Ejemplo Py

python
# Por ID
response = requests.get(
    'https://api.solerba.com/external-api/invoicing/find',
    params={'id': 18874},
    headers={'X-SOLERBA-TOKEN': 'tu-api-token-aqui'}
)

print(response.json())

Problemas comunes

ErrorCausaSolución
401 UnauthorizedToken inválido o expiradoVerifica tu API Token. Los tokens expiran cada 120 días.
400 Bad RequestDatos de la factura inválidosRevisa que todos los campos requeridos estén presentes y sean válidos.
Sin folios disponiblesEl paquete de la empresa no tiene foliosContacta al administrador para que asigne un nuevo paquete de folios.
404 Not FoundFactura no encontradaVerifica que el id o cufe sea correcto.

Siguientes pasos

  • — Aprende sobre los tipos de documento, impuestos y formas de pago
  • — Referencia completa del endpoint con todos los campos disponibles
  • — Cómo facturar a contribuyentes, gobierno y extranjeros
  • — Detalles sobre el manejo de API Tokens

Documentación oficial de Zelta