Case study · Scheduled reports
Expiring contracts, emailed 21 of 22 weeks.
Finding the supplier contracts about to end meant filtering the ERP by hand. Now a robot does it every Monday morning and emails the list. First run on May 29, 2026.
- Client
- A Brazilian industrial construction groupPrecast concrete and construction · Name withheld
- Period
- Since May 29, 2026
- Status
- LiveRuns every Monday morning
- Result
- 21 of 22weeks with the report delivered, June to October 2026MeasuredExecution logs · June to October 2026
Expiring contracts were found by hand.
To know which supplier contracts would end in the next 15 days, someone had to open the contract list in the ERP and filter it by hand.
Each expiring contract needs action: a final pay application, an amendment or a close-out.
A robot that runs the search every Monday.
Every Monday morning, a robot signs in to the ERP through the company's single sign-on (SSO), filters the contracts that end within 15 days and extracts the 11-column table.
It sends the result as an HTML report through Microsoft 365. The robot runs on its own, and every run is recorded with its result and duration.
From the schedule to the inbox.
Every Monday morning, with no one at the keyboard.
- 01
Start on schedule
A scheduled trigger starts the run every Monday morning.
- 02
Sign in with SSO
The robot signs in to the ERP through the company's single sign-on.
- 03
Filter and extract
It keeps the contracts that end within 15 days and extracts the 11-column table.
- 04
Email the report
It sends the HTML report through Microsoft 365.
Stack
- Python + Playwright
- Single sign-on (SSO)
- Scheduled trigger
- Microsoft 365
Measured run by run, week by week.
Measured numbers come from the execution logs, from May 29 to October 26, 2026. The manual time is a team estimate and is labeled as one.
From the execution logs
21 of 22
weeks with the report delivered, June to October 2026
MeasuredExecution logs · June to October 2026
42 of 50
runs completed, May 29 to October 26, 2026
MeasuredExecution logs · May to October 2026
3 of 3
failed scheduled triggers were covered the same morning by a new run that delivered the report
MeasuredExecution logs · June to October 2026
The robot against manual work
65-137 s
per completed scheduled run; the robot runs on its own
MeasuredExecution logs · scheduled runs
5 min
of someone's time every week to pull the report by hand; with the robot, zero
Team estimateNot timed
Not every run completes.
Limits
42 of the 50 runs completed; the others did not. In one of the 22 weeks, the report did not go out.
The 5 minutes of manual work per week is a team estimate; nobody timed it.
What we learned
Scheduled triggers fail sometimes. Each of the 3 times it happened here, a new run delivered the report the same morning.
A record of every run, with its result and duration, is what lets this page show measured numbers instead of impressions.
Other projects we built.
2 h 42 min
for 300 invoices, about 32 seconds each
MeasuredExecution logs · May 8, 2026Read the case studyMay to June 2026 · Invoice automation
300 invoices posted into the ERP in 2 h 42 min
A system migration left a backlog of outgoing invoices. Robots attached to the team's logged-in browser posted each one and checked it against its total.
156-274 s
per contract with 2 to 6 items, in validation
MeasuredValidation logs · July 9 to 14, 2026Read the case studyJuly 2026 onward · ERP integration
A contract robot, and an orchestrator so robots can share one login
A robot posts each new contract from the client's internal platform into the ERP. An orchestrator gives the shared ERP login to one robot at a time.
35
redirect rules that send each old sports-portal address to its new page
MeasuredServer configuration · October 31, 2026Read the case studySince May 2026 · Club management
One platform for a club's members, sports and management
A club website with a member area on the club system's API, a chat, sports competitions, dashboards and a tournament site, built from May to October 2026. The old sports portal moved into the new website with page-by-page redirects, and its links kept working.
8
modules live, from sales to financial BI
MeasuredClient portal · October 31, 2026Read the case studySince June 2026 · Manufacturing operations
An eight-module operations suite for a food manufacturer
Sales, accounting, finance, production, maintenance, fleet, HR and financial BI modules, built from June to October 2026. Each module has its own database, and payables are read from the ERP the company already uses.
30 days
of nightly backups kept, each one verified automatically after it runs
MeasuredServer configuration · October 31, 2026Read the case studySince October 4, 2026 · Financial control
Financial control for a notary office, where nothing is deleted
Every payable and receivable goes in as a provision, an entry made before it is due, and is then settled in full or in part. Corrections and cancellations are logged with a reason, every change records who made it and when, and the database is backed up and verified every night.
Free 30-minute automation assessment
Find the three repetitive tasksthat cost you the most.
In 30 minutes we map the three most expensive repetitive tasks in your operation and tell you what automating them would cost.