Labels and carrier choice, by hand
Bavasoft was generating shipping labels and choosing vendors manually. It took significant operational time and introduced errors into fulfilment, so the shipping operation needed to work directly with carrier APIs such as UPS.
Two services
We built a modular Spring Boot microservices platform with two jobs:
- UPS integration — rate calculation, label generation and shipment tracking straight from the UPS APIs, through XML integration using JAXB
- Vendor selection — compares multiple carriers and routes and recommends the best option on cost, delivery time and service level
Configuration is database-driven, with Liquibase versioning the schema, and a REST API makes it easy to connect the platform to existing systems.
What changed
The manual shipping workflows are gone. Bavasoft processes shipments faster and with fewer errors, and the vendor-selection engine gives every shipment cost-optimised carrier routing.
