API del CFO para socios ERP
Los ERP y POS chilenos certificados pueden integrar a sus clientes con Fernanda, el asesor financiero virtual de Nankú, mediante esta API. Envían ventas, compras y DTE de sus comercios, y reciben análisis diario, proyección real de IVA, alertas de flujo de caja y sugerencias de reorden — todo listo para mostrar en la interfaz del ERP o entregar al comercio por WhatsApp.
Introducción Borrador
Nankú desarrolló Fernanda, un CFO virtual que analiza los datos de comercios chilenos y entrega inteligencia financiera diaria en lenguaje simple. Esta API permite que otros ERP y POS incorporen a Fernanda como parte de su plataforma, ofreciéndola a sus propios clientes.
La API está pensada para plataformas certificadas: cada socio firma un acuerdo de tratamiento de datos con Nankú, recibe llaves de acceso propias y opera bajo un modelo de aislamiento estricto entre comercios. Un socio nunca ve datos de otro; un comercio de un socio nunca aparece en otro socio.
Esta documentación describe el diseño, la autenticación, los principales endpoints y las obligaciones legales asociadas. El objetivo es que un equipo técnico senior pueda evaluarla antes de firmar el acuerdo comercial.
Quién es Fernanda
Fernanda es el personaje que sus comercios reconocerán. Su motor de razonamiento carga los marcos técnicos completos — DL 825 (IVA), DL 824 (Renta), F29, postergación de IVA para MYPE (Art. 64), NIA/NAGA, punto de equilibrio, capital de trabajo, DuPont, ABC/XYZ, benchmarks por rubro chileno — pero traduce todo a lenguaje simple para el comerciante.
Fernanda
Ingeniera en Administración de Empresas · Contadora Auditora · Ingeniera Comercial (especialista en comercios chilenos).
Regla férrea: nunca presume títulos. Su autoridad se nota en la calidad del consejo, no en el currículum. Trata al cliente de usted, firma con — Fernanda, tono chileno cercano pero profesional.
Lo que Fernanda hace por los clientes de su ERP
Esto es lo que su plataforma le puede ofrecer a cada comercio suscrito al módulo CFO. No son "funciones" de un chatbot genérico — son las tareas que un CFO real hace en una compañía, adaptadas a la escala de un comercio chileno. Ordenadas por el perfil profesional de Fernanda que las ejecuta.
Como Contadora Auditora — el pulso tributario y contable
Fernanda vigila el frente SII y contable de cada comercio. Cruza datos del POS contra los DTE emitidos, monitorea vencimientos, arma pre-balance del ejercicio en curso y detecta anomalías antes de que sean multas.
| Función | Qué hace | Estado |
|---|---|---|
| Estimación de IVA en tiempo real | Los días 10, 20 y cierre de mes calcula IVA débito, crédito y a pagar según el Registro de Compra y Venta. Con DTE integrado (endpoint /documents/dte) el número es real, no estimado. | Disponible |
| Alertas pre-F29 | Recuerda 3 y 5 días antes del vencimiento, adelanta el monto probable y sugiere postergar si el comerciante califica como MYPE (Art. 64 DL 825, hasta 60 días sin multa). | Disponible |
| Conciliación bancaria diaria | Cruza las ventas del POS contra los depósitos en la cuenta corriente del comercio. Detecta pagos que no llegaron, cobros duplicados y liquidaciones de tarjeta atrasadas. Requiere conexión a la banca (Belvo o equivalente). | Fase 2 |
| Monitoreo del SII | Revisa la situación tributaria del contribuyente: folios sin usar, F29 pendientes, DTE recibidos sin aceptar, cambios de régimen. Con Apigateway.cl integrado, la información se actualiza cada 24h. | Fase 2 |
| Pre-balance del año fiscal en curso | En cualquier momento del año le muestra al comerciante: ingresos acumulados, gastos aceptados, utilidad estimada, y proyección de renta AT año siguiente (14 D N°8 para ProPyme). Sin sorpresas en abril. | Fase 2 |
| Cruce ventas ↔ DTE | Verifica que toda venta registrada tenga su DTE emitido, y que todo DTE tenga su venta. Cualquier descuadre se reporta como alerta contable. | Disponible |
| Detección de anomalías y fraude | Ventas fuera de rango, boletas fuera de horario, folios saltados, IVA descuadrado, tickets promedio anormales. Todas señales clásicas de auditoría — Fernanda las detecta y pregunta. | Disponible |
Como Ingeniera en Administración — la salud financiera
Fernanda vigila la salud del negocio como un CFO de compañía grande: flujo de caja, capital de trabajo, meta mensual, ratios. No solo mira "cuánto se vendió"; mira si al comerciante le está alcanzando la caja.
| Función | Qué hace | Estado |
|---|---|---|
| Flujo de caja proyectado 30 días | Suma ventas esperadas (por promedio histórico), resta IVA a pagar, pedidos a proveedores pendientes y gastos fijos. Anticipa apretones antes de que ocurran. | Disponible |
| Punto de equilibrio actualizado | Cuánto tiene que vender el comerciante al día para no perder plata, considerando arriendo, sueldos y cuentas fijas. Se recalcula automático al cambiar los costos. | Disponible |
| Meta mensual y avance | Fernanda propone la meta o la fija el comerciante. Cada mañana informa avance, faltante y ritmo diario necesario para llegar. Si va atrasado, sugiere dónde acelerar. | Disponible |
| Ratios financieros clave | Liquidez, ácida, endeudamiento, ROA/ROE/ROI, ciclo de caja, capital de trabajo neto (CTNO). Todos traducidos a lenguaje simple; nunca "ROE" sin decir qué significa. | Disponible |
| Semáforo de salud del negocio | Un solo indicador (verde / ámbar / rojo) que combina caja, endeudamiento, margen y rotación. Alimenta directo un widget del dashboard del ERP. | Disponible |
| Consejos accionables | No solo el número — la recomendación concreta: "sube $200 al producto X, el margen queda 15 % arriba y las ventas casi no se resienten en tu rubro". | Disponible |
Como Ingeniera Comercial — el comercio chileno
Fernanda conoce el comercio local: sabe que en septiembre suben las bebidas y las carnes, sabe que las quincenas concentran ventas, sabe que un almacén de barrio rota distinto a una ferretería. Con benchmarks por rubro chileno cargados.
| Función | Qué hace | Estado |
|---|---|---|
| Análisis ABC de productos | Clasificación 80/20: productos A (80 % del ingreso), B (15 %), C (5 %). Prioriza dónde poner el foco y qué proteger contra quiebre de stock. | Disponible |
| Margen real por producto vs. benchmark de rubro | Compara el margen real de cada producto contra el rango esperado del rubro (almacén 22–28 %, botillería 25–32 %, ferretería 18–25 %, panadería 30–40 %). Alerta lo que está bajo. | Disponible |
| Rotación y productos muertos | Días de stock por producto. Los que llevan 30, 60 o 90 días sin moverse (capital estancado) se identifican con sugerencia: liquidar, cambiar precio, quitar del catálogo. | Disponible |
| Reorden automático a proveedores | Cuando el stock cae bajo el mínimo, arma la orden de compra agrupada por proveedor con cantidades según rotación real. Aprobación con un click; se envía por correo al proveedor. | Disponible |
| Alertas de estacionalidad | Adelanta fechas del año que impactan el rubro — quincenas, 18 sept, verano, escolar — con recomendaciones concretas de inventario y precio. | Disponible |
| Detección de caídas de venta | Compara cada día contra el promedio de los últimos 4 mismos-días-de-semana. Si baja > 30 %, no es azar — Fernanda pregunta y sugiere causas típicas (feriado local, competencia, precios). | Disponible |
| Concentración de proveedores | Detecta cuando un proveedor concentra más del 40 % de las compras — riesgo de dependencia — y sugiere diversificar. | Disponible |
Canal principal: WhatsApp
Fernanda le habla al comerciante por WhatsApp — el canal que ya tiene abierto todo el día. No una app nueva, no un panel más que revisar. Esto es lo que su ERP debe entender del funcionamiento del canal, aunque el mensaje lo entregue Nankú:
- Reporte diario 08:00 hrs · lunes a sábado, mensaje resumido con ventas de ayer, avance de meta, alertas activas y consejos. Priorizado (no muestra todo siempre — solo lo que importa ese día).
- Alertas por evento · caída de ventas, IVA próximo a vencer, quiebre de stock, margen bajo, anomalía tributaria — Fernanda escribe apenas lo detecta, sin esperar al día siguiente.
- Recomendaciones pre-fecha · avisos 3–7 días antes de F29, quincena, Fiestas Patrias, cambio de temporada.
- El comerciante puede escribirle en cualquier momento y Fernanda responde con datos reales — los suyos.
- Ejemplos típicos: "¿cuánto llevo esta semana?", "¿me alcanza para pagar al proveedor el viernes?", "¿qué producto me está dejando menos margen?"
- Respuestas en < 60 segundos, con citas a los datos usados y nivel de confianza.
Para su ERP: el WhatsApp lo gestiona Nankú (con número corporativo y plantillas aprobadas por Meta). Su plataforma no necesita integrar la Cloud API de WhatsApp; opcionalmente puede replicar los mismos mensajes en su interfaz suscribiéndose al webhook cfo.report.generated y renderizando el message_markdown como un widget.
Flujo de integración
organizationNada llega a Fernanda sin consentimiento del comerciante. Antes de la primera ingesta, el ERP debe mostrar la pantalla de autorización y registrar el consentimiento vía POST /consents. Si el comerciante lo revoca, la ingesta se detiene en menos de 60 segundos.
Autenticación Doble factor
La API usa un esquema de dos factores para tráfico servidor a servidor:
- Llave Bearer — identifica al socio (
nk_live_sk_...en producción onk_test_sk_...en sandbox). - Firma HMAC-SHA256 del cuerpo — prueba que el mensaje no fue alterado y lo ancla a un timestamp. Obligatoria en endpoints sensibles (
/organizations,/consents,/webhooks). - Lista de IPs autorizadas — opcional pero recomendada. Cada llave se puede fijar a un conjunto de CIDRs.
Content-Type: application/json
Idempotency-Key: onboard-comercio-9821
X-Nanku-Signature: t=1758196804,v1=YWJjZGVmZ2hpams=
import { createHmac } from 'node:crypto';
function firmar(secret, cuerpo) {
const ts = Math.floor(Date.now() / 1000).toString();
const mac = createHmac('sha256', secret)
.update(`${ts}\n${cuerpo}`)
.digest('base64');
return `t=${ts},v1=${mac}`;
}
La firma tiene una ventana de ±300 segundos. Fuera de ese rango se rechaza con 401 signature_stale. Prevención de replay.
Alta de un comercio
Cada cliente del ERP que active a Fernanda debe existir como organization en Nankú. El endpoint es idempotente sobre external_id: reintentos con el mismo cuerpo devuelven la misma respuesta, no un error.
"external_id": "opentpv-cust-9821",
"legal_name": "Almacén Don Pancho SPA",
"rut": "76.543.210-K",
"trade_name": "Don Pancho",
"industry": "almacen_barrio",
"commune": "Concepción",
"region": "Biobío",
"primary_currency": "CLP",
"contact": {
"name": "Francisca Rojas",
"email": "francisca@donpancho.cl",
"whatsapp": "+56912345678"
},
"consent": {
"given_at": "2026-09-15T13:55:00Z",
"given_by": "francisca@donpancho.cl",
"policy_version": "2026-09-15",
"ip": "190.101.22.14",
"user_agent": "OpenTPV/4.2"
}
}
"organization_id": "org_01HXY9Z...",
"external_id": "opentpv-cust-9821",
"status": "active",
"consent_id": "cns_01HXY9Z...",
"created_at": "2026-09-15T13:55:12Z"
}
Consentimiento: la pantalla que el comerciante autoriza debe contener el texto legal que Nankú publica en cada versión de política, identificado por policy_version. Si la versión enviada no coincide con la actual, el alta se rechaza con 422.
Envío de ventas
Cada venta se envía apenas se cierra en el POS. Nankú deduplica por (organization_id, external_id): reenviar la misma venta no la duplica ni devuelve error. Para cargas masivas está la variante /sales:bulk con hasta 500 ventas por llamada.
"organization_id": "org_01HXY9Z...",
"external_id": "A0000123",
"occurred_at": "2026-09-15T13:12:04-04:00",
"currency": "CLP",
"channel": "pos",
"payment_method": "card_credit",
"totals": {
"gross": 12490,
"net": 10496,
"tax": 1994,
"tax_rate": 0.19
},
"items": [
{ "sku": "BEB-COCA-15", "quantity": 1, "unit_price": 2490 },
{ "sku": "GAL-TRIT-155", "quantity": 4, "unit_price": 2500 }
],
"dte": { "type": 39, "folio": 12034 }
}
"sale_id": "sal_01HXY9Z...",
"external_id": "A0000123",
"accepted_at": "2026-09-15T13:12:06Z",
"processing": "async"
}
Reglas de validación:
totals.gross=net+tax(± 1 CLP)- Σ
items[].line_total=totals.gross occurred_atentrehoy − 400 díasyhoy + 24h
Envío de DTE Clave para IVA real
Como su plataforma es emisor DTE autorizado por el SII, este endpoint es el que hace que las cifras de IVA de Fernanda sean reales, no estimadas. Cada folio emitido se envía aquí; Fernanda lo cruza contra las ventas del período.
"organization_id": "org_01HXY9Z...",
"type": 39, // boleta electrónica
"folio": 12034,
"emitted_at": "2026-09-15T13:12:05-04:00",
"emitter_rut": "76.543.210-K",
"receiver_rut": "66.666.666-6",
"totals": {
"gross": 12490, "net": 10496, "tax": 1994
},
"xml_url": "https://opentpv.cl/dte/12034?firmado=1"
}
| Tipo | Documento |
|---|---|
33 | Factura electrónica afecta |
34 | Factura electrónica exenta |
39 | Boleta electrónica |
41 | Boleta exenta |
52 | Guía de despacho |
56 | Nota de débito |
61 | Nota de crédito |
El campo xml_url es opcional. Si lo entregan, Nankú descarga el XML firmado y lo archiva encriptado por 7 años (obligación tributaria chilena). El fetch usa el mismo Bearer del socio y tiene un timeout de 5 segundos con 1 reintento — si falla, la metadata igual se ingesta.
Consultar al CFO
El comerciante (o su ERP en nombre de él) puede hacerle preguntas libres a Fernanda. Las respuestas están ancladas en los datos reales del comercio: ventas, compras, DTE, inventario. No hay filtración cruzada entre clientes — el módulo de recuperación solo expone filas del organization_id indicado.
"organization_id": "org_01HXY9Z...",
"question": "¿Qué producto me está
dejando menos margen este mes?",
"context": { "verbosity": "medium" }
}
"answer": "El shampoo Sedal 400 ml le está
dejando 6 % de margen — muy por debajo
del promedio de su categoría (22 %).
Revise el precio de compra o súbalo
$200 a $2.690. — Fernanda",
"citations": [
{ "kind": "sales_period", "count": 214 }
],
"confidence": "high",
"billed_units": 1
}
Defensa contra prompt injection: la pregunta se acota en tamaño (máx. 512 caracteres), se cita en el prompt del sistema y no puede escapar al canal de instrucciones. Aunque el modelo fuese engañado, la capa de datos solo expone filas del organization_id autenticado, así que la fuga entre inquilinos no es alcanzable.
Reporte diario del CFO
El mismo reporte que Fernanda envía al comerciante por WhatsApp cada mañana. Idempotente por (organization_id, for_date) — se puede llamar varias veces y devuelve el mismo report_id.
"organization_id": "org_01HXY9Z...",
"for_date": "2026-09-15",
"format": "markdown_plus_kpis",
"locale": "es-CL"
}
"report_id": "rep_01HXY9Z...",
"for_date": "2026-09-15",
"message_markdown": "💰 *Ayer vendió $342.500*...",
"kpis": {
"sales_yesterday_clp": 342500,
"tickets_yesterday": 12,
"avg_ticket_clp": 28541,
"wow_variation": 0.08,
"month_goal_progress":0.64,
"iva_due_clp": 187400,
"iva_due_at": "2026-09-18"
},
"billed_units": 3
}
message_markdown es el texto listo para mostrar en un chat o WhatsApp. kpis alimenta directo a un widget del dashboard. Recomendamos suscribirse al webhook cfo.report.generated en lugar de encuestar este endpoint todas las mañanas.
Webhooks
El ERP puede suscribirse a eventos para recibir en tiempo real las novedades de Fernanda. Entrega al menos una vez con 12 reintentos en ~24 horas, backoff exponencial, y verificación de firma con secreto rotable.
| Evento | Cuándo se dispara |
|---|---|
cfo.report.generated | El reporte diario está listo |
cfo.alert.raised | Alerta de flujo, IVA, stock, margen o caída de ventas |
cfo.reorder.suggested | Sugerencia de pedido a un proveedor |
consent.registered | Consentimiento nuevo o renovado |
consent.revoked | El comerciante revocó — bloqueo en ≤ 60s |
sale.rejected | Una venta fue rechazada tras validación asíncrona |
document.ingested | Un DTE fue aceptado |
platform.status.changed | Cambio de estado de la plataforma (throttle, mantención) |
export function verificarWebhook(secret, header, cuerpo) {
const partes = Object.fromEntries(
header.split(',').map((p) => p.trim().split('='))
);
const t = partes.t, sig = partes.v1;
if (!t || !sig) return false;
if (Math.abs(Date.now()/1000 - Number(t)) > 300) return false;
const esperado = createHmac('sha256', secret)
.update(`${t}\n${cuerpo}`).digest();
const recibido = Buffer.from(sig, 'base64');
return recibido.length === esperado.length &&
timingSafeEqual(esperado, recibido);
}
El endpoint del ERP debe responder 2xx en menos de 5 segundos. El trabajo pesado se hace asíncrono en su lado. Si el endpoint devuelve 410 Gone, Nankú lo desuscribe automáticamente y avisa a su equipo por correo.
Errores
Todas las respuestas no-2xx siguen RFC 7807 con una extensión Nankú para códigos estables:
"type": "https://api.nanku.app/errors/consent_revoked",
"title": "Merchant consent has been revoked",
"status": 403,
"code": "consent_revoked",
"correlation_id": "req_01HXYA...",
"extras": { "organization_id": "org_...", "revoked_at": "..." }
}
Consuman siempre por code, no por title. Los códigos son estables entre versiones; los títulos pueden cambiar por claridad.
| HTTP | Código | Significado | Reintentar |
|---|---|---|---|
| 400 | invalid_payload | Cuerpo falló validación de esquema | ❌ |
| 401 | invalid_api_key | Llave inválida, revocada o entorno equivocado | ❌ |
| 401 | signature_stale | Timestamp fuera de ±300s | ❌ (recalcular) |
| 403 | consent_missing | Sin consentimiento activo para ese comercio | ❌ |
| 403 | consent_revoked | El comerciante revocó | ❌ |
| 404 | not_found | Recurso no existe o no pertenece a su partner | ❌ |
| 409 | idempotency_conflict | Misma Idempotency-Key, cuerpo distinto | ❌ |
| 422 | business_rule_violation | Ej.: suma de líneas ≠ total | ❌ |
| 429 | rate_limited | Ver RateLimit-Reset | ✅ backoff |
| 500 | internal | Error de servidor | ✅ backoff |
| 502 | upstream_unavailable | Dependencia caída | ✅ backoff |
Límites de uso
Dos capas de rate limit protegen a Nankú y al resto de comercios del socio si uno se descontrola:
| Cubo | Alcance | Límite | Ráfaga |
|---|---|---|---|
| Partner global | Por partner | 60 req/s | 120 |
| Organization | Por (partner, comercio) | 12 req/s | 30 |
| CFO ask | Por comercio, en /cfo/ask | 10 req/min | 20 |
| CFO report | Por comercio, en /cfo/report | 6 req/hora | 12 |
Cada respuesta trae los encabezados RateLimit-Partner, RateLimit-Org, etc. — con limit, remaining y reset según el borrador IETF de RateLimit fields.
delay(intento) = Math.min(30000, 250 * 2**intento) + jitter(0, 250);
// Reintentar máximo 5 veces para operaciones con Idempotency-Key
Entornos
Datos aislados, reset semanal, Fernanda con salida sintética. Llaves nk_test_sk_... emitidas el día en que se firma el acuerdo de datos.
Comercios reales, Fernanda real. Llaves nk_live_sk_... emitidas tras un test de integración verde en sandbox y un correo firmado de handoff.
Modelo de seguridad
Los controles principales, uno por vector, como los espera un revisor de seguridad senior:
| Amenaza | Control | Dueño |
|---|---|---|
| Robo de llave | Firma HMAC del cuerpo + ventana ±300s + lista de IPs | Edge Partner API |
| Filtración cruzada entre comercios | Row-Level Security en Postgres sobre partner_id | Supabase |
| Ataque de replay | Timestamp firmado + Idempotency-Key con TTL 24h | Edge |
| Prompt injection | Cotas de longitud + comillado + capa de recuperación con organization_id | Motor de Fernanda |
| Vecino ruidoso | Rate limit por partner y por comercio + contador atómico compartido | Cloudflare + Postgres |
| Retiro de consentimiento | Ingesta bloqueada por partner_data_consents.status. Efecto en ≤ 60s | Edge |
| Exposición de PII en backups | Encriptación por columna con pgsodium en identidad. Cripto-triturado en revocación | Supabase Vault |
| Repudio | partner_audit_log append-only, retención 7 años, hash de request y response | Postgres |
| Uso de datos por el modelo | Anthropic API comercial: los datos no se usan para entrenar modelos; Anthropic los retiene hasta 30 días solo para seguridad y abuso, y luego los borra | Motor de Fernanda |
| Identidad de emisor DTE | Validación módulo 11 del RUT + comparación emitter_rut vs. RUT del comercio | Edge |
Divulgación coordinada: security@nanku.app. Firma PGP publicada en https://nanku.app/.well-known/security.txt. Compromiso de acuse en 2 días hábiles y mitigación en 30 días para severidad alta o crítica.
Ley 19.628 y consentimiento
En este modelo, los roles son claros:
- El comerciante es el responsable de los datos (data controller).
- El socio ERP es el encargado del tratamiento (processor).
- Nankú es subencargado (subprocessor), habilitado por el DPA firmado entre socio y Nankú.
Pantalla de consentimiento — texto de referencia
Debe mostrarse al comerciante antes de la primera ingesta. La versión enviada en consent.policy_version debe coincidir con la vigente:
Versión 2026-09-15
Al aceptar, usted autoriza a <RAZÓN SOCIAL DEL ERP> (RUT <RUT>) a
compartir con Positiv Global SpA (RUT 78.164.559-8), operador de la
plataforma Nankú, los datos comerciales y tributarios de <COMERCIO>
que se generan a través de <NOMBRE DEL ERP>, con el único fin de
producir el informe financiero diario, alertas de flujo de caja,
proyección de IVA y recomendaciones de reposición de "Fernanda".
Los datos compartidos son: ventas, compras, documentos tributarios
electrónicos emitidos, inventario y contacto del representante.
No se compartirán números de tarjetas, contraseñas ni datos
personales de sus clientes finales.
Usted puede retirar esta autorización en cualquier momento desde
<URL CONFIGURACIÓN>. Una vez retirada, Nankú detendrá el
procesamiento dentro de 60 segundos y eliminará los datos de
identidad de su empresa dentro de 30 días.
Retención
- Identidad del comercio — eliminada por cripto-triturado a los 30 días de la revocación.
- Datos transaccionales — 7 años (obligación Artículo 17 del Código Tributario).
- Salidas del CFO — 400 días rodantes.
- Registro de auditoría — 7 años, append-only. El socio puede consultarlo por
GET /audit.
Subencargados
Cualquier alta se avisa con 30 días de antelación. Hoy: Supabase (Postgres, us-east-1), Anthropic (motor Fernanda; sin entrenamiento con sus datos, retención máxima 30 días), Vercel (edge), Cloudflare (WAF), Twilio/Meta (WhatsApp), ElevenLabs (voz opcional). Todos con SOC 2 Type II vigente.
SDK y ejemplos
Publicamos clientes copia-y-pega — no como paquete versionado, para que su equipo los adapte a su telemetría y logging:
- Node.js 18+ — ~200 líneas, sin dependencias (usa
fetchynode:cryptonativos). - Python 3.10+ — async con
httpx. Incluyeverificar_webhook(). - cURL / Bash — script
quickstart.shque hace el flujo completo (alta → venta → consulta → reporte). - OpenAPI 3.1 — spec formal para generar SDKs en el lenguaje que prefiera (compatible con Postman, Insomnia, Stainless, Fern).
Los archivos se entregan por correo cifrado junto con las llaves sandbox. Están también en el repositorio del socio bajo docs/partner-api/.
Roadmap 2026–2027 En evolución
Fernanda no es un producto terminado: cada 6 semanas liberamos una capacidad nueva y los comercios de su plataforma la reciben automáticamente, sin cambios en la integración. Esto es lo que viene, ordenado por valor para el comerciante y esfuerzo de desarrollo.
Por qué importa: en Chile no existe hoy un CFO virtual que combine POS en tiempo real, cruce con el SII, análisis con lenguaje natural chileno y entrega proactiva por WhatsApp. Bsale, Defontana, Nubox, Softland, Alegra, Xero y los asistentes bancarios cubren una o dos de esas piezas — ninguno las cuatro. Su plataforma la estrena.
Fase 2 — comprometida
| Capacidad | Qué le entrega al comerciante | Fuente / tecnología |
|---|---|---|
| Conciliación bancaria diaria | Cruza ventas del POS contra depósitos en cuenta corriente. Detecta pagos que no llegaron, cobros duplicados, liquidaciones de tarjeta atrasadas. | Fintoc / Belvo (Open Finance) |
| Monitoreo del SII | Folios sin usar, F29 pendientes, DTE recibidos sin aceptar, cambios de régimen tributario. Actualización cada 24 h. | Apigateway.cl |
| Pre-balance del año fiscal | Ingresos acumulados, gastos aceptados, utilidad estimada y proyección de renta AT del año siguiente (14 D N°8). Sin sorpresas en abril. | SII + datos POS |
Fase 3 — inteligencia comercial fina
| Capacidad | Qué le entrega al comerciante | Fuente / tecnología |
|---|---|---|
| Análisis de canasta | "Los que compran cerveza llevan hielo el 68 % de las veces — póngalos juntos en la vitrina." Sube el ticket promedio sin subir precios. | SQL sobre ítems de venta |
| Simulador de precio | "Si sube $200 a la Coca 1,5 L pierde ~4 % de unidades pero gana 12 % de margen — le conviene." Elasticidad calculada del historial real. | Datos POS |
| Alertas por clima | "Mañana 32 °C en Concepción: reponga hielo y bebidas, esos días vende 40 % más." | OpenWeatherMap |
| Calendario chileno completo | Feriados regionales, quincenas, fechas de pago del sector público, bono marzo, temporada escolar — con impacto estimado en ventas del rubro. | Calendario propio |
| Fugas de caja | Retiros de efectivo sin justificar, mermas fuera de rango, diferencias de arqueo recurrentes. | Datos POS |
| Horas pico | "Vende el 34 % del día entre 18:00 y 20:00; una promo a las 17:00 corre la curva." | Datos POS |
| Pronóstico de venta por producto | "Va a vender 340 Coca 1,5 L este mes (± 25). Le quedan 42 — pida hoy." | Modelo Prophet |
| Régimen tributario óptimo | Compara ProPyme Transparente, 14 D N°8 y régimen general con el ahorro anual estimado. Siempre con la recomendación de validar con su contador. | Motor tributario |
| Factoring en apretones de flujo | Detecta el apretón, identifica facturas por cobrar y sugiere ceder la más conveniente, con costo y plazo estimados. | Xepelin · Cumplo · Fynpal |
| Situación crediticia | Alerta si el score del negocio baja o aparece morosidad reportada. | Equifax |
| Benchmark anónimo entre comercios | "Su ticket promedio está en el percentil 62 de los almacenes de Concepción." Se activa con masa crítica de comercios por rubro y comuna. | Datos agregados Nankú |
Fase 4 — módulos de gestión completa
| Capacidad | Qué le entrega al comerciante | Fuente / tecnología |
|---|---|---|
| Nómina básica | Sueldos, cotizaciones AFP/Fonasa, imposiciones, liquidaciones y finiquitos. Fernanda avisa vencimientos y costo real del equipo. | Previred · Dirección del Trabajo |
| Cierre contable mensual automático | Libro Diario, Mayor y Balance de saldos armados solos. Le ahorra al contador la mayor parte del trabajo repetitivo. | Motor contable |
| Verticales por rubro | Restaurantes (food cost, ficha técnica, merma de cocina) · Botillerías (Ley Emilia, horarios, ISP) · Farmacias (control de fármacos, receta retenida, vencimientos). | Módulos específicos |
| Chilecompra / Mercado Público | Avisa licitaciones relevantes para el rubro, ayuda a armar la oferta y calcula si conviene participar. | API Mercado Público |
Cada capacidad nueva llega a su integración por los mismos endpoints y eventos ya documentados: aparece como nuevos campos en kpis, nuevos tipos en cfo.alert.raised o nuevos temas que Fernanda puede responder en /cfo/ask. Las adiciones nunca rompen contratos existentes (ver política de versionado en la introducción).
Soporte para partners
¿Su equipo evaluó la documentación y quiere avanzar? Nos coordinamos por WhatsApp o correo y agendamos una llamada técnica de 30 minutos con el equipo de Nankú para responder preguntas específicas de la integración.
Correos:
- partners@nanku.app — comercial, onboarding, DPA
- security@nanku.app — reportes de vulnerabilidad (PGP disponible)
- privacy@nanku.app — solicitudes bajo Ley 19.628