NumbersGame for Shopify
NumbersGame connects a client's Shopify store to their books in QuickBooks Online or Xero, and lets you work it from Claude. Accounting firms use it to:
- see what the store sold, grouped by product type, and agree a few income lines for it;
- book each ended period's Shopify sales as one summary journal: sales by revenue line, shipping, sales tax, tips, gift cards sold, payments by gateway and refunds;
- see which orders were held back from the journal, and why.
NumbersGame only reads the store. It never changes an order, a product or a setting in Shopify.
Shopify payouts and their fees have tools of their own, but they book a payout only in a shape NumbersGame has measured on a real store, and none has been measured yet. Until then, book payouts to the bank by hand, as you do today. A store without Shopify Payments has no Shopify payouts: its other payment providers pay out themselves.
How the books see Shopify
Shopify is the subledger. Individual orders, customers and payments stay in Shopify; they are never copied one by one into QuickBooks or Xero. The books get period totals through accounts of their own:
- A clearing account per payment gateway (Shopify Payments, PayPal, manual payments and so on): money taken by that gateway, on its way to the bank. Each gateway has its own, and it must never be an account a bank feed delivers into, or the real deposits would be booked into it a second time.
- Shopify Receivables: sold, not yet paid.
- Sales tax payable, Tips payable and Gift card liability. A gift card sold is owed to the customer: it is a liability, never income. Paying with a gift card later settles against that liability.
Sales are split into revenue lines: a few income lines such as apparel, accessories and subscriptions, set per Shopify product type (the store's own field on each product). A vendor, product or variant rule is for an exception. Anything no rule covers books to the default Sales account. Shipping, tips, duties, additional fees, gift cards sold and custom items each have a fixed rule of their own.
Prerequisites
In Shopify
- The client's store, and someone with permission to install apps on it, to approve NumbersGame once on Shopify's own screen.
- For periods more than 60 days back, Shopify's read_all_orders access. Without it Shopify lets NumbersGame read only the last 60 days of orders.
In NumbersGame
- A firm account with the Shopify connector switched on. It is in a pilot: if the company's page has no Shopify section, ask support@numbersgame.xyz.
- The client's QuickBooks Online or Xero company connected, and you signed in as an owner or admin of the firm.
In Claude
- The NumbersGame – Shopify connector, included in your firm's NumbersGame package (install it from Set up → Package in NumbersGame); connect it in the plugin's Connectors tab. The public NumbersGame package does not include it yet: with that one, add a custom connector named NumbersGame – Shopify with the address
https://shopify.numbersgame.xyz/mcpin Customize → Connectors, on a Claude plan that supports custom connectors. Sign in with your NumbersGame account the first time. - The main NumbersGame connector (
https://mcp.numbersgame.xyz/mcp) as well, so Claude can look up the chart of accounts while you map Shopify.
Set it up
- Connect Shopify. Open the client's company in NumbersGame and go to its Shopify section. Enter the store's address, its .myshopify.com name (in the store's Shopify admin under Settings → Domains), and click Connect Shopify. Shopify opens; the store owner approves NumbersGame, and you return to the same section, which shows the store or explains why not. The section also says whether all order history is readable or only the last 60 days.
- Check the status. Ask Claude "What's the Shopify status for Acme?" It lists the connected stores, their state and how much order history Shopify lets NumbersGame read.
- Agree the revenue lines. Ask Claude "Show me what Acme's store sold last month by product type." It lists sales by product type, with the rule each books under and what still goes to the default Sales account, plus vendors, custom items and gift cards sold. Agree a few income lines and Claude saves one rule at a time, after you agree. You can also keep them under Revenue buckets on the company page. A rule applies from the next proposal; nothing is booked when you save one.
- Set up the accounts. Agree with Claude which ledger account each Shopify line books to: sales, refunds, sales tax, tips payable, gift card liability and Shopify receivables. Claude looks for accounts already in the chart first, and creates only what is missing after you agree. Give each payment gateway its own clearing account, never one with a bank feed. Choose the cadence (monthly or daily), the time zone and the cutoff: the first day NumbersGame books. Earlier sales are taken to be in the books already.
- Refresh the connector in Claude if it says it has no Shopify tools: refresh the connector's tool list and start a new conversation.
Every month
- Propose the summary. "Build the Shopify sales journal for Acme for September." Claude drafts one journal for an ended month (or day, on the daily cadence) and posts nothing. Each sale, payment and refund is on its own date. Alongside the lines it lists product types no rule covers, and every held order with its reason.
- Read what was held. An order is held, never posted, when its parts don't add up to Shopify's totals, or when it was cancelled, edited after it was placed, created long after its sale date (imported or backdated), a test order, carries something not booked yet (duties, additional fees), or has a refund NumbersGame can't split safely (see Tips and refunds). Book those by hand if they belong in the books, in step 4.
- Book it. On your OK Claude posts exactly the journal you were shown. If the store changed since (a late refund), nothing posts and you see the new version. The first period booked for a store needs a word on what you checked, because an app such as A2X, Shopify's own sync or a person may already have booked these sales, and the journal would book them twice.
- Book each held order by hand, once. Ask Claude to read it: "Read Shopify order #1009 for Acme." Claude shows the order's figures, why it was held, and whether its period is already booked (the hand entry comes after the period is booked). Claude first searches the books for a hand entry already made for that order (a journal search for the order name) and drafts one only if there is none, with a memo naming the order and the period, e.g.
Shopify order #1009 (held from SH-0915722-2026-10, JE 1249). It books the entry through the main NumbersGame connector only after you approve it.
Asking twice never books twice: a period already booked, or one overlapping it, posts nothing. To book a period again after changing a rule, reverse it first, then propose and book it.
A period is refused, with nothing proposed, when:
- it hasn't ended yet;
- an order in it still has a payment or refund pending at Shopify. One that succeeds later keeps its date in this period and would be missed. Propose again in a day or two;
- it starts more than 60 days ago and Shopify hasn't granted read_all_orders: the period would read as partial or empty. Book it from Shopify's finance reports with the ordinary ledger tools, or ask Shopify for the access.
Tips and refunds
- A tip is booked once, to Tips payable. Shopify also lists it as a "Tip" line on the order; the summary does not count that line as a sale.
- Shopify refunds a tip only as an amount, never as the "Tip" line. So a refund of an amount (not of items) on an order with a tip is held: it may be the tip.
- A refund of an amount on an order without a tip books as a sales refund when the order's prices exclude tax. When its prices include tax it is held, because Shopify doesn't say how much of it is tax: book it by hand.
What to ask Claude
- "What's the Shopify status for Acme?"
- "Show me what Acme's store sold in September by product type, and suggest a few income lines."
- "Set up the Shopify accounts for Acme. Use what's already in the chart."
- "Build the Shopify sales journal for Acme for September and show it to me."
- "Which orders were held from September's Shopify journal, and why?"
- "Read Shopify order #1009 for Acme."
- "Draft the hand entry for held order #1009."
- "Reverse Acme's September Shopify journal so I can book it again."
Permissions and data
NumbersGame asks Shopify to read orders, products, locations and Shopify Payments payouts, and, where Shopify grants it, all orders rather than the last 60 days. It never asks to write to the store. It does not read customers' names, email addresses, phone numbers or addresses.
What Claude writes goes to NumbersGame's own settings (the revenue rules and the account setup) or to the books (the period summary journal and reversing it, and a payout's entry once that payout's shape has been measured), each only after you agree. A firm viewer, and any company set read-only in NumbersGame, can never change anything.
NumbersGame stores the connection (the store's .myshopify.com name and display name, the permissions granted and the encrypted access tokens), the setup and revenue rules you chose, and a record of each period it booked, so nothing is booked twice. Orders are read when you ask and passed to Claude. Details are in the privacy policy.
Disconnecting
- Disconnect in the company's Shopify section: the NumbersGame app is uninstalled from the store and Claude stops reading it. Nothing in the store or in the books changes.
- Remove a disconnected store to take it off the company's list. The record of what was booked is kept.
- Uninstalling the NumbersGame app inside Shopify also disconnects it.
Troubleshooting
- There is no Shopify section on the company's page. The Shopify connector isn't switched on for your firm; ask support@numbersgame.xyz.
- "That isn't a Shopify store address." Use the store's .myshopify.com name, not its own website address: in the store's Shopify admin it is under Settings → Domains.
- "Only an owner or admin can connect Shopify." Ask an owner or admin of your firm to connect it.
- "This store is already connected to …" One store books into one company, so totals are never counted twice. Disconnect it on the company named, then connect it here.
- "The Shopify connection timed out or was started in another tab." Start again from Connect Shopify on the company's page.
- "Access was not granted in Shopify, so nothing was connected." The approval was declined in Shopify. Start again and approve all the access the app asks for.
- "Your firm's connections are all in use." A Shopify store uses part of a connection. Billing shows what is using each one.
- Claude says it has no Shopify tools. Refresh the Shopify connector's tool list in Claude, then start a new conversation.
- Sales go to the default Sales account. No rule covers their product type: add one and propose the summary again.
- A gateway clearing account is refused. It receives a bank feed. Create a clearing account of its own, with no feed, or map another.
FAQ
Does NumbersGame copy Shopify orders into QuickBooks or Xero? No. The books get one summary journal per period; the detail stays in Shopify.
Can Claude change things in Shopify? No. The connector is read-only on Shopify.
Can I use it next to A2X or Shopify's own QuickBooks or Xero sync? Not for the same sales. If another app already books them, the connector would book them a second time. Use one or the other, and set the cutoff to the first day the connector books.
Does it book payouts and Shopify fees? It has payout tools, but they book only a payout shape NumbersGame has measured on a real store, and none has been measured yet. Book payouts and their fees by hand for now. A store without Shopify Payments has no Shopify payouts.
Which currencies? The company's home currency.
Support: support@numbersgame.xyz · Security: security policy
