25Years of Experience
Saeree ERP's roots go back to 1999, when our founder Sureeraya Limpaibul personally joined Jorg Janke's Compiere project and contributed Thai localization — making Thai the 5th language supported (after English, German, French, and Spanish).
In 2019, we rewrote the entire frontend from Java Swing directly to Angular 7 — skipping JSP, jQuery, and every other intermediate technology entirely. Angular was chosen because its object-oriented TypeScript, dependency injection, and separation of HTML templates from component logic mirrors how Java developers think. Today, Saeree ERP runs on Angular 20+ with PrimeNG, serving 10+ Thai government agencies with 16+ modules, 1,000+ database tables, and zero Swing code remaining.
25Years of Experience
Before discussing the migration, it's important to understand why government ERP systems face unique modernization challenges.
| Challenge | Commercial ERP | Government ERP (Thailand) |
|---|---|---|
| Budget cycle | Revenue-driven, flexible | Annual government budget allocation |
| Procurement | Standard PO workflow | Must comply with Government Procurement Act 2017 |
| User licensing | Per-seat pricing | Unlimited users required — agencies have 50-500+ staff |
| Accounting | IFRS/GAAP | Thai government accounting + Revenue Department certification |
| Deployment | Cloud-first | Often on-premise for data sovereignty (PDPA) |
| System lifespan | 5-7 year cycles | 10-20+ years of continuous operation |
That 10-20+ year lifespan is why our technology migration story matters. A system born in 1999 must evolve while maintaining uninterrupted service to government operations.
In 1999, Sureeraya Limpaibul discovered Jorg Janke's Compiere — one of the first open-source ERP systems, built in Java. She joined the project and contributed Thai localization as the 5th language. After English, German, French, and Spanish, Thai was the next language Compiere could speak.
But the relationship with the Compiere community didn't last. After contributing Thai localization, attempts to contribute further went unanswered. The Compiere project was eventually commercialized and sold. This led to a decision that shaped the next 25 years: fork the codebase and build something purpose-built for Thai government agencies.
In 2002, Grand Linux Solution Co., Ltd. was founded, and Saeree ERP was born — years before ADempiere even forked from Compiere in 2006. When ADempiere did fork, Thai localization was already there, waiting — because our founder had put it there seven years earlier.
| Framework | Why We Considered It | Why We Rejected It |
|---|---|---|
| JSP/jQuery | Familiar to Java devs | Not a real framework — UI logic scattered across files |
| GWT | Java-to-JavaScript compiler | Dead ecosystem, Google abandoned it |
| Vaadin | Java backend renders UI | Server-side rendering = scalability concerns for 500+ users |
| React | Massive ecosystem | Functional programming paradigm — foreign to Java OOP thinking |
| Vue.js | Gentle learning curve | Too flexible — no enforced architecture for a 20-person team |
| Angular | Full framework with opinions | Winner! — felt like writing Java for the web |
The decision came down to one insight: our team thinks in objects, not functions.
Angular wasn't just "good enough." It felt like someone had taken Java's architecture and rebuilt it for the browser.
| Java Concept | Angular Equivalent | Same Mental Model? |
|---|---|---|
| Classes | TypeScript Classes | ✓ |
| Interfaces | TypeScript Interfaces | ✓ |
| Dependency Injection | Angular DI | ✓ |
| Annotations (@Entity) | Decorators (@Component) | ✓ |
| Packages | Modules (NgModule) | ✓ |
| Strong Typing | TypeScript | ✓ |
| MVC Pattern | Component + Template + Service | ✓ |
| Build Tools (Maven) | Angular CLI | ✓ |
In React, your HTML lives inside your JavaScript (JSX). For a Java developer, this feels wrong — it's like putting your SQL queries inside your entity classes.
Angular does it the Java way:
A Java developer looks at this structure and immediately understands where everything goes. There's no cognitive overhead.
| Specification | Detail |
|---|---|
| Frontend | Angular 20+ with PrimeNG |
| Backend | Jersey Java REST API |
| Database | PostgreSQL |
| Authentication | SSO / Microsoft Active Directory / LDAP |
| Access Control | Role-based, read/write per field |
| Auditing | Full change log on every table |
| Modules | 16+ (Budget, Procurement, Inventory, HR, Payroll, Accounting, Fixed Assets, e-Saraban, and more) |
| Database Tables | 1,000+ |
| Users | Unlimited (no per-seat licensing) |
Our first line of code was written in 1999. It has survived the rise and fall of Applets, Flash, and now Swing. The business logic — Thai government budget management, procurement compliance, accounting standards — that's the real intellectual property. Technology is just the delivery mechanism.
Choosing Angular because it matched our Java team's mental model meant developers were productive within weeks, not months. The wrong choice (React for a Java team, or Vue without architectural discipline) would have cost us years in ramp-up time and architectural mistakes.
One concern we had: would government IT staff be able to maintain an Angular application? The answer is yes — because Angular's structured, opinionated approach means there's one right way to do things. New team members learn the patterns quickly.
We didn't just rebuild the same screens in a browser. The migration was an opportunity to rethink workflows, add dashboards, improve reporting, and introduce features (like e-Saraban digital signatures) that were impossible in Swing.
Starting from Compiere/ADempiere gave us a foundation. But 25 years of customization for Thai government agencies — 1,000+ tables, 16+ modules, budget management that no other ERP has — that's where the real value lies. The open source starting point accelerated us. The domain expertise kept us ahead.
It was a transformation in how Thai government agencies interact with their most critical business systems — and proof that a Thai software company can build government ERP that matches and exceeds international vendors by evolving continuously for over two decades.
Contact Us About Grand LinuxCopyright @2026 Grand Linux Solution Co., Ltd. All rights reserved.