Software
Everyplants B.V. - An internal operations tool that actually gets used
Incident management, returns, and cost management within 1 application
Not every project needs AI. Sometimes the problem is simpler: information is everywhere except in one place. That was the case for Green Bubble and EveryPlants. Their customer service worked with a mix of Picqer, Shopify, spreadsheets, and email. It worked, until it didn't.

Impact
Resultaten
3
systems centralized
0
incidents 'lost'
100%
cost insight
Aanpak
Uitdaging en oplossing
De Uitdaging
- Incidents disappeared – Customer reports came in via email, phone, chat. Some were picked up, others forgotten. No one had an overview
- Returns in spreadsheets – A Google Sheet with returns that was sometimes updated, sometimes not. Duplicate entries, missing data, unclear status
- Three systems, zero overview – Order info in Picqer, prices in Shopify, costs somewhere else. Customer service constantly switched between tabs
- Manual cost calculation – For EveryPlants orders, costs had to be passed on. That was done with Excel and a lot of manual work
- Discounts were guesswork – How much discount do you give for a damaged plant? Everyone did it differently
Onze Oplossing
- One place for incidents – Form to create incidents, linked to the order, with photos attached. Search, filter, nothing gets lost anymore
- Return system with duplicate check – Three layers of protection against duplicate returns. Sounds like overkill, but it happened constantly
- Order lookup that shows everything – Search an order number, see everything: customer details, products, prices, shipping, and all linked incidents and returns
- Automatic cost calculation – Integration with Everspring pulls in the costs. No more manually figuring out what each plant cost
- Consistent discounts – Discount is calculated based on Shopify prices. Everyone uses the same logic
The situation
Green Bubble & Everyplants sell plants. Lots of plants. And with plants, sometimes something goes wrong: damaged during transport, the wrong plant delivered, or just an unhappy customer. That's normal.
What's not normal: tracking those reports in email threads and spreadsheets. With a handful of reports per day, that works. With dozens per day, it doesn't anymore.
EveryPlants – their B2B division – had an extra challenge: costs had to be passed on. Plant X costs Y euros, packaging Z euros, shipping something else again. Calculated manually in Excel. Every week, all over again.
They didn't need a tool that could do everything. They needed a tool that did a few things well.
What we built
Incident management
The core is simple: someone from customer service creates an incident, links it to an order, chooses a type (damaged, wrong item delivered, not received), uploads photos, and selects a resolution.
Under the hood, more happens. We fetch the original Shopify prices for discount calculations. We link to Picqer for order data. Everything is stored with timestamps and who did what.
Archiving is a soft delete. Nothing is actually thrown away – important for when questions come up later about a specific case.
Returns management
Returns needed their own flow. A return isn't the same as an incident: something physically comes back, inventory has to be updated.
The biggest problem here was duplicate returns. Someone creates a return, accidentally clicks twice, or a colleague creates the same return because they didn't know it already existed.
Our solution: three layers of protection. A lock on the client, an idempotency key in the HTTP request, and a database constraint that blocks duplicate entries within 60 seconds. Sounds technical, but it solves a real problem.
Order lookup
This is probably the most used feature. Type an order number, see everything: customer details, products with prices, shipping status with tracking link, and all incidents and returns linked to this order.
One screen instead of three systems.
EveryPlants costs
This was the hardest one. Every order has costs: the plant itself, the pot, packaging, handling, pick & pack, shipping. We had to pull those from Everspring (their cost system), show them in a clear table, and make them exportable to Excel.
We group by their order reference. The main row shows the order, sub-rows show incidents and returns that have costs. Per line, you can indicate whether something should be passed on or not.
At the end of the week: one button, Excel export, ready for accounting.
Carrier issues
If a package arrives damaged, you want to be able to file a claim with the carrier. But then you need evidence, and you need to track what you've communicated.
A separate module for carrier issues. Linked to the original incident, with photos, notes, and status (in progress, emailed to carrier, completed). Also exportable.
The integrations
This project revolved around integrations. We connected with:
Picqer – Their warehouse management system. This is where orders come from, and where inventory goes back to on returns. We sync order data and can add tags.
Shopify – For the original sale prices. If someone gets a 40% discount on a damaged plant, we need to know what the plant cost.
Everspring – (among other things) the B2B cost system. This is where we get the breakdown from: what the plant costs, the packaging, the shipping. Automatically, with every new incident.
Every integration had its own challenges. Rate limits with Picqer. Authentication tokens expiring with Everspring. But that's the job: making sure it keeps running, even when external systems behave unexpectedly.
What we learned
Internal tools are different – No marketing, no onboarding flow, no trial period. Users are colleagues who have to use the system. They'll tell you right away what doesn't work.
Duplicate prevention is serious – We wouldn't have come up with those three layers if the problem wasn't real. Duplicate returns cost money.
Excel export isn't sexy, but it's essential – Every stakeholder wants the data in Excel. Always. Build it in early.
Permission structure is more complex than you think – Admin vs. member sounds simple. But what if some members are allowed to see incidents but not costs? Page-level permissions were the solution.
How it runs now
The tool is used daily by the customer service team. Incidents no longer get lost. Returns have a clear status. Costs are automatically calculated and exported.
It's not revolutionary software. It's practical software that solves a specific problem well. And that's exactly what it needed to be.
Stack
Gebruikte technologieën
“Finally, we know where we stand. Before, it was guesswork how many returns and how much damage we had — now I just see it. And that Excel export for EveryPlants costs saves me hours per week.”
Eric Mulder
Owner
Ook interessant
Gerelateerde case studies

Direct Sicily – Van spreadsheets naar een professionele availability list in 30 seconden
Direct Sicily beheerde hun productcatalogus en wekelijkse beschikbaarheidslijsten handmatig in spreadsheets. We bouwden een op maat gemaakt bedrijfsdashboard waarmee zij met één klik professioneel gebrande PDF's en Excel-exports genereren – inclusief productfoto's en multi-land BTW-berekeningen.

Everyplants B.V. - Een interne operations tool die daadwerkelijk gebruikt wordt
Green Bubble en EveryPlants hadden een probleem dat elk groeiend bedrijf herkent: te veel processen in spreadsheets en e-mail. We bouwden een interne applicatie – een tool waar incidenten, retouren en kosten samenkomen. Geen fancy AI, wel software die elke dag, de hele dag door wordt gebruikt.
Volgende stap
Klaar om jouw processen te automatiseren?
Ontdek hoe wij ook jouw bedrijf kunnen helpen met slimme automatiseringen die tijd en geld besparen.