ott.
  • Pricing
  • Blog
  • Documentation
  • FAQ
  • Contact
Sign InStart Free Trial
ott.

The PPC analytics platform for marketing agencies. Manage Meta campaigns, track Telegram conversions, and optimize performance across all your clients.

© Copyright 2026 Ott. All Rights Reserved.

About
  • Blog
  • Contact
Product
  • Documentation
  • Pricing
  • PPC Reporting Tool
Use Cases
  • CAMPAIGN TRIAGE
  • CONVERSION & CUSTOM KPI TRACKING
  • CRYPTO & WEB3 AGENCIES
  • FOREX & PROP FIRM AGENCIES
  • HIGH-RISK & REGULATED AGENCIES
  • iGAMING AFFILIATES & OPERATORS
  • MULTI-BRAND CLIENT MANAGEMENT
  • SIGNAL PROVIDERS & COPY-TRADING
  • TELEGRAM CONVERSION TRACKING
  • TOPUP & BUDGET TRACKING
Comparisons
  • vs. Adzooma
  • vs. AgencyAnalytics
  • vs. Bïrch
  • vs. ClickGram
  • vs. DashThis
  • vs. Databox
  • vs. Looker Studio
  • vs. Madgicx
  • vs. NinjaCat
  • vs. Supermetrics
  • vs. Swydo
  • vs. TGTracker
Legal
  • Terms of Service
  • Privacy Policy
  • Cookie Policy
Competitive Positioning·Finance Agency Operations·MCP·Regulatory Compliance

Windsor AI for Finance: No Writes Back but Two Stripe Ones

Windsor AI for finance tells buyers it can't modify records in their finance tools. Windsor's own write docs list two Stripe writes — both creations.

By Lukas·11 min read·Oct 17, 2026

Windsor AI for finance has a reassurance problem, and Windsor published both halves of it — one aimed at the person who signs, one aimed at the person who builds.

The first half is a guide called “How to Use Windsor.ai for Finance: Blend Revenue, Payments and Ad Spend with AI,” bylined Niklas Kolster, Founder & CEO at Windsor.ai. It went up on 14 September and was updated on 18 September. Scroll to its FAQ and it answers the question any finance reader is going to ask:

“Does Windsor.ai write anything back to Shopify, Stripe, PayPal or QuickBooks? No. Windsor reads and analyzes your finance data so you can ask questions about it. It doesn’t create or modify records in your finance tools.”

That is about as clean as a data-connector reassurance gets. It is also contradicted by the second half — which Windsor also published, about the same connector, on a page a finance buyer will never open.

Key takeaways
  • Windsor’s finance guide tells a CFO the connector “doesn’t create or modify records in your finance tools.” Windsor’s own write documentation lists Stripe (2) under a heading called Commerce and payments: Create Customer and Create Subscription.
  • Only one of the four finance sources named in that FAQ is falsified. Shopify, PayPal and QuickBooks genuinely appear nowhere under a write heading — Windsor kept those read-only, and deserves the credit.
  • Create Subscription bills a fixed amount the model supplies, and offers “charge_automatically to charge the customer’s saved payment method instead.”
  • Windsor’s own reversibility FAQ excludes it: “Creation actions … are not reversible via a single action.” There is no pause for a subscription you did not mean to start.
  • Across 123,446 characters of write documentation for 131 actions, the words approver, approved by, actor, jurisdiction and retention appear zero times. The word “audit” appears twice, both meaning read the current value.
  • In the data-pipeline category, “read-only” is a permission claim. In the operations category a regulated agency works in, the question is what record survives the write — and that question has no home on any Windsor surface.

What the finance guide actually gets right

Credit first, because most of this post is a how-to and it is a good one.

The setup is honest and specific: Windsor is “a single connector that reads from 350+ data sources, including Shopify, Stripe, PayPal, QuickBooks and every major ad platform.” The walkthrough names the onboarding URL, the connect step, and the assistant step for Claude, ChatGPT, Gemini and Perplexity separately. The metrics table — revenue, refunds and chargebacks, ad spend, gross margin, blended ROAS, recurring-revenue trend — is the right table for the question the post opens with: “whether we are making money after ad spend.”

It also does something most vendor content does not: it tells you where its own product stops and a competitor starts.

Stripe also ships its own official MCP server, built for managing your Stripe account directly: creating charges, customers and subscriptions from Claude. Windsor.ai does a different job. It blends Shopify, Stripe, PayPal or QuickBooks alongside ad spend and 350+ other sources in the same conversation, for the profitability question rather than account management.

Read that back. Windsor’s own finance guide draws the line at creating customers and subscriptions — and puts that on the other side of the line.

Now the page the finance buyer won’t open

