Volver a notas técnicas
7 min

Nota técnica

ERP en dos mercados sin duplicar el producto

Contrato en Consorcio Abierto (Jul 2024 – Oct 2025): ConsorcioAbierto (AR) y Properix (CO) sobre el mismo ERP con Laravel, Symfony y Vue 3.

En números

2

Mercados

15

Meses contrato

Full stack

Rol

Agile

Entrega

Un ERP, dos regulaciones

ConsorcioAbierto (Argentina) y Properix (Colombia) comparten modelo de negocio — administración de consorcios y propiedades — pero difieren en reglas fiscales, monedas y flujos operativos. Duplicar repositorios hubiera duplicado deuda. Trabajé full stack en evolución del producto existente, en paralelo con mi rol principal en Extendeal.

Config por mercado, no fork

Separé lo que cambia por país (validaciones, labels, reglas) de lo core (expensas, fondos, conciliaciones). En backend, servicios Laravel/Symfony exponen reglas por tenant; en frontend, Vue 3 consume contexto de mercado para decidir qué campos y flujos mostrar.

PHP · reglas por mercado
public function rulesFor(string $market): array
{
    return match ($market) {
        'AR' => ['currency' => 'ARS', 'taxFields' => ['iva']],
        'CO' => ['currency' => 'COP', 'taxFields' => []],
        default => throw new InvalidMarketException($market),
    };
}

Infra y datos

PostgreSQL para modelado relacional, Docker/Kubernetes para despliegue de servicios, e infraestructura como código (CDK/Terraform) donde el equipo ya lo usaba. TDD y principios SOLID para mantener el código testeable en módulos administrativos y financieros — áreas sensibles donde un bug cuesta caro.

Trabajo concurrente con otro cliente

Ser contrato mientras liderás otro equipo enseña a ser quirúrgico: PRs acotados, comunicación clara con producto/QA, y no arrancar refactors grandes sin acuerdo. Entregué features y optimizaciones puntuales de performance en módulos con tráfico real, con code review reforzado en finanzas.

Qué me llevé

Multi-país en ERP legacy no requiere microservicios nuevos el día uno. Requiere disciplina de configuración, tests en cálculos sensibles y releases que respeten el mercado correcto. Si AR y CO comparten código, el riesgo está en mezclar reglas — no en falta de frameworks.

Takeaways

  • Config por mercado en backend — evitar forks de codebase
  • Vue 3 + contexto de mercado para UI condicional
  • PostgreSQL + Docker/K8s + IaC según madurez del equipo
  • Contrato en paralelo → PRs chicos y scope negociado
  • Doble review en módulos financieros y administrativos
ERPLaravelSymfonyVue 3PHP