
Trueque Platform
Colombian multi-tenant retail SaaS — Angular app and Spring Boot API with DIAN e-invoicing, POS, and inventory.
Problem
Define the core challenge
Problem
Colombian retailers juggling POS sales, inventory, and DIAN electronic invoicing had no unified subscription-based SaaS that could serve multiple branches per company while staying compliant with tax authority requirements and Colombian fiscal metadata.
Insight
Implementing DIAN 2.1 electronic invoice lifecycle (UBL generation, XAdES signing, SOAP submission, credit/debit notes, voided documents); designing Hibernate multi-tenant isolation resolved from JWT claims; aligning granular RBAC catalogs across backend Liquibase seeds and frontend guards; operating secure production deployments with environment-driven CI/CD.
Target
Design a system that improves speed, usability, and delivery confidence without adding maintenance overhead.
Process
How the work was executed
Discover
Enterprise SaaS platform developed at Alteza for Colombian retail and SME businesses. Merchants manage multi-headquarter sales, inventory, POS invoicing, and DIAN-compliant electronic invoices (UBL 2.1, credit/debit notes, XML signing) from an Angular web app backed by a Java 21 Spring Boot multi-tenant API with Hibernate schema routing, JasperReports, ePayco subscriptions, and AWS S3 document storage.
Build
Delivered the merchant-facing core of the Trueque ecosystem: a Spring Boot 3 multi-tenant API with DIAN SOAP/UBL integration, 62+ REST controllers, and an Angular 16 client with Keycloak RBAC across 50 permission pages — deployed on AWS Lightsail with GitHub Actions CI/CD and tag-based production releases.
Validate
Implementing DIAN 2.1 electronic invoice lifecycle (UBL generation, XAdES signing, SOAP submission, credit/debit notes, voided documents); designing Hibernate multi-tenant isolation resolved from JWT claims; aligning granular RBAC catalogs across backend Liquibase seeds and frontend guards; operating secure production deployments with environment-driven CI/CD.
Solution
Translate constraints into a scalable solution
Process
Enterprise SaaS platform developed at Alteza for Colombian retail and SME businesses. Merchants manage multi-headquarter sales, inventory, POS invoicing, and DIAN-compliant electronic invoices (UBL 2.1, credit/debit notes, XML signing) from an Angular web app backed by a Java 21 Spring Boot multi-tenant API with Hibernate schema routing, JasperReports, ePayco subscriptions, and AWS S3 document storage.
Solution
Delivered the merchant-facing core of the Trueque ecosystem: a Spring Boot 3 multi-tenant API with DIAN SOAP/UBL integration, 62+ REST controllers, and an Angular 16 client with Keycloak RBAC across 50 permission pages — deployed on AWS Lightsail with GitHub Actions CI/CD and tag-based production releases.
Architecture
Angular merchant SPA authenticates via Keycloak OIDC and consumes a Spring Boot modular monolith with tenant/nontenant PostgreSQL datasources, TenantContext routing from JWT company_id, DIAN UBL/XAdES signing pipeline, JasperReports PDF generation, ePayco subscription webhooks, and S3 storage — deployed behind Nginx on AWS Lightsail.
Results
Ship measurable outcomes
Results
Production-oriented merchant platform live at app.trueque.pro with full POS, electronic invoicing, inventory, quotations, analytics reports, and ePayco subscription billing — serving as the core product of the Trueque brand for Colombian retail customers.
Impact
Business and product teams gained better reliability, clearer UX behavior, and a stronger foundation for iteration.
Next
The system now supports future features with less rework and more predictable frontend execution.
Tech stack
- Java 21
- Spring Boot 3
- Angular 16
- PostgreSQL
- Keycloak
- Hibernate
- Liquibase
- DIAN UBL
- JasperReports
- AWS S3
- AWS Lightsail
- ePayco
- GitHub Actions