Anyone evaluating Windsor AI for finance reads the guide. The people who have to defend a decision six months later read the documentation. That is where the other half lives.

Windsor’s write-actions documentation is a genuinely impressive piece of technical writing, and we will come back to why. Start with its headline claim:

131 write actions across 19 connectors, and growing.

Then scroll to the section headed Commerce and payments:

Stripe (2) — Create Customer · Create Subscription

Create Customer, in Windsor’s own words, “Create a new Stripe customer and return its id (cus_...), which create_subscription then uses to start a subscription. Provide at least an email or a name.”

Create Subscription is worse, in the sense that it is the one that moves money: “Create a recurring Stripe subscription for an existing customer, billing a fixed amount each interval.” The amount is in the currency’s minor unit — “5000 means 50.00.” And then this line:

collection_method defaults to send_invoice, which emails the customer an invoice; days_until_due sets how many days they have to pay (defaults to 0, due on receipt). Use charge_automatically to charge the customer’s saved payment method instead.

So on the documentation page Windsor publishes for its own MCP server: an AI assistant can create a billing customer, start a recurring subscription at an amount the model supplies, and charge a saved payment method — automatically, on a due date of its choosing.

Meanwhile the finance guide tells the reader Windsor “doesn’t create or modify records in your finance tools.”

Four finance sources are named in that FAQ answer. Three of them — Shopify, PayPal, QuickBooks — genuinely do not appear anywhere under a write heading. That part of the claim holds, and it is worth saying so plainly: Windsor has kept its accounting and payments-wallet connectors read-only, and it has taken criticism for the read-only era rather than bolting writes onto them. Stripe is the exception, and the FAQ says “No” for Stripe too.

Ott records the operation, not just the conversion
Who changed what, the value before and after, on which client's brand — stored independently of the platform that made the change.
Start Free Trial

The reversal answer doesn’t cover it

Windsor’s write page carries a second line worth quoting, this one from the marketing block above the documentation: “Every action is reversible where the platform allows it.”

The technical FAQ below it is more precise:

Most enable and pause and update actions are reversible (for example pause_campaign and enable_campaign). Creation actions (new campaigns, ads, posts) are not reversible via a single action. The created object would need to be paused or removed separately.

Create Customer and Create Subscription are creation actions. So the two Stripe writes are the class the vendor’s own documentation excludes from its reversibility guarantee — and there is no “pause” for a subscription you did not mean to start.

Zero approvers in 123,446 characters

Here is the measurement that turns a documentation inconsistency into a product argument. We pulled Windsor’s write-actions page and stripped the markup. 123,446 characters of live text describing 131 write actions across 19 connectors. Then we counted the words a compliance officer actually needs:

TermOccurrences in the write documentationWhat the hits actually mean
approver / approved by0—
actor0—
jurisdiction0—
retention0—
audit2“Currently set attributes can be audited via the location_attributes field”
compliance2both GDPR-erasure semantics on Customer Match list uploads

Both “audit” hits are the same sentence, about a Google Business Profile action. That is audit meaning read the current value — the state of a field, not the history of a decision.

The finance guide is emptier still. Across 9,540 characters of live text on a page written for finance readers, audit, compliance, approver, jurisdiction and retention each appear zero times. Windsor’s changelog, across 60,025 characters and every dated entry going back months, returns the same zeros for approver, approved by, jurisdiction and retention.

One line in that changelog, dated 24 July 2026, is the whole of Windsor’s accountability documentation: “All write actions executed through Windsor.ai MCP are now recorded in an audit log for compliance and traceability.” One line, no page, no spec, no export, no named actor — and now standing directly next to a finance-facing page that says there is nothing to record.

Two audiences, two answers, one connector

This is not a lie anyone had to tell. It is what happens when one connector serves two buyers who read different surfaces.

A finance director reads the guide, sees “No,” and moves on. An engineer or an agency operator reads the write-actions documentation, sees Stripe under Commerce and payments, and has no reason to cross-check the two. The contradiction only exists for the person who reads both — and both are published by the same company about the same product. Any team adopting Windsor AI for finance now needs two readers, not one.

There is a category lesson buried in it. In the data-pipeline category, “read-only” is a permission claim: can this connector send a command, yes or no. In the operations category a regulated advertiser works in, the load-bearing question was never whether the connector can write. It is: when it writes, what record survives, and who authorised it?

Windsor answered the first question in the finance guide and got it wrong. It has never answered the second question on any surface we can find.

The half the vendor did get right

Windsor’s write documentation is not a sloppy page, and the same document that contains the contradiction contains some of the most careful write-side writing we have read from any MCP vendor:

  • Amazon Seller Central, update_listing: “bullet_points replaces the ENTIRE list of bullet points (About this item) — pass every bullet you want to keep, not just new ones.” That warning exists because someone learned it the hard way, and writing it down is what good documentation does.
  • Google Ads, set_campaign_budget: “If the budget is also used by other campaigns, the change is rejected unless apply_to_shared_budget is set to true, because it would affect every campaign that uses it.” That is blast-radius thinking, documented instead of discovered.
  • Google Ads Customer Match uploads: “PII HANDLING: emails, phone numbers, and names are normalized and SHA-256 hashed by this action before being sent to Google — do NOT pre-hash them; pass raw values.” And on failures: “Failed requests cannot be resumed; start a new upload after fixing the issue.”
ℹ
What that hygiene is, precisely
It is tool-level documentation: how one call behaves, what one parameter does, what happens on retry. Genuinely useful to the person making the call. It is not what a regulator asks about. A regulator asks about one decision, months later, by a named person, on one client’s account — and that question has no home in this document, or in the finance guide, or in the changelog.

Windsor’s newest surface, same pattern

The 131 includes five actions on OpenAI Ads: Enable Ad Group, Pause Ad Group, Enable Campaign, Pause Campaign, and Set Campaign Budget — “Set the spend limit of an OpenAI Ads campaign.” The changelog entry announcing it, dated 18 September, reads: “Windsor.ai MCP write actions expanded: ChatGPT Ads (OpenAI Ads): enable and pause campaigns and ad groups, and set campaign budgets.”

So the connector can raise the spend limit on the newest ad surface in the market, and — per its own finance documentation — it will not touch a record in your finance tools, except that it will, twice, on the payments provider both statements are about.

131
write actions published
19
connectors
0
uses of "approver"
2
Stripe writes, both creations

The pattern is not that Windsor is careless. It is that the write surface is growing faster than the vocabulary used to describe it, and the newest capability ships before anyone re-reads the older reassurance.

Four questions before you connect a billing account

If an agency or a finance team is evaluating any MCP connector with a payments source attached, these are worth more than a demo:

  • ✓Ask for the write list, dated, and mark the creation actions. Enable, pause and update calls are recoverable. Creations are not. Only one of those three words appears in a vendor’s marketing.
  • ✓For every creation action, ask what record names the person who requested it and the person who approved it. Not the tool call — the human. If the answer is “the model’s context window,” you have your answer.
  • ✓Ask whether that record can be exported without logging into the vendor’s platform. A log you read inside someone else’s UI is a feature. A record you export is evidence.
  • ✓Ask whether it is scoped to a client engagement or to an account. Two clients on one connector is not a governance model, it is a shared login with extra steps.

Where Ott sits, and what we won’t claim

Ott records the operation: who changed what, the value before and after, when, on which client’s brand — stored independently of the platform that made the change.

Two honest boundaries, because the point of this post is that a vendor’s reassurance should be readable against its own documentation:

  • Ott is not a financial ledger. We do not claim to record every Stripe event, invoice or payment your clients’ billing systems fire. What we record is the ad operation: the change, the actor, the client engagement, the Telegram funnel the traffic landed in.
  • Our pricing page is a claim too. Ott starts at CHF 399/month, and here is what that number does not say on its own: pricing scales with ad spend at 1% above included amounts, the Agency tier’s REST and MCP access is metered at 500,000 requests per month, Telegram conversion tracking is not included on Starter, and we publish no retention number either.

We would rather print our own gaps than leave a reader to find them. That is the standard we are holding Windsor to, and it applies to us first.

The half nobody wrote

Windsor’s finance guide is the first content we have seen from a horizontal connector vendor aimed squarely at the finance function rather than at agencies — and it is a good sign for the market that someone is writing for that reader at all.

It just needs one more paragraph. Not about what the connector reads. About what survives when it writes: the named human who asked, the named human who approved, the value before and after, and where the record lives when the vendor’s own platform is the thing being questioned.

Windsor documented 131 write actions without using the word “approver” once. That is a documentation choice. The next twelve months of regulatory attention will decide whether it stays one.

Meta PPC analytics, built for finance agencies.

Campaign analytics, Telegram and FTD tracking, and client hierarchy in one platform. Flat pricing, no per-client fees.

Start Free TrialBook a Demo

Keep reading

Competitive Positioning

Read-Only Is the Half They Documented

Adalysis MCP Server: Who Made the Change Is a Setting

Oct 17, 2026Read article→
Analytics

Measure the Journey. Record the Decision.

AI-Driven Customer Journeys: 45% Can't Compare Them

Oct 17, 2026Read article→
Competitive Positioning

What Happens When the Meter Empties

Audit Log Retention: What Happens at Zero

Oct 17, 2026Read article→
View all articles →