Bulder: integración de interfaz y API OpenBanking (PSD2)

Análisis de protocolo + conectores autorizados para exportar datos: transacciones, estados de eFaktura/AvtaleGiro, metadatos de recibos y señales de hipoteca/ahorro en un formato OpenData/OpenFinance.

Desde $300 · entregamos primero
OpenData · OpenFinance · OpenBanking · Protocol Analysis

Conecta el ecosistema Bulder con tu backend de forma auditable

Bulder combina gestión cotidiana de dinero con funcionalidades de facturas, recibos y señales ligadas a hipotecas y objetivos de ahorro. Nuestro trabajo consiste en convertir esas capacidades en “entidades” estables y en una capa de API lista para integrarse: consentimiento explícito, normalización y entrega con guías de auditoría.

Transacciones y exportación por ventanas

Exporta actividad financiera para analítica temporal, conciliación contable y reportes por rango de fechas.

Flujos de eFaktura y AvtaleGiro

Mapea facturas electrónicas y el calendario de pagos automáticos para automatizar avisos y conciliaciones.

Recibos, documentos y metadatos OCR

Ingiere registros de recibos (manual hoy; automatización prevista vía roadmap) para clasificación y evidencia.

Hipoteca y señales de ahorro

Entrega señales de hipoteca (belåningsgrad) y contexto de objetivos de ahorro y fondos para planificación.

Mejora reciente que aumenta la “frescura” del dato

En la actualización del roadmap (July 2024), Bulder describió trabajo hacia la carga automática de recibos: tras un pago válido, un recibo debería aparecer poco después en la app mediante cooperación con actores externos. Cuando se habilite, esto reduce el tiempo entre compra y disponibilidad del dato, facilitando pipelines de gasto “casi en tiempo real”.

Módulos de función (datos que integramos)

Cada módulo nombra un objetivo de datos y un uso real para que tu equipo valide rápido y salga a producción con menos iteraciones.

Principios de diseño

  • Solicitar mínimo: permisos a nivel de campo según el flujo.
  • Normalizar pronto: convertir estructuras de Bulder a tu modelo OpenData reutilizable.
  • Reconciliación determinista: enlazar por IDs, importes y ventanas de fecha.

API de historial de transacciones

Inserta actividad de pagos y transferencias en un “ledger” para analítica de periodos y conciliación.

Uso: importar a dashboards y hacer mapeo por `from_date/to_date` y tipo de transacción.

Sincronización de saldos

Entrega saldos con marcas de tiempo y contexto de moneda para anticipar el estado antes de registrar facturas.

Uso: planificación de tesorería y vistas de “saldo estimado disponible”.

eFaktura + AvtaleGiro: integración de facturas

Convierte objetos de factura y calendarios de pagos en reglas y recordatorios para automatización.

Uso: reconciliar “pagado vs pendiente” y generar listas exportables.

Archivo de recibos e ingesta de metadatos OCR

Extrae campos clave (proveedor, fecha, totales) para que la clasificación de gastos sea estable en el tiempo.

Uso: emparejar recibos con categorías e incorporar evidencia a informes.

Señales de hipoteca con “pricing” explicable

Integra el contexto usado para ajustes automáticos asociados a cambios de belåningsgrad y eventos de repago.

Uso: proyecciones de coste de interés y vistas de “por qué cambió”.

Contexto de rieles de pago móviles

Normaliza pagos vinculados a experiencias de wallets para un timeline unificado, incluyendo Apple Pay y Google Pay.

Uso: etiquetar canal de pago y diagnosticar discrepancias de liquidación.

Screenshots

Haz clic en cualquier miniatura para abrir una versión ampliada. Esta sección usa las capturas proporcionadas para Bulder con un lightbox/modal.

Beneficios clave para equipos OpenData/OpenFinance

La integración alrededor de Bulder es más valiosa cuando puedes mapear entidades de forma consistente y entregarlas con trazabilidad, consentimiento y un modelo normalizado. Nuestra entrega prioriza que el pipeline sea operativo en producción: campos definidos, conciliación repetible y resultados explicables.

  • Mapeo de campos entre pantallas de Bulder y un modelo OpenData “por entidades”.
  • Lógica de reconciliación preparada para casos reales (cortes de fecha, formato de importes, recibos duplicados).
  • Formatos de exportación: JSON con payloads y, cuando aplica, endpoints para informes tipo CSV/Excel.
  • Seguridad operativa: limitación de tasa, reintentos y códigos de error deterministas.

Instrucciones de integración (Plantilla PSD2)

Los fragmentos muestran el “shape” de un flujo PSD2 (consentimiento + extracción de datos) para que tu equipo lo revise, lo pruebe y lo adapte. En la entrega final incluimos código y pruebas con el mismo patrón.

1) Creación de consentimiento (AIS)
POST /psd2/consents
Encabezados:
- PSU-ID: <identificador vinculado a la sesión BankID>
- X-Request-ID: <uuid>
- Autenticación: mTLS con QWAC (eIDAS) + token TPP
Cuerpo:
{
  "access": [
    { "type": "AllAccounts", "iban": null },
    { "type": "SpecificAccounts", "iban": "NO12XXXX..." }
  ],
  "frequencyPerDay": 1,
  "validUntil": "2026-12-31",
  "combinedServiceIndicator": "AIS"
}
Respuesta: { "consentId": "...", "consentStatus": "AwaitingSCA", "scaMethods": [...] }

Inventario de datos (perspectiva OpenData)

La tabla conecta capacidades del usuario en Bulder con tipos de datos listos para integración. La granularidad está pensada para auditoría y para resultados repetibles en re-runs.

Tipo de dato Fuente (capacidad en Bulder) Granularidad Uso típico
Saldos Resumen de cuentas, pantallas de liquidez Snapshots con timestamps Dashboards de cash-flow, estimación previa a facturación
Ledger de transacciones Pagos, transferencias, registros vinculados a wallet Item-level normalizado a taxonomía Analítica, conciliación, revisión de duplicados
Objetos de eFaktura Facturas electrónicas y elementos listos para pagar Encabezado + estado + vencimiento + importe Captura automática de facturas y reportes “pendiente/pagado”
Calendario AvtaleGiro Pagos automáticos próximos Eventos recurrentes + próxima ejecución Planificación, recordatorios, forecast de costes
Recibos y campos OCR Escáner de recibos y archivo kvittering Metadatos del recibo + totales + proveedor Clasificación de gastos, evidencia de auditoría
Objetivos de ahorro (Sparekonto) Metas con personalización visual (imágenes/GIF) Progreso por objetivo + eventos de depósito Analítica de metas, reporting personalizado, insights
Contexto de fondos/portafolio Ahorro largo plazo y funciones de fondos Resumen de holdings + categorías Reporting OpenFinance y seguimiento de asignación
Señales de intereses de hipoteca Lógica de precio por belåningsgrad Umbrales por tramo + cambios de interés Proyección de intereses y planificación explicable

Escenarios típicos de integración

Cinco flujos end-to-end donde los datos de Bulder se convierten en productos OpenData/OpenFinance.

1) Dashboard financiero personal

Contexto: una vista unificada de ingresos y gastos con ventana temporal y canal de pago.

Datos/API: historial de transacciones + consultas por ventana.

OpenData: `ledger.items[]` con `amount`, `bookingDate`, `counterparty` y `paymentChannel`.

2) Reconciliación de facturas

Contexto: reducir facturas perdidas y automatizar la verificación de “ya pagado”.

Datos/API: eFaktura (objeto de factura) y estado exportable.

OpenFinance: `bills.invoices[]` con `dueDate`, `amount`, `status` y `referenceId`.

3) Pipeline de recibos hacia ERP

Contexto: evidencia para auditoría y conciliación por proveedor/categoría.

Datos/API: archivo de recibos + metadatos OCR.

OpenData: `receipts[]` con `vendor`, `purchaseTime`, `total` y `ocrConfidence`.

4) Hipoteca: explicación y proyección

Contexto: entender por qué cambia el coste de interés.

Datos/API: señales de belåningsgrad y eventos de recalculo.

OpenFinance: `mortgage.rateEvents[]` para reportes “rate down”.

5) Analítica de objetivos de ahorro

Contexto: seguimiento de múltiples metas con progreso y eventos.

Datos/API: sincronización de objetivos y eventos de depósito.

OpenData: `savings.goals[]` con `goalId`, `targetAmount`, `currentBalance` y timeline.

Implementación técnica (pseudo-código)

Nuestro patrón usa un “integration adapter” que respeta consentimiento y normaliza entidades para tu contrato de API. A continuación, ejemplos del shape que verás en el código entregado.

Snippet A: extracción AIS de transacciones
// Paso 1: confirmar consentimiento válido
consent = psd2.createConsent({
  permissions: ["AIS:readAccounts", "AIS:readTransactions"],
  validUntil: "2026-12-31",
  frequencyPerDay: 1
})

// Paso 2: pedir transacciones en ventana
resp = psd2.fetchTransactions({
  consentId: consent.consentId,
  accountIban: "NO12XXXX...",
  fromDate: "2026-01-01",
  toDate: "2026-01-31",
  bookingStatus: "BOOKED"
})

// Paso 3: normalizar a OpenData ledger
ledger = resp.transactions.map(t => ({
  id: t.transactionId,
  amount: { value: t.amount.value, currency: t.amount.currency },
  bookingDate: t.bookingDate,
  merchant: t.merchantName ?? t.counterparty.name,
  tags: [t.paymentType, t.serviceCode].filter(Boolean)
}))

Este mapeo crea IDs estables y fechas consistentes para que tus jobs de conciliación puedan re-ejecutarse sin “drift”.

Snippet B: reintentos + manejo de errores
function withRetry(fn){
  for (attempt=1; attempt<=3; attempt++){
    try { return fn(); }
    catch(e){
      if (e.code in ["RATE_LIMIT","NETWORK_TIMEOUT"]) sleep(backoff(attempt));
      else throw e;
    }
  }
}

try{
  result = withRetry(() => psd2.fetchBalances({ consentId, accountIban }))
}catch(e){
  throw {
    errorCode: "BULDER_AIS_BALANCE_PULL_FAILED",
    httpStatus: 502,
    message: "Falló la sincronización; revisa validez del consentimiento y conectividad.",
    details: { consentId, attempt }
  }
}

En producción, devolvemos códigos deterministas para que tu UI pueda reintentar o solicitar reautorización.

Snippet C: PIS / confirmación de pagos (opcional)
// Si tu flujo necesita soporte de iniciación de pagos:
pis = psd2.createPaymentInitiation({
  consentId,
  instructedAmount: { value: 120.50, currency: "NOK" },
  creditor: { name: "Merchant / Payee", account: { iban: "NO.." } },
  remittanceInformation: "Invoice #KID-..."
})

// Confirmar fondos (cuando aplique):
confirm = psd2.confirmFunds({
  paymentId: pis.paymentId,
  instructedAmount: pis.amount
})

onPaymentUpdate(event => {
  store.updateTransactionStatus(event.paymentId, event.status)
})

Qué incluye el entregable de código

  • Mapeos normalizados para transacciones, facturas, recibos y objetivos de ahorro.
  • Helpers del ciclo de consentimiento (crear/refresh/revoke) y recomendaciones de rotación.
  • Harness de pruebas con fixtures sintéticos y replay de casos.
  • Guía de audit logs para trazar “quién leyó qué y cuándo”.

Cumplimiento y privacidad

Bulder se integra en el contexto regulatorio de Noruega/UE para acceso a datos financieros de forma autorizada. La implementación se diseña para reducir exposición innecesaria y para soportar revisiones de seguridad y cumplimiento.

PSD2 / OpenBanking

AIS y PIS requieren autorización formal, scopes de consentimiento y registros auditable de accesos.

GDPR

Diseñamos con minimización de datos, limitación de propósito y prácticas seguras consistentes con GDPR.

eIDAS & seguridad fuerte

En el patrón PSD2, se contemplan certificados QWAC (eIDAS) y autenticación fuerte (SCA) en el acceso a APIs.

Cuando el proyecto incluye almacenamiento de documentos, agregamos controles de retención, cifrado en reposo y control de roles dentro del backend. Eso también se refleja en el código y en las plantillas de configuración entregadas.

Flujo de datos / arquitectura

Una arquitectura simple y lista para operar:

  • App cliente solicita autorización con alcance (transacciones, facturas, recibos, ahorro).
  • Adapter realiza análisis de protocolo y convierte el consentimiento en peticiones PSD2 estilo NextGenPSD2.
  • Normalización convierte campos a entidades OpenData y las guarda con IDs estables.
  • APIs de entrega publican tu contrato para analítica y exportación con auditoría.

Posicionamiento de mercado y perfil de usuarios

Bulder es una marca de finanzas personales en Noruega dentro del grupo Sparebanken Vest. En la práctica, su base de usuarios gestiona facturas del día a día, objetivos de ahorro, archivo de recibos y el coste de hipoteca desde móviles (Android e iOS). Por ello, el valor de integración es alto para productos que quieren señales financieras limpias y autorizadas, no solo pantallas bancarias sin estructura.

En el ecosistema de integraciones bancarias, productos como Fiken, Tripletex y la plataforma Aritma muestran cómo usar datos vía PSD2 para conciliación y visibilidad de tesorería. Nosotros llevamos el mismo enfoque operativo hacia objetos específicos de Bulder: eFaktura/AvtaleGiro y metadatos de recibos.

Sobre nosotros, entregables y contacto

Introducción del estudio

Somos un estudio de servicios técnicos centrado en integración de interfaces de apps y en integraciones API autorizadas. Nuestro objetivo es convertir OpenData/OpenFinance en entregables utilizables: código, documentación y planes de prueba.

  • Análisis de protocolo con salida de adaptadores y tablas de mapeo.
  • Diseño de acceso autorizado con guías de ciclo de consentimiento.
  • Entrega de código API (servicios backend y stubs SDK cuando se requieren).
  • Plan de pruebas y notas operativas para asegurar el primer “run” exitoso.

Información de contacto

Para empezar, envíanos el nombre objetivo de la app (Bulder) y tus requisitos: tipos de datos, frecuencia de actualización, formato de exportación y restricciones de autorización.

Ir a /contact.html

Qué recibirás a continuación
Una propuesta con alcance de integración, plan de implementación y un checklist inicial alineado con OpenData/OpenFinance.

Entregables (prácticos)

Contrato tipo OpenAPI, notas de análisis de protocolo, adaptadores de consentimiento/AIS-PIS y plan de pruebas.

Precios transparentes

Servicios desde $300. Podemos entregar la primera integración funcional y luego se realiza el pago tras tu confirmación.

Documentación incluida

Tablas de mapeo, inventario de datos y ajustes recomendados de seguridad/retención para recibos y datos personales.

Flujo de trabajo

  1. Confirmación del alcance: datos requeridos (transacciones, facturas, recibos, saldos, hipoteca/ahorro) y frecuencia.
  2. Análisis de protocolo y diseño: mapear flujos de la app a endpoints del adaptador y definir schemas normalizados.
  3. Desarrollo y validación interna: implementar requests conscientes de consentimiento, normalización y validaciones de reconciliación.
  4. Entrega de documentación + código: contrato API, harness de tests y guía operativa.
  5. Tiempo típico de primera entrega: 5–15 días hábiles; escenarios con terceros de autorización pueden ampliarse.

FAQ

¿Qué necesitamos de ustedes?

Un escenario objetivo (por ejemplo: export de transacciones + reconciliación de facturas), frecuencia deseada (diaria/semanal) y si prefieres APIs JSON o exportación tipo hoja de cálculo.

¿Cómo se asegura el cumplimiento?

Usamos scopes de consentimiento explícitos, minimización GDPR, patrones de audit log y modelos de autenticación fuerte (mTLS/QWAC y SCA) en escenarios PSD2.

¿Podemos empezar por algo pequeño?

Sí. Muchas integraciones inician con ledger de transacciones y estados de facturas; luego se amplía hacia ingesta de recibos y señales de hipoteca/ahorro.

App original: descripción general de Bulder (colapsada)

Bulder es una app de finanzas con enfoque a futuro: ayuda a entender qué está pasando con tu economía hacia adelante. Reconoce suscripciones, facturas y entradas de ingresos, y las convierte en una vista clara y accionable.

Incluye escáner de facturas para que las cuentas aparezcan precompletadas para revisión; también ofrece eFaktura para almacenar facturas electrónicas (pagadas y pendientes) y AvtaleGiro para pagos automáticos en la fecha de vencimiento. Además, ofrece recordatorios y notificaciones cuando recibes facturas y cuando se aproximan pagos.

La función de recopilación de recibos permite tomar fotos y mantener los recibos buscables en la app. En el plano de pagos, admite Apple Pay y Google Pay, y también experiencia de pagos vía Garmin Pay y Fitbit Pay (en dispositivos compatibles).

Bulder ofrece además un préstamo hipotecario con “pricing” más inteligente: la tasa baja automáticamente cuando disminuye tu belåningsgrad. Esto ocurre, por ejemplo, cuando sube el valor del inmueble o cuando amortizas el préstamo. Según Bulder, es una forma de calcular hipotecas sin negociación manual.

Bulder es una marca dentro del grupo Sparebanken Vest y opera bajo la licencia bancaria de Sparebanken Vest; por lo tanto, no es un proveedor financiero independiente. Para clientes, la garantía de depósitos aplica a través de Sparebanken Vest con cobertura de hasta 2 millones NOK para depósitos agregados dentro del concepto Bulder y el resto de Sparebanken Vest.

En satisfacción del usuario, Bulder fue premiado “Kundefavoritt” durante dos años seguidos en bytt.no.