The Monday report writes itself.
And the checks run while you sleep.

beetl turns clean data into results that show up on their own: a PDF report on schedule, a check that only asks for a person when something is wrong, apps and dashboards on the same numbers. Where it has to land somewhere else, in Slack, Teams, an inbox or your ERP, our team builds that delivery for you.

Ask for the report once.
It arrives every Monday.

Describe the report and when you need it. The agent finds the data, writes the query behind every figure, lays out the template and puts it on a schedule. Every Monday a new PDF is waiting, and each number traces back to its query.

Ask anything about your workspace…
Rendering report…

Checks that only speak up
when something is wrong.

A check is an instruction in plain language on a schedule: what to look for, what the report should include, a starting query if you have one. beetl investigates it against your data every morning, writes up what it found with the evidence, and stays quiet when everything is fine. Scroll through a week.

Set up once

Say what to check and what the report should include, in your own words, and add a starting query if you have one. It only reads, never writes back.

Edit automation

Observe only Save automation

What should Beetl check?

Overdue customers still ordering

Instructions

Tell me when a customer who ordered in the last 7 days has an invoice that is more than 30 days overdue.

What should the report include?

Lead with the total. Then each customer: amount overdue, days late and last order. Say what changed since yesterday.

Starting query

Overdue invoices of recent customers

SELECT c.name, i.amount_due, i.days_overdue, max(o.ordered_at) FROM sales_invoices i JOIN customers_unified c …

Schedule

Daily at 06:00 · Europe/Vienna

Needs attention

Three customers ordered while their invoices are overdue. Each finding comes with the rows behind it.

Back to automations

Overdue customers still ordering

Daily at 06:00 Observe-only · reads data, never writes back

Run nowEdit

Tell me when a customer who ordered in the last 7 days has an invoice that is more than 30 days overdue.

Last run

Needs attention

Oct 28, 6:00 AM · 24 s

Findings

3

needs a look

Next run

Tomorrow

06:00 AM

Needs attention · Oct 28Scheduled

3 customers ordered this week while an invoice of theirs is more than 30 days overdue, €12,480 in total.

Status: Needs attention. New since Tuesday's run. Gasthof Seewirt is the oldest, at 41 days.

Scope

  • Run date: 2026-10-28. The 7-day order window and the 30-day overdue line are measured from today.
  • Data checked: customers_unified, sales_invoices, orders
  • Recent customers: 409 ordered in the last 7 days

Needs a look Findings

  • Gasthof Seewirt€4,820 · 41 days
  • Hotel Linden€5,160 · 37 days
  • Café Morgenrot€2,500 · 33 days

This run Steps

▸ How Beetl investigated (6)

Setup Automation

Schedule
Daily at 06:00
Lifecycle
Active
Data access
Read-only SQL
Previous runs
Enabled
Model
Claude Haiku 5.5

Apps built for one job.
Yours in days.

An app is the screen your team opens every day, on the same live data: a pallet plan, a reorder list, a credit check. We're building out the app catalogue, and when the one you need isn't in it, we build it for you in days.

Open the credit check for Gasthof Seewirt's waiting order.
1 tool call
Open appsuccess— Credit check · Gasthof Seewirt

Here it is. With a €10,000 limit and an invoice 41 days overdue, the order is on hold. Change the limit or the overdue tolerance and the verdict updates on the spot.

Ask anything about your workspace…

Credit check

SO-2026-1107 · Gasthof Seewirt · placed 27 Oct

Open balance

€9,640

4 invoices

Over 30 days

€4,820

oldest 41 days

Order waiting

€2,180

SO-2026-1107

Exposure after this order

Limit €10,000
Open €9,640 This order €2,180Total €11,820

Invoice ageing

Current

€1,230

1-30 days

€3,590

31-60 days

€4,820

60+ days

€0

INV-24-8812€4,82041 days
INV-24-9015€1,46018 days
INV-24-9140€2,1309 days
INV-24-9203€1,230current

Hold the order

€11,820 exposure is over the €10,000 limit.

Decide

Reads customers_unified, sales_invoices and orders · refreshed 06:00

The app catalogue

  • Pallet plannerAvailable
  • Fulfilment plannerNext
  • Reorder listNext
  • Customer 360Next
  • Your app, like this onebuilt in days

Same numbers, wherever you look.
Dashboards on the validated tables.

Dashboards read the same validated tables as the report, the checks and the apps, so they never disagree. They're built in Superset and shown inside beetl, with its whole chart library: big numbers, trends, stacked bars, heatmaps and tables.

Customers · weekly overview

Published finance team refreshed 06:00
Edit dashboard

Active customers

1,612

+2.4% week on week

Revenue, week 44

€184,320

Invoiced, net. Shopify and Business Central

Overdue more than 30 days

€12,480

3 customers who are still ordering

Revenue by channel per week (€k)

Shopify B2B Sales reps (BC) Shopify B2C
200150100500
W37
W38
W39
W40
W41
W42
W43
W44

Revenue by customer type

  • Hotels 42%
  • Restaurants 31%
  • Cafés 15%
  • Retail 12%

Orders by weekday and hour

Mon
Tue
Wed
Thu
Fri
Sat
Sun
6h8h10h12h14h16h

Top customers this quarter

customerordersrevenueoverdue_30d
Hotel Linden46€18,240€5,160
Gasthof Seewirt39€14,960€4,820
Café Morgenrot31€9,310€2,500
Hotel Alpenblick28€8,770€0
Weinbar Fuchs24€6,940€0
Anna Huber12€4,120€0

Your own AI, on beetl.
Connected over MCP.

Claude, ChatGPT, Copilot or any MCP client connects to beetl with a key you scope. It reads the same validated tables, and it can build pipelines, reports and checks from a request.

Overdue customers still ordering

Reply to Claude…

beetl · 42 tools

Connect any MCP client

{
  "mcpServers": {
    "beetl": {
      "url": "https://app.beetl.io/mcp",
      "headers": { "X-API-Key": "<your scoped key>" }
    }
  }
}
  • A key per person. Read or write. A read key only ever sees beetl's read tools.
  • Every call is logged. Deploys and new rules still wait for a person to approve them.
  • Notebooks too. Python and BI tools read the same tables over read-only SQL (Arrow Flight).

Somewhere else?
Our team builds the last mile.

Some results belong in the tools your people already open. We wire the delivery into them as part of the engagement, reviewed and tested like everything else.

  • Slack

    A message when a check needs attention, with the findings and a link to the evidence.

  • Microsoft Teams

    The same alert in the channel your team already watches.

  • Email

    The Monday PDF in the inbox of everyone who reads it.

  • Your ERP

    Approved records written back through its supported import, staged and reconciled first.

  • Any API

    A destination written with the open-source Connect SDK, the same way as our connectors.

  • Tell us where it has to land

    Where the data is cleaned: Transform

Tell us what your teamneeds to get done.

A rough description of the task is enough to start. We agree the scope and who looks after it with you.