Definiendo el alcance

Sam Lown Cofundador y CTO

Este artículo explora algunas de las razones y objetivos que hay detrás de Invopop a medida que vamos construyendo el proyecto. En un principio, esta información estaba pensada para una página de «Acerca de» en esta web, pero se me ocurrió que, con el tiempo, muchas de estas ideas irán cambiando a medida que el proyecto madure. Tener una referencia permanente con fecha me pareció un enfoque más honesto.‍Invopop lo estamos construyendo desarrolladores para desarrolladores, con la intención de resolver los múltiples problemas que vemos hoy en día a la hora de convertir ventas en facturas fiscalmente válidas:

  • crear facturas en PDF consume mucho tiempo y, como desarrolladores, rara vez podemos justificar dedicar grandes esfuerzos a que queden bien,
  • generar facturas electrónicas con la mayoría de los estándares actuales basados en XML es complejo y poco atractivo, sobre todo porque el XML no representa la forma en que se manejan los objetos, arrays, cadenas y números en el código. Si a eso le sumas esquemas y espacios de nombres complejos, acabas con documentos difíciles de entender, depurar y parsear con fiabilidad,
  • descubrir las reglas de validación locales y mantenerse al día con los tipos impositivos requiere un esfuerzo considerable, pese a que esta información es pública,
  • las firmas digitales son estupendas, pero el esfuerzo necesario para hacerlas funcionar (véase Canonical XML) hace que la mayoría de los desarrolladores intenten evitarlas si pueden,
  • cada vez más países exigen la facturación electrónica con aprobación digital por parte de las agencias tributarias. Casi toda Latinoamérica funciona así y, en Europa, la tendencia ha empezado con Italia y Portugal. Integrarse con distintos proveedores en cada país, cada uno con sus peculiaridades y funcionalidades sin documentar, puede llevar mucho tiempo y, por supuesto, una solución que funciona en un país no suele poder reutilizarse en otro,
  • la mayoría de las empresas aspiran a internacionalizarse tarde o temprano, pero cada país tiene sus propias normas y regulaciones; países como Brasil incluso tienen reglas de facturación e impuestos distintas a nivel municipal,
  • a medida que un proyecto tiene más éxito y las ventas aumentan, enviar las facturas a servicios de contabilidad o a plataformas ERP se vuelve rápidamente necesario. Y esta es, una vez más, otra integración que hay que construir y mantener.

En Invopop nuestro objetivo es tratar de aliviar este dolor con un enfoque en dos frentes:

  • En primer lugar, necesitamos hacer que crear una factura electrónica sea mucho más fácil. Estamos desarrollando una biblioteca estándar en Go que, una vez publicada como código abierto, podrá incorporarse directamente a tu código, usarse como un microservicio interno o alojarse en la plataforma Invopop. La idea es que este software, al que llamamos GoBL, defina los tipos impositivos globales, las estructuras de los documentos de factura, las reglas de validación y las firmas digitales, de modo que crear una factura digital en JSON sea rápido y sencillo, estés donde estés.
  • En segundo lugar, la plataforma Invopop recibe la salida JSON de GoBL y convierte los documentos al formato que sea necesario: PDF para personas, formatos XML locales de facturación electrónica, envío a la administración para su firma o reenvío a tu contable o plataforma ERP.

Suena sencillo, y el resultado final para los desarrolladores debería serlo, pero entre bastidores somos muy conscientes de la complejidad que implica construir software multinacional. La clave del éxito de Invopop estará en formar equipos centralizados y globales capaces de adaptar el producto a cada mercado local, para que nuestros clientes puedan centrarse en una única integración con nosotros.‍