Clarion
Sign in Get started
Guide · Finance

How to automate financial metrics into your weekly scorecard

Automate financial metrics like cash, receivables and margin into a weekly scorecard using a Google Sheets script, Zapier, Make, n8n or a JSON API.

Finance teams are good at producing numbers and bad at being asked for them. If the leadership scorecard depends on someone in finance copying the cash balance and aged receivables into a table every Monday, it will be late in month-end week, wrong when that person is on holiday, and a small resentment the rest of the time.

Automating the finance scorecard fixes that — as long as it’s done with the same care finance applies to any other report. This guide covers the options, what to automate first, and the controls worth putting around it.

What Clarion connects to — plainly

Clarion has no built-in integration with accounting software, banks or payroll systems. Figures get onto the scorecard in four ways:

  1. Typed in by the metric’s owner.
  2. Pushed to a metric’s private URL by a spreadsheet script or an automation platform.
  3. Pulled by Clarion from a JSON API on a schedule.
  4. Sent through the REST API by a script a developer writes.

If your accounting system can export to a spreadsheet, or connect to Zapier, Make or n8n, routes 2 and 3 cover nearly everything.

Start with the spreadsheet you already have

Most finance teams already maintain a weekly cash sheet or management reporting workbook. That’s the best source for scorecard automation, for two reasons: the numbers in it have already been checked, and calculated figures like DSO, margin and runway are already worked out.

Every metric in Clarion can have a push URL. To create one, open Metrics, expand the metric, click Edit Metric, and under Push URL click Create push URL. Copy it immediately — it’s shown only once. See metric push URLs.

Then, in your Google Sheet, open Extensions → Apps Script and add a function per metric:

const PUSH_URLS = {
  cash: "https://api.onclarion.com/v1/metrics/push/mpu_CASH_TOKEN",
  ar60: "https://api.onclarion.com/v1/metrics/push/mpu_AR60_TOKEN",
};

function pushFinanceMetrics() {
  const sheet = SpreadsheetApp.getActive().getSheetByName("Weekly cash");
  push(PUSH_URLS.cash, sheet.getRange("B2").getValue());
  push(PUSH_URLS.ar60, sheet.getRange("B3").getValue());
}

function push(url, value) {
  UrlFetchApp.fetch(url, {
    method: "post",
    contentType: "application/json",
    payload: JSON.stringify({ value: value }),
  });
}

Add a time-driven trigger to run it — daily, or Monday morning before the leadership sync. See the Google Sheets page for more.

Better still, store the URLs in the script’s properties (Project Settings → Script properties) rather than in the code, so they aren’t visible to everyone who can open the sheet.

How pushed values are stored

  • Each value lands on the metric’s current period — today, this week (starting Monday) or this month, depending on the metric’s frequency.
  • Pushing again replaces that period’s value. It doesn’t add to it. So a daily run during the week just keeps the week’s figure current, and re-running a script is harmless.
  • To record a past period — after a month-end adjustment, say — include a date in the body: {"value": 412000, "date": "2026-09-30"}. It’s filed under the period containing that date.
  • You can include notes with a value, such as “after payroll run”, which is stored alongside it.

Using an automation platform

If you’d rather not maintain a script, Zapier, Make and n8n can all send a number to a push URL with a standard HTTP or webhook step. Many of them can also read from accounting tools directly. A typical scheduled workflow:

  1. Runs every weekday morning.
  2. Reads a balance or report total from your accounting tool or spreadsheet.
  3. Posts {"value": ...} to the metric’s push URL.

Keep it to one workflow per source system, so when something changes you know where to look.

Pulling from a JSON API

If a figure is available at an HTTPS URL that returns JSON — for example a reporting endpoint your team or a developer maintains — Clarion can fetch it itself. An owner or admin opens the metric’s Edit Metric dialog and sets up Fetch from URL: the URL, the path to the number in the response (for example data.cash.total), an optional auth header, and how often — hourly, every six hours or daily. Test shows the number found before saving. See pull metrics from a URL and JSON API.

It only reads JSON. It won’t read a web page, a PDF or a CSV file, and it doesn’t follow redirects.

Controls finance should insist on

Automated numbers in front of the leadership team deserve the same controls as any report.

  • Treat push URLs as credentials. Anyone with the URL can write values for that metric. Don’t paste them in chat or email. If one may have leaked, open the metric and click Generate new URL — the old one stops working immediately — or Turn off to remove it.
  • Auth headers are protected. For pulled metrics, the auth header value is stored encrypted and never shown again after saving. If someone changes the URL to a different host, the saved value is removed, so a token can’t be redirected elsewhere. Only owners and admins can set up a pull.
  • Failures are visible. A pulled metric shows when it last ran and, if it failed, why — for example “The server answered HTTP 401.” After ten failures in a row it pauses until someone saves it again.
  • A human still owns the number. Every metric keeps an owner. Their job shifts from typing the figure to glancing at it before the meeting and correcting it if needed — a manual entry simply replaces the automated one for that period.
  • Audit trail. If you need to log or reconcile every value received, a developer can subscribe to the metric.ingested webhook. See set up webhooks.

What to automate first

MetricSourceSuggested route
Cash balanceWeekly cash sheet or accounting toolSheets script, or a scheduled automation
Cash collected this weekAccounting toolScheduled automation pushing the week-to-date total
Receivables over 60 daysAged debtors reportSheets script from your reporting workbook
Gross margin, net profitMonthly management accountsSheets script after close, with date set to month end
Runway, DSOCalculated in your workbookSheets script

Start with the weekly cash metrics — they matter most and change most often. Monthly profitability figures can stay manual for a while; they only arrive once a month anyway.

For larger setups

If a developer already has a script or data warehouse job that calculates finance figures, it can write many metrics in one call using the REST API with a scoped API key. See ingest metric values via the API and push metrics from your systems.

Common mistakes

  • Automating an undefined number. Agree what “cash” includes before you wire it up.
  • Pushing raw transactions. Each push replaces the period’s value. Push the total or balance, not individual payments.
  • Hard-coding URLs in a widely shared sheet. Use script properties, and limit who can edit the script.
  • Nobody looking. Automation removes the typing, not the responsibility.

To decide which numbers to track, start with build a finance scorecard.

08 — Get started

Ready to build unstoppable momentum?

Join teams that are aligned, accountable, and growing — with a business operating system built to be lived in every day.

Get started free Book a demo
No credit card required · Set up in minutes