Data to AI™ / Gemini/Sage Accounting

Query Sage Accounting from Gemini CLI and Code Assist

Finance engineers and analysts pull Sage receivables, payables and journal totals into scripts, checks and notebooks from the terminal, with no Sage export on disk.

Better answers, fewer tokens.

  • Lower AI costs for the same work
  • More accurate, reliable answers
  • Read-only
  • Uses the Sage Accounting data you already sync
  • SOC 2 Type II certified
Gemini CLI
Connected to Dataddo

Which customers still owe us for invoices that fell due in September?

Gemini Answer · Sage Accounting

Three customers still owe £18,450 on September invoices. Harlow Interiors accounts for about half of it, on an invoice due 4 Sep.

Contact nameTotal amountOutstanding amountDue date
Harlow Interiors Sales Invoices No Lines £14,600£9,2004 Sep
Brightwell Studio Sales Invoices No Lines £7,900£5,35012 Sep
Penrose Catering Sales Invoices No Lines £4,100£3,90019 Sep

Read from Sales Invoices No Lines, one row per invoice, so totals are not repeated for every invoice line.

source
Sage Accounting · as of Mon 06:40 UTC
covers
Due date 1-30 Sep 2026
Example answer · fictional account and figures
Sage Accounting in Gemini

Questions Gemini can answer from your Sage Accounting data

Sage Accounting, formerly Sage One, is cloud accounting software for small businesses. Dataddo extracts sales and purchase invoices, transactions, journals, ledger accounts, contacts and the product and service catalogues.

Overdue list for the reminder script

Ask Gemini

Query Sales Invoices No Lines for invoices with an Outstanding amount whose Due date passed in the last 7 days and write Contact name, Invoice Number, Due date and Outstanding amount to data/overdue.csv.

An operations analyst keeps a small script that drafts payment reminders. Each morning Gemini CLI refreshes the input file in the repo, and the analyst reviews the diff before the script runs.

Receivables check before a report deploy

Ask Gemini

Sum Outstanding amount per Contact name in Sales Invoices No Lines and Origin outstanding amount per Contact name in Transactions, then list the contacts where the two differ.

Before shipping a change to the receivables report, a data engineer asks Gemini CLI to compare two Sage datasets and pastes any mismatch into the merge request instead of deploying a wrong number.

Supplier cash-out notebook

Ask Gemini

Group Purchase Invoices with an Outstanding amount by week of Due date for the next eight weeks and add the table as a new cell in notebooks/cash-out.ipynb.

A finance analyst works in VS Code, where agent mode of Gemini Code Assist reads the same settings.json, and extends the cash planning notebook without leaving the editor.

Sage Accounting datasets and the questions they answer in Gemini →
Pricing

Priced per seat.

Data to AI™ is priced per seat, like the AI assistants your team already uses, with ~25% off on annual billing. Need tailored contracts or volume pricing? Talk to us about Enterprise.

Data to AITM

Serve governed business data to Claude, ChatGPT and other AI tools over MCP.

$10.49/month

per seat

3 seats minimum

Enterprise

Flexibly deploy Dataddo in any cloud or hybrid environment.

Custom

We have a payment model that works for you

See all plans and features →
Setup

Connect Sage Accounting to Gemini step by step

  1. 1
    Connect Gemini to Dataddo Add the Dataddo server to settings.json in Gemini CLI, restart it and run /mcp auth dataddo to sign in. Gemini Code Assist in VS Code reads the same file.
  2. 2
    Connect Sage Accounting to Dataddo Sign in with your Sage Accounting account in Dataddo and choose the datasets to sync, such as Sales Invoices No Lines and Sales Invoices.
  3. 3
    Choose what Gemini can see Select the Sage Accounting data Gemini may query. Access is read-only, and data you don't select stays out of reach.
Gemini setup guide →
With vs. without

Sage Accounting in Gemini, with and without Dataddo

Without Dataddo With Dataddo Outcome for you
Input files for scripts Someone downloads an invoice CSV from Sage, renames it by hand and drops it into the repo, so scripts break whenever a column moves. Gemini CLI queries Sales Invoices No Lines by field name and writes the file with the same columns on every run. Stable inputs, reviewable diffs
Sage access on laptops Each developer who needs ledger figures asks for a Sage login or keeps a personal export in a downloads folder. Only the Dataddo source holds the Sage authorization; Gemini CLI keeps a Dataddo sign-in in ~/.gemini/mcp-oauth-tokens.json and renews it automatically. No Sage logins on dev machines
Control in the terminal A script with API access runs whatever it was written to do, and nobody sees each request before it happens. Gemini CLI asks you to confirm each Dataddo tool call, and you choose Always allow only for the tools you trust. Every call visible
Config per repository Connection details live in personal notes, so a new team member spends a day wiring up the reporting repo. A .gemini/settings.json in the project holds the Dataddo httpUrl, so anyone who clones the repo signs in with their own Dataddo account. Same setup for the team
Token consumption Gemini spends tokens exploring raw Sage Accounting columns, sampling rows and retrying until it understands the data. Field definitions and relations are supplied up front, so the model skips the exploration and goes straight to the answer. Fewer tokens per answer
Answer quality Prone to wrong joins, invented fields and numbers that are hard to check. Answers grounded in defined fields. In the Dataddo benchmark, 78.5% of questions were answered correctly, against 65.5% with plain CSV files. Better answers
Datasets

Sage Accounting datasets and the questions they answer in Gemini

The Sage Accounting datasets finance and RevOps teams use most, with their real field names. Gemini queries them by name through the Dataddo semantic layer.

Dataset Metrics and attributes Ask Gemini
Sales Invoices No Lines
  • Due date
  • Outstanding amount
  • Contact name
  • Total amount
  • Last paid
  • + others
Which sales invoices with an Outstanding amount fell past their Due date in the last 7 days, as rows for a reminder script?
Sales Invoices
  • Invoice line - ledger account
  • Invoice line - product
  • Invoice line - service
  • Invoice line - net amount
  • + others
Which Invoice line - ledger account values appear on sales invoice lines but are missing from our revenue mapping file?
Purchase Invoices
  • Due date
  • Outstanding amount
  • Contact name
  • Total paid
  • + others
What Outstanding amount on purchase invoices falls due in each of the next four weeks, by Due date?
Transactions
  • Transaction type
  • Contact name
  • Total
  • Origin outstanding amount
  • + others
How many transactions of each Transaction type were booked per day last week, so gaps stand out before a reconciliation job?
Journals
  • Journal lines - debit
  • Journal lines - credit
  • Journal lines - ledger account name
  • + others
Which journals have Journal lines - debit and Journal lines - credit totals that do not match, for a pre-close check?
Ledger Accounts
  • Nominal Code
  • Name
  • Ledger Account Type Displayed As
  • + others
Which Nominal Code values in Sage are missing from the account mapping file in this repo?
Contacts
  • Credit limit
  • Credit days
  • Contact name
  • Balance
  • + others
Which contacts have no Credit limit set, listed with their Credit days, for a credit-policy cleanup?
See all Sage Accounting datasets, metrics and attributes on the connector page →
Benchmark

More right answers. Half the confident mistakes.

We asked 43 pre-registered questions of three real datasets - Google Search Console, HubSpot deals and Google Ads - and delivered the same rows to the same model in four ways. Only the data layer changed.

78.5%

of questions answered correctly - the best of the four delivery methods tested

2x

fewer confidently wrong answers - 14.0% of runs against 24.0% and 26.3%

2.8x

more correct answers on messy CRM data - better on 8 questions, worse on none

Answered correctly All 43 questions - higher is better
Wrong, but stated as fact Share of runs - lower is better

Same model, prompts and rows in every condition; 759 graded runs, ground truth frozen before any run. On Google Search Console alone, documented CSV files did as well as Data to AI™ - the advantage comes from messier data such as HubSpot deals.

Read the benchmark →
FAQ

Sage Accounting and Gemini: FAQ

How do I connect Sage Accounting to Gemini?

Extract Sage Accounting in Dataddo with Sales Invoices No Lines, Purchase Invoices and Journals, then attach the flow to a Google Gemini destination or AI Model. Add the httpUrl https://headless.dataddo.com/mcp-data under mcpServers in ~/.gemini/settings.json, restart Gemini CLI and run /mcp auth dataddo to sign in.

Why must the Dataddo entry use httpUrl and not url?

In Gemini CLI, the url key falls back to SSE, which Dataddo does not support. Use httpUrl with no headers or oauth block, restart Gemini CLI, run /mcp auth dataddo and check /mcp.

Which Sage flows can Gemini CLI reach?

Every flow or Context attached to an AI destination or AI Model in that Dataddo account, not only the Google Gemini ones. Keep Sage Accounting in its own account if other teams should not query it.

Can I sign in with my Google account?

No. Sign-in uses your Dataddo email and password, with MFA if prompted. Gemini CLI opens the page in a browser, so run it on a machine that has one.

Does Gemini Code Assist work with the same setup?

In VS Code, agent mode reads the same settings.json, so nothing changes. In IntelliJ, add the Dataddo server to the mcp.json of Gemini Code Assist instead.

Why does my script only get recent Sage invoices?

Every Sage Accounting dataset re-reads a relative date window on each run. For older invoices in a backfill file, run a one-time full data re-sync with a wider range.

Can Gemini CLI create invoices or post journals in Sage?

No. Gemini queries extracted data through the semantic layer by entity and field name. Dataddo never accepts SQL from the model and nothing is written back to Sage.

New from Dataddo · Data to AI™

Ask Claude or ChatGPT about your ads, analytics and CRM

“What did a new lead cost us last week, by paid channel?”

Connect 400+ sources once and get the answer right in your AI chat, without building a report. Better answers: your metrics are defined once, so the AI doesn't have to guess.