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.
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