← Product board

Glowtify · Paying Customers

Unified customer · all amounts in CAD (USD converted @ 1.3756) · QBO invoiced book + Shopify app-billing rail · workspace links from qbo_export.customer_store_map · data as of
All — combined (CAD)
QBO — invoiced
Shopify — app billing
Expected — recognized the month, like-for-like
Total revenue — billed
Recognized revenue
Signed, not yet billed
Collected
Outstanding
QBO rail only — Shopify collects at charge
Paying customers
Flag ↔ money gap

All paying customers —

Declared paying in HubSpot, with QBO + Shopify money joined per company · click a row for its workspaces
#Customer / shopWhitelist sourcePaymentCADOutstandingStatus
Method & doctrine
Method & doctrine. The roster is the HubSpot truth: one row per company whose whitelist_source is a paying value (quickbooks / shopify / stripe), synced from HubSpot every 5 min. Money (QBO invoices dated in the month, excl. sales tax, net of credit memos + Shopify subscription charges) is joined to each company through its declared workspaces — it is the financial detail and the audit of the flag, not the roster itself. "no money this month" = declared paying but nothing billed/charged in the selected month (fine for annual/irregular billing; see the gap card for the 60-day view). The red section at the bottom lists money with no declared paying owner — either the customer is absent from HubSpot or its stores carry a non-paying flag; each row names the fix. QBO USD invoices use QBO’s per-invoice rate; Shopify USD converted at a fixed 1.3756 CAD/USD — the stated rate the finance workbook uses, not live FX. Shopify money is collected by definition; outstanding exists only on the QBO rail.
Billed this month
invoiced excl. tax, net of credits (CAD) — MRR proxy
Expected total billed
Collected
Outstanding
Never emailed
invoices created but not sent

Customers —

Click a row for workspaces & invoices · ⚠ no workspace = customer not linked to any Glowtify store yet
CustomerTypeBilled (CAD)OutstandingStatus
Method — numbers only
Method — numbers only. "Billed" = QBO invoices dated in the selected month — the date the customer was billed (QBO TxnDate), not the due date — excluding sales tax and net of credit memos (revenue view; platform + managed together; one-time invoices included → MRR proxy, not pure MRR). Due date drives only the receivable side: "Outstanding" = the actual balance owed, tax included, and the paid/overdue status. USD invoices use QBO’s per-invoice exchange rate. Status: all at zero balance · partial · overdue unpaid past due · billed unpaid, not due. never sent = QBO EmailStatus ≠ EmailSent — invoice exists but was never emailed. Workspace chips = reviewed mapping (2026-07-06; ambiguous cases mapped to both stores by decision). ⚠ warning = invoiced customer with no Glowtify store linked. Customer type from CS sheet (2026-05) until the HubSpot customer_type backfill. Walter Interactive is the internal billing entity — flagged on its row and named in the reconciliation, but included in every KPI on this page. Zero-amount invoices are dropped at the source query.
Charged this month
gross app-subscription charges (CAD @ 1.3756/USD)
Expected total charged
Net to Glowtify
after Shopify revenue share
Paying shops

Shopify-billed shops —

Source: Shopify Partner API subscription sales — a charge here means Shopify collected it (no AR on this rail)
ShopDomainGross (CAD)Net (CAD)Charged
Method. One row per subscription charge with a transaction date in the selected month (Shopify Partner API, APP_SUBSCRIPTION_SALE). Shopify collects at charge time — payment status is implicit (collected); failed payments never appear. Net = gross minus Shopify's revenue share. All Shopify-rail customers are self-served by definition. This rail is excluded from the QBO tab's totals — the two tabs are additive, in different currencies.