/

Kettleby Freight

Kettleby Freight logo

How Kettleby Freight retired 14 spreadsheets in a quarter

14

spreadsheet processes retired in one quarter

3 days

to close the month, down from 9

€310k

in carrier overbilling caught in six months

At a glance

Industry

Logistics

Company size

2,400 people

Headquarters

Rotterdam, NL

Team

Finance

Builders and members

5 builders, 160 members

Apps built

14 apps

Built with

PostgreSQL logo
Snowflake logo
Amazon S3 logo
Slack logo

The company

Kettleby Freight is a freight forwarder and third-party logistics provider based in Rotterdam. Its 2,400 people move ocean and road freight for about 900 shippers across Europe, from customs clearance to the last warehouse door.

Fourteen files, one owner each

At the end of 2025, Kettleby’s finance operations team ran its month on 14 spreadsheets. Carrier invoices were checked against rate cards by hand. Demurrage disputes lived in a shared workbook with 40 tabs. Freight accruals were rebuilt every month from a Snowflake export, and each file had exactly one person who understood it.

“When someone was on leave, that process stopped,” says Dana Okafor, Finance Operations Lead. “When an auditor asked who changed a rate, we couldn’t say.”

Engineering had a two-quarter backlog, so any request for new tooling would have waited until the summer. The team had tried a form builder the year before, but IT blocked it because nobody could say where the data went.

One app a week, starting with rates

Dana’s team opened the Bench in January and started with the file that hurt most: carrier rate approvals. The first prompt was one paragraph. It asked for a queue of carrier invoices from the transport management system’s Postgres database, a check against the agreed rate card, and a second approver for any variance over €500.

The first working version arrived 12 minutes later. The team spent the rest of the week on edge cases like currency conversion, partial shipments and credit notes. By Friday, Rate Desk was live for 22 people.

The other 13 apps followed at about one a week. Accruals moved to a scheduled Job that reads Snowflake every night and writes a job sheet the controller reviews each morning. Demurrage disputes became a queue, with the supporting documents stored in Amazon S3. Approval requests post to Slack, so approvers don’t have to watch a dashboard.

Carrier rates grid for Kettleby Freight with validation checks and a pending sign-off

Named approvers from the first release

Kettleby’s IT team set two conditions before rollout. Every app needed a named owner, and nothing could reach production without a Sign-off.

Tolerances covered both. Access follows Kettleby’s existing Microsoft Entra ID groups, so a new analyst gets the right apps on day one and loses them the day they leave. Every release goes through a Sign-off with a diff, and the Logbook records who approved it. One Spec, written as a single sentence, keeps supplier bank details out of every app the team builds.

“IT stopped asking whether finance could be trusted with its own tools,” Dana says. “They can see exactly what we shipped and who approved it.”

What changed

  • 14 spreadsheet processes retired in one quarter

  • Month-end close down from 9 working days to 3

  • €310,000 in carrier overbilling caught in the first six months

The team runs 14 apps today, with 5 builders and 160 members. Next on the list is a shared dock schedule for the warehouse team in Venlo, which will reuse the same approvers and access groups.

“We replaced 14 spreadsheet processes in one quarter, and every app had a named approver before it went live.”

Dana Okafor

Dana Okafor

Finance Operations Lead, Kettleby Freight

See what your team could ship in a week

Create a free website with Framer, the website builder loved by startups, designers and agencies.