/

Month-end close in two days at Halden

Customers

Published

Read time

6

min

Month-end close in two days at Halden

Halden replaced 31 cron jobs with one workspace. Ingrid Valk explains how finance ops cut close from six days to two.

LH

Leila Haddad

Head of Customer Success

On this page

Share

In autumn 2024, the finance operations team at Halden B.V. closed the books with 31 cron jobs, four reconciliation spreadsheets and a shared inbox for approvals. Month-end took six working days. Today the same team of five closes in two, a 66 percent drop, and every journal entry it posts can be traced back to the Stripe event that caused it. I spoke with Ingrid Valk, Head of Finance Operations, about how they got there.

Where they started

Halden bills customers through Stripe and keeps its ledger in NetSuite. Between the two sat years of scripts. One job pulled paid invoices every hour, another matched them overnight, a third emailed a CSV of mismatches to whoever was on rota. When a job failed, it failed quietly. Ingrid's team usually found out on day three of close, when the numbers did not tie.

"Nobody owned the scripts," she told me. "The person who wrote half of them left in 2022. We were afraid to touch them."

One workspace instead of 31 jobs

The move took eleven weeks. Halden rebuilt the close as four workflows in one Tessel workspace, using the Stripe, NetSuite and Slack connectors. The old cron jobs ran in parallel for one full month so the team could compare results line by line, and were switched off in December 2024.

One invoice, end to end

Here is a real run from August. A customer pays a Stripe invoice. The workflow fetches the matching NetSuite invoice, 14 lines, and matches each line against the payment. An agent block checks the variance: anything under 2 percent is approved automatically. This one was 3.1 percent, so the run asked for an approval in Slack. The primary approver was on leave, and after 30 minutes the request moved to the backup, i.valk@halden.example. Ingrid approved it from her phone, the workflow posted the journal entry in NetSuite and notified #finance. The whole run, including the wait, took 34 minutes.

Agents for the dull checks

Halden uses agents narrowly. They do not post entries and they cannot change master data. Each one has a short tool list, a monthly spend cap and a named approver. Ingrid described the split like this:

  • Agents check variances, explain why two amounts differ and draft the note that goes with an approval.

  • People approve anything above the 2 percent threshold, any credit note and any entry that touches a closed period.

  • Workflows do the rest: fetching, matching, posting and telling the right channel what happened.

Approvals moved into Slack when Tessel 4.0 shipped them earlier this year. Halden's median response time is now under five minutes, close to the platform median of four.

What the auditors see

The change Ingrid did not expect was in the audit. Every run leaves a trace with the inputs, outputs and timing of each block, plus who approved what and when. Halden is on Enterprise, so those traces are kept for a year.

Month-end close went from six days to two. The trace view is the first thing our auditors ask for now.

That is how Ingrid put it when I asked what she would tell another finance team. Last spring, Halden's auditors sampled 60 journal entries. For each one, the team sent a trace link instead of assembling a folder of screenshots and exports. The sampling took an afternoon.

What they would do differently

Two things. First, they would name backup approvers from day one. In the first close on Tessel, three runs waited overnight because the only approver was asleep in another time zone. Second, they would have used replay earlier. Halden now replays every change to the matching logic against the previous seven days of real invoices before it goes live, and reads the diff before anyone presses publish.

If your close runs on Stripe and NetSuite too, the NetSuite integration page lists the objects and events Halden's workflows use.

LH

Leila Haddad

Head of Customer Success

Leila leads customer success and works with the finance and operations teams moving their first workflows onto Tessel. Before joining she ran ERP implementations for a consultancy in Lisbon, mostly NetSuite migrations for mid-sized European companies.

Keep reading

More from the blog. Picked for this post.

Operations

8

min read

A field guide to approval steps

Where to put a person in the loop, who should be the backup, and how long a run should wait before it escalates.

Product

7

min read

Agents need budgets, not just prompts

A prompt says what an agent should do. A spend cap, a tool list and a named approver say what it may never do.

Engineering

9

min read

How we trace two billion runs a month

Inside the pipeline that stores inputs, outputs and timings for every block, and opens a 30-day trace in under 200 ms.

Newsletter

New posts, monthly. Plain text, no tracking.

One email a month · Unsubscribe in one click

One email a month. Only what shipped.

A1

Product

C1

Layouts

D1

Company

E1

Template

F1

All systems operational
fra41 ms
iad38 ms
sin52 ms

C2

Elsewhere

XLinkedInGitHubYouTube

E2

Move across the wordmark168 blocks · iso 30°

One email a month. Only what shipped.

A1

Product

C1

Layouts

D1

Company

E1

Template

F1

All systems operational
fra41 ms
iad38 ms
sin52 ms

C2

Elsewhere

XLinkedInGitHubYouTube

E2

Move across the wordmark168 blocks · iso 30°

One email a month. Only what shipped.

A1

Product

C1

Layouts

D1

Company

E1

Template

F1

All systems operational
fra41 ms
iad38 ms
sin52 ms

C2

Elsewhere

XLinkedInGitHubYouTube

E2

Move across the wordmark168 blocks · iso 30°

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