Dynamic Discounting SaaS for Buyers and Suppliers
Designed for industries like retail, manufacturing, logistics, and services, this platform helps buyers optimize payables and working capital while giving suppliers faster access to cash. It strengthens supply chains, lowers financing costs, and builds more resilient buyer–supplier relationships.
Technical stack includes:
- Backend: PHP, Symfony, MySQL
- Frontend: ReactJS, Material UI
- DevOps/Infrastructure: AWS, Kubernetes, Docker, Jenkins, Zabbix, Grafana

The problem
When we first engaged, the client was in a difficult position: a fintech SaaS that had been on the market for six years, but had lost several developers and was about to lose its CTO. After multiple pivots to find a sustainable business model, the platform’s codebase was left in poor condition—buggy, vulnerable, and underperforming. With no team to maintain it but paying customers to serve, they urgently needed stability and reliable technical support.
The team
We started with an on-site visit in the Netherlands to meet the business team and review the system in depth. Together, we agreed on a cost-optimized setup: a part-time manager, analyst, QA, DevOps, and developer. This structure allowed us to stay within strict budget limits while keeping critical work moving. Over time, the team grew, and we are now preparing to transition it into a full-time dedicated team as sales expand.
Technical support
Despite tight budgets, we committed to providing continuous support. Each time the budget shifted, we adapted the development plan to focus on the most critical issues, ensuring the product remained stable and secure. Both founders and investors appreciated this flexibility, and we’ve taken full ownership of all technical responsibilities. We also deliver SLA-backed support to the product’s customers, maintaining trust and reliability across the user base.
CTO duties
Today, one of our product experts serves as the acting CTO. He oversees technical strategy, guides decision-making, and supports onboarding of new enterprise buyers—a process that can be complex given their scale. In practice, we represent this SaaS as if it were our own, handling all technical challenges with full accountability. While many doubt whether CTO-level responsibilities can be outsourced, we’ve demonstrated that it not only works, but creates lasting value.
Dynamic discount calculation
We built the core algorithm that powers the platform: it calculates the discount a buyer receives when paying a supplier’s invoice ahead of schedule. The closer to the due date, the smaller the discount becomes. This approach:
- Automates discount calculations, saving buyers time
- Improves supply chain liquidity and strengthens cash flow
- Supports thousands of suppliers by enabling faster payments
- Works seamlessly as a SaaS tool, fully integrable with internal ERPs

Back-end and data processing
Since 95% of the functionality lives on the back end, we focused heavily on rebuilding its foundation. The tool initially came with major issues: an overloaded database, weak architecture, and a rigid monolithic structure. Our work is transforming it into a scalable, data-driven system:
- Migrating from monolith to microservices
- Optimizing and restructuring the database
- Enabling big data processing for high-volume transactions
- Streamlining data import and upload workflows

API, integration, configuration
Each buyer is a large enterprise with unique systems, ERPs, and requirements. To handle this, we redesigned the API layer for maximum flexibility and scalability. Now we can support standard APIs while also building custom integrations when needed.
Key improvements include:
- Flexible API layer for faster integrations
- Custom API development per buyer requirements
- Configurable data processing methods and schedules

Customer feedback
We met with Ardas at a time when the only developer, who was back then working in our team as a full stack developer and did everything himself, was going to leave us. After several years spent on entering the market and proving and testing the business model, we have gone through all the typical difficulties for a startup and have had some temporary extensions of several developers.
At a certain moment, we had to expand and develop the system and one person was too vulnerable and was not able to handle the extended workload. To extend the development team in the Netherlands there was a huge shortage of full-stack developers and also the costs were quite expensive and we didn’t need it for full time. So we decided to outsource to find a trusted partner at a reasonable rate for a project that has just entered the phase of growth and development.
Ardas took over, controlled and step by step, the entire development, and maintenance of the dynamic discounting SaaS tool for buyers and suppliers. Their specialists came to us in the Netherlands and worked with our developer to transfer the project and the knowledge.
I was pleasantly surprised by the speed and clear communication and understanding of how this is done: the requirements analysis, the code review, the system architecture - everything was done as expected. Later, we identified the team that is needed to continue. We conducted all the necessary business discussions, and they quickly figured out the system and understood what our clients were looking for.
Their experience in fintech and custom development was immediately noticeable as also working as an outsourcing company for scale-ups. They were ready to invest in collaboration and partnership.
For more than 1.5 years, Ardas has been supporting and developing our system and good communication and coordination relieves us of the technical tasks and allows us to grow the business. Meanwhile, they joined our team and management team and since then we have a high-performance development team at hand, even if they work at a distance.
Get Insights from Real SaaS Builds
Enjoyed the read? We write these case studies and articles to share what works — and what doesn’t — in real SaaS delivery. Got a challenge of your own? Let’s talk tech.

Ryzhokhin