In January, month-end close at Halden took six working days. Most of that time went into waiting: for an export to land, for a script to finish, for someone to confirm that the numbers in two systems matched.
By June, close took two days. Nothing about the accounting changed. The work between the systems did.
Thirty-one cron jobs
The finance team inherited 31 scheduled jobs that copied invoices, payments and bank lines between Ledgerline, Paylane and a shared drive. Nobody owned them all, and when one failed, the first sign was a reconciliation that did not add up.
One workspace instead
We rebuilt the flow as 14 Tessel blocks. A payment arriving in Paylane now triggers matching against the Ledgerline invoice within seconds, and every run keeps its inputs, so a mismatch shows exactly which line was off.
- Variances under 2% post automatically and are logged for audit.
- Anything larger waits for a named approver in Chatline.
- Every approval and every rejection is part of the trace.
We stopped chasing files and started reading traces. That is most of the four days we got back.
What changed for the team
Two analysts moved from reconciliation to forecasting. The auditors now ask for trace links instead of spreadsheets, and the close checklist went from 46 items to 12.
Written by the people who build Tessel. We publish notes on engineering, operations and product every few weeks.
More from the blog

