Skip to content
FT
Back to technical notes
5 min

Technical note

Multi-country ERP without duplicating codebase

Strategies to serve Argentina and Colombia from one platform with different business rules and a legacy codebase.

One product, two markets

ConsorcioAbierto (AR) and Properix (CO) share a platform but differ in regulations, currencies, expense flows, and bank reconciliations. Duplicating repos wasn't an option: maintenance cost would multiply.

Feature flags and market config

I separated what varies by country (tax rules, labels, validations) from what's core (condo model, funds, reconciliations). Market config in backend, Vue components conditioned by market context on frontend.

Performance in legacy

Reconciliation and funds modules handle high transaction volume. I optimized N+1 queries, added strategic indexes, and server-side pagination. Measure before optimizing: slow query log and basic APM guided where to invest time.

16 months in production

Balancing stability and feature velocity was key: strict code reviews on financial modules, incremental releases per market, and QA coordination on cross-border scenarios.

Takeaways

  • Market config, not codebase forks
  • Optimize queries where there's real traffic (reconciliation, funds)
  • Reinforced code review on financial modules
  • Features deployable per market independently
ERPLaravelVue 3Multi-tenantPHP