Highlights
- Internal web ERP for maritime procurement delivered: Centralized workflows across clients, suppliers, orders, and equipment data, with analytical data to support day-to-day decisions.
- Legacy data migration completed: Performed data aggregation and deduplication during ERP implementation to strengthen data quality and ensure continuity of operations.
- Serverless architecture built: Used AWS with a Multi-AZ deployment strategy targeting 99.99% uptime and designed for 0 downtime operations.
Client
Our client is a B2B company in the marine supply and procurement industry. They focus on sourcing and supplying technical marine spare parts and equipment, with an emphasis on premium components from genuine or OEM sources at competitive prices. The company serves clients from around the world, acting as a one-stop supplier by sourcing parts, consolidating orders, handling storage and packaging, and delivering globally.
The company started in 2005, focusing on marine supply and parts distribution. In 2013, it merged with another business, pooling their expertise to diversify offerings and grow market share.
Product
The product is an internal web enterprise resource planning (ERP) platform for maritime procurement teams that brings all workflows into one place. It helps teams manage clients, suppliers, orders, and equipment data and offers analytics to support daily decisions.
Goals and objectives
The main goal of this ERP project is to create a system that will:
- Provide ERP system modules for working with clients, suppliers, orders, and equipment data: Since we could not find the right ERP vendor due to the specific nature of the business, we built a custom ERP that delivers connected modules for all departments, includes analytical data capabilities, and enables reporting and day-to-day decision-making.
- Have data migrated from the existing system: We needed to migrate historical procurement data from Navition into the new ERP, requiring data aggregation and deduplication while keeping data quality on high level and guaranteeing continuity of internal operations during the transition.
- Improve business processes through automation and workflow simplification: We were tasked to improve existing processes, so the system had to support automation and reduce unnecessary manual steps across procurement workflows.
- Be adaptable and prepared for new processes: The ERP has to be flexible enough to support future operational changes and accommodate new workflows as the business evolves.
- Enable easy ERP integration with different third-party systems: The solution had to be integration-ready, allowing for smooth connectivity with external platforms used in procurement and operations.
- Speed up daily work: The system needed to save time on repetitive tasks and support faster execution of core procurement activities.
- Reduce the number of manual mistakes: Our team needed to take care of minimizing human error by improving data handling and making workflows more structured and consistent.
- Simplify the flow of creating quotes: We wanted to make quote creation guided to reduce friction for users and improve consistency in day-to-day execution.
Project challenge
In our ERP implementation process, our team faced a number of challenges:
- Migrating data from a legacy system: We managed the migration from the existing system (Navition), tackling complex legacy data and improving data quality through aggregation and cleanup, while ensuring internal operations continued without interruption.
- Aligning requirements across multiple ERP modules: We organized and checked requirements for clients, suppliers, orders, and equipment data, making sure the ERP project stayed focused on automation, simplicity, flexibility, and third-party integrations.
- Building for high availability and reliability from the start: We designed and set up an architecture that enables uninterrupted operation and can handle faults, using a Multi-AZ serverless setup across AWS regions.
- Establishing secure identity and communications: We set up enterprise-level authentication with Auth0 and reliable email notifications using Resend as key parts of the platform.
- Setting up scalable infrastructure and delivery pipelines: We built the platform using AWS serverless services and set it up with Terraform. We also created separate CI/CD pipelines with GitHub Actions to automate testing, builds, and deployments.
Solution: ERP Implementation Project
For effective ERP implementation, we approached it as a structured transformation with a clear vision and defined goals. From the outset, we aligned the initiative around automation, process simplification, flexibility for future needs, and integration readiness, so every delivery decision helped avoid unrealistic expectations and major disruptions to the company’s work while also supporting measurable business outcomes.
We also followed a best-practice approach by organizing a strong cross-functional implementation project team that included a project manager, front-end and back-end engineers, a tech lead, a designer, and a business analyst. These experts brought together all key disciplines needed for delivery and managed the entire process, from gathering requirements to ERP implementation and rollout. Our main tasks were designing and building the ERP system, migrating data, and adding third-party integrations to make sure the solution supported real business needs.
At the start, we brought in a business analyst and a designer to support the team beyond just engineering. The business analyst helped organize requirements for the ERP modules, including clients, suppliers, orders, and equipment data. This ensured that goals like automation, simpler processes, flexibility for future needs, and third-party integrations were always part of the ERP implementation project.
The designer worked on the UX/UI of the internal web solution. They designed user flows to make daily work faster, lower human errors, and make quote creation easier. Simultaneously, keeping the experience consistent across the platform was key for helping users easily move around the system. The solution’s interface uses a clean, enterprise-style layout with dark navy navigation on the left and a bright, open main workspace. The design is consistent across all screens, with rounded cards, light dividers, subtle shadows, and clear typography to keep data easy to read. The UI is built for quick scanning, fast actions, and predictable navigation to guarantee smooth business operations.
Next, we built the foundation for the platform. To ensure the ERP success, the solution is designed to be a serverless case management system designed for high availability, easy integrations, and fast development. Using modern cloud technologies, the platform was set up to accommodate zero-downtime operations, automated workflows, and easy scaling. This allowed our team to deliver new features quickly while keeping the ERP system strong and ready to grow.
On the backend, we built core services with Java 21 and Spring Boot 3, using SnapStart for fast cold starts with serverless design environments. We stored data in PostgreSQL 18, managed by Neon.tech for serverless hosting, which allows for scale-to-zero efficiency and safe database branching. Flyway handled schema changes and reliability, while MyBatis provided flexible data access. We used Lombok and MapStruct to speed up development and reduce repetitive code, and set up workflow automation with real-time triggers for case updates, document generation, and notifications dispatching for event-driven operations.
On the frontend, we built a React web application and deployed it as static files on AWS S3. This technique supported fast global delivery and hassle-free updates without server management.
In the next step of the implementation process, our team set up infrastructure and DevOps with a fully serverless architecture on AWS. We used Lambda for computing, VPC and NAT Gateway for secure networking, S3 for storage, Parameter Store and Certificate Manager (ACM) for managing secrets and TLS, and API Gateway for secure, scalable APIs. To ensure reliability, we used a Multi-AZ deployment strategy across AWS regions, aiming for 99.99% uptime and strong fault tolerance. We provisioned everything with Terraform as Infrastructure as Code, and set up separate CI/CD pipelines for frontend and backend using GitHub Actions to automate testing, builds, and deployments.
This ERP system embeds robust security and fluid integrations by design. We used Auth0 for enterprise-level identity management with little overhead, and set up in-platform email notifications with Resend. We also integrated SEKO for warehouse and logistics, Procureship for trade marketplace connections, and Economics for automated tax compliance and invoicing. This ensures the ERP system fits well into the larger operational ecosystem as an integrated solution.
To keep ERP implementation predictable, we structured the rollout in phases, starting with core modules and foundational capabilities (data migration, security, and infrastructure) and then expanding with integrations and workflow automation, allowing for refinements as the solution matured.
Tech Stack
-
Java 21
-
Spring Boot 3
-
PostgreSQL 18
-
React
-
AWS S3
-
AWS Lambda
-
Terraform
-
GitHub Actions
-
Auth0
Results: ERP Project Aimed for Long-Term Digital Transformation
Upon successful ERP implementation, we delivered a new system for internal processes that streamlines procurement, improves data quality, and delivers reliable workflows, positioning this work among our successful ERP implementation case studies and supporting long-term digital transformation and future rapid growth. The results we achieved:
- Data migration completed: We migrated data from the legacy system and improved its quality through aggregation and deduplication.
- 99.99% uptime target: We deployed the platform across multiple AWS Availability Zones and regions to guarantee fault tolerance.
- 0 downtime: We designed the serverless ERP architecture to keep operations uninterrupted.
- 0 idle cost: We leveraged Neon.tech PostgreSQL scale-to-zero to reduce idle expenses.
As the next phase of this ERP implementation project, we plan to build a chatbot for recognizing requests, automate the inquiry and quote process, and develop a dashboard and analytics tool.
Highlights Client HaulHub is a B2B2C company that provides a digital platform for the transportation construction industry. Its focus...
Explore Case