← Volver a docs

Facturación electrónica con BCV

En Venezuela, muchas obligaciones fiscales —IGTF, IVA, retenciones de IVA e ISLR— se calculan o se expresan en bolívares usando la tasa oficial publicada por el Banco Central de Venezuela (BCV). Cotizave te da acceso a esa tasa con una sola llamada, sin necesidad de parsear el sitio del BCV ni mantener scrapers frágiles.

Esta guía muestra cómo obtener la tasa BCV del día, aplicarla en un cálculo de factura y qué buenas prácticas seguir para que tu integración sea robusta.


Por qué la tasa BCV importa en facturación

Cuando una empresa venezolana emite una factura en divisas o realiza operaciones en moneda extranjera, la normativa tributaria exige expresar los montos en bolívares al tipo de cambio oficial. Esto afecta directamente:

  • IGTF (Impuesto a Grandes Transacciones Financieras): se aplica sobre el equivalente en bolívares de las transacciones en moneda extranjera.
  • IVA: la base imponible en VES se calcula con la tasa BCV vigente a la fecha de la operación.
  • Retenciones de IVA e ISLR: los agentes de retención deben aplicar los porcentajes sobre el monto en bolívares convertido a tasa oficial.

Usar la tasa incorrecta puede generar diferencias en el cálculo fiscal y problemas ante el SENIAT. La tasa BCV de Cotizave es la misma que publica el banco central en cada jornada hábil.


Obtener la tasa BCV del día

Usa el endpoint GET /v1/fx/rates/reference para obtener la tasa oficial más reciente:

curl

curl -X GET "https://api.cotizave.com/v1/fx/rates/reference" \
  -H "X-API-Key: ctz_live_aB3cD8fG2hJ5kL9mN1pQ4rS7tU0vWxYzA6bC3d" \
  -H "Accept: application/json"

JavaScript

const res = await fetch("https://api.cotizave.com/v1/fx/rates/reference", {
  headers: {
    "X-API-Key": process.env.COTIZAVE_API_KEY,
    "Accept": "application/json",
  },
});

const { mid } = await res.json();
// mid === tasa BCV del día (VES por USD)
console.log("Tasa BCV:", mid);

La respuesta incluye el campo mid con el valor en VES por USD publicado por el BCV.


Ejemplo: convertir USD a VES y aplicar IVA 16 %

Supón que tienes una factura de $120 USD y necesitas expresarla en bolívares con IVA:

// 1. Obtén la tasa del día
const mid = await fetchBCVRate(); // ej: 46.35

// 2. Convierte el monto base a VES
const amountUSD = 120;
const amountVES = amountUSD * mid;             // 5 562,00 VES

// 3. Calcula IVA 16 %
const IVA_RATE = 0.16;
const ivaVES = amountVES * IVA_RATE;           // 889,92 VES

// 4. Total de la factura
const totalVES = amountVES + ivaVES;           // 6 451,92 VES

console.log({
  base_usd: amountUSD,
  tasa_bcv: mid,
  base_ves: amountVES.toFixed(2),
  iva_ves: ivaVES.toFixed(2),
  total_ves: totalVES.toFixed(2),
});

Si también necesitas calcular IGTF (actualmente 3 % sobre operaciones en divisas), aplícalo sobre amountVES antes de sumar el IVA, según la normativa vigente de tu sector.


Recomendaciones de integración

Fallback al último valor conocido

Si la API responde con un error 5xx, no bloquees la emisión de la factura. Usa el último valor en cache como fallback y registra el incidente en tu sistema de logs. Cuando la API vuelva, el siguiente ciclo de cache actualizará el valor automáticamente.

Quién publica la tasa y cuándo

La tasa BCV es publicada por el Banco Central de Venezuela en su sitio oficial, típicamente una vez por día hábil (lunes a viernes, excepto feriados bancarios). Cotizave monitorea la publicación y actualiza el dato en cuanto el BCV lo libera, usualmente durante las mañanas. Los días no hábiles la tasa permanece igual al último valor publicado.


Con esta guía tienes todo lo necesario para integrar la tasa BCV en tu flujo de facturación de forma confiable y resiliente. Si tienes dudas, escríbenos a support@cotizave.com.