⚡ Facturación electrónica en Paraguay

No cambies tu sistema. Poné un Botón Mágico.

Emití facturación electrónica sin rehacer tu software: agregamos un botón mágico que arma el JSON, envía a SIFEN y devuelve el CDC.

✓ API✓ Factura y nota de crédito✓ CDC y lote SIFEN
Ingresar
Botón Mágico facturación electrónica

Tu sistema sigue funcionando

Si tenés un sistema que funciona súper bien, no hace falta cambiarlo. Nosotros te integramos un Botón Mágico: al presionarlo, tu sistema manda los datos de la venta, el servicio arma el JSON correcto, crea el documento electrónico, crea el lote, lo envía a SIFEN y devuelve el CDC para que tu software continúe trabajando normalmente.

📤

1. Tu sistema envía JSON

Desde tu POS, ecommerce o sistema administrativo llamás a /ws-enviar con cliente, ítems y pagos.

🪄

2. Botón Mágico procesa

Validamos empresa, freepys, token API, documento, lote y comunicación con el servidor SIFEN.

3. Recibís CDC

Tu sistema recibe document_id, batch_id, estado y CDC para guardar en tu factura local.

Planes mensuales

Cada factura o nota de crédito emitida descuenta 1 freepy. Los freepys se restauran cuando se registra el pago mensual del plan.

Inicio Básico
150.000 Gs
100 freepys

Ideal para iniciar con facturación electrónica.

Pequeños Saltamontes
220.000 Gs
200 freepys

Para negocios con más movimiento mensual.

Empleadito de Naput
370.000 Gs
300 freepys

Más freepys para operaciones frecuentes.

Sos un Inquilino
600.000 Gs
1.000 freepys

Volumen alto para empresas y desarrolladores.

Patron Guazu
2.200.000 Gs
Ilimitado

Uso ilimitado mensual para grandes integraciones.

API para integrar fácil

Pensado para programadores: desde tu POS, ERP, ecommerce o sistema administrativo enviás JSON a Botón Mágico y recibís document_id, batch_id, estado, CDC y freepys restantes. Cada emisión exitosa descuenta 1 freepy.

📤 Enviar documento

POST https://boton.innoven.com.py/ws-enviar

Tipos aceptados: factura y nota_credito. Usá el Token API de la empresa.

Si el timbrado con ese tipo no existe, se crea; si existe, actualiza est., punto y nro. actual.

🔎 Consultar estado

POST https://boton.innoven.com.py/ws-consultar

Podés consultar por document_id, batch_id o CDC para actualizar el estado en tu sistema local.

Esto es lo que debés mandar por PHPCopiar y adaptar
<?php
$token = 'TU_TOKEN_API';
$url = 'https://boton.innoven.com.py/ws-enviar';

$payload = [
  'tipo_documento' => 'factura',
  'enviar_sifen' => true,
  'timbrado' => '80078258',
  'est' => '001',
  'punto' => '001',
  'nro_actual' => '0001000',
  'vigencia_desde' => '2026-01-01',
  'cliente' => [
    'ruc' => '4272381-7',
    'razon_social' => 'CLIENTE DE PRUEBA',
    'direccion' => 'Asunción',
    'email' => 'cliente@email.com'
  ],
  'items' => [
    [
      'codigo' => 'P001',
      'descripcion' => 'Producto de prueba',
      'cantidad' => 1,
      'precio' => 150000,
      'iva' => 10
    ]
  ],
  'pagos' => [
    ['tipo' => 'efectivo', 'monto' => 150000]
  ]
];

$ch = curl_init($url);
curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json',
    'Authorization: Bearer '.$token
  ],
  CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE)
]);
$respuesta = curl_exec($ch);
$http = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
curl_close($ch);

if ($error) {
  die('Error CURL: '.$error);
}

$data = json_decode($respuesta, true);
echo '<pre>HTTP: '.$http."
";
print_r($data);
echo '</pre>';
?>
Respuesta OK esperadaGuardá estos datos en tu sistema
{
  "status": "ok",
  "mensaje": "Documento creado, lote generado y enviado a SIFEN.",
  "id_documento": 10,
  "id_empresa": 1,
  "id_timbrado": 3,
  "tipo_documento": "factura",
  "document_id": "019...",
  "cdc": "01800...",
  "estado_documento": "XML_GENERATED",
  "batch_id": "019...",
  "estado_lote": "CREATED",
  "numero_documento": "0001000",
  "timbrado": "80078258",
  "est": "001",
  "punto": "001",
  "nro_actual": 1000,
  "nro_actual_formateado": "0001000",
  "vigencia_desde": "2026-01-01",
  "freepys_restantes": 99,
  "envio_sifen": {
    "status": "ok",
    "estado": "SENT"
  }
}
Consultar documento o loteUsá document_id o batch_id
<?php
$token = 'TU_TOKEN_API';
$url = 'https://boton.innoven.com.py/ws-consultar';

$payload = [
  'batch_id' => 'ID_LOTE_DEVUELTO'
];

$ch = curl_init($url);
curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json',
    'Authorization: Bearer '.$token
  ],
  CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE)
]);
$respuesta = curl_exec($ch);
$http = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

$data = json_decode($respuesta, true);
echo '<pre>HTTP: '.$http."
";
print_r($data);
echo '</pre>';
?>
Nota de créditoDebe ir asociada a una factura
$payload = [
  'tipo_documento' => 'nota_credito',
  'enviar_sifen' => true,
  'cdc_asociado' => 'CDC_DE_LA_FACTURA_ORIGINAL',
  'timbrado' => '80078258',
  'est' => '001',
  'punto' => '001',
  'nro_actual' => '0001001',
  'vigencia_desde' => '2026-01-01',
  'cliente' => [
    'ruc' => '4272381-7',
    'razon_social' => 'CLIENTE DE PRUEBA'
  ],
  'items' => [
    [
      'codigo' => 'NC001',
      'descripcion' => 'Devolución / ajuste',
      'cantidad' => 1,
      'precio' => 50000,
      'iva' => 10
    ]
  ],
  'pagos' => [
    ['tipo' => 'efectivo', 'monto' => 50000]
  ]
];
Para programadores y empresas en Paraguay: si a tu cliente le obligaron a usar facturación electrónica, podés integrar Botón Mágico sin cambiar su sistema completo. Ideal para sistemas antiguos, POS, ERP, ecommerce, ventas, servicios, carnicerías, farmacias, ferreterías, estudios contables y desarrolladores que necesitan emitir documentos electrónicos SIFEN con API.