What we're shipping

BeQuery improves every week — new answers from your data, and the reliability engineering that makes them trustworthy. This page is the honest log.

August 15, 2026

Fixed

Deleting a database now really deletes the data

Removing a database used to remove it from BeQuery while leaving the cloned tables sitting in PostgreSQL — unreachable and uncounted, but still there. Deleting a database, deleting a team, or removing the demo workspace now drops the copied data for good. A safety check refuses to drop anything another database is still using, so this can only ever remove data nothing points at.

New

A page for agencies

/for/agencies does the arithmetic you're already doing on the back of an envelope: ten client stores on Business work out at €14.90 each per month, twenty-five on Scale at €13.96, with client logins on top for free. It's equally clear about what the package isn't — there's no white-labelling, no per-client billing, and limits are shared across the whole account rather than per store.

Improved

What a client sees when they sign in

Someone invited to a single database now gets a product that matches what they're allowed to do: no prompts to connect a database they can't connect, no setup checklist meant for account owners, and a plain message while they're waiting for a store to be shared with them. Plan limits and the upgrade prompt are now shown only to members who can manage billing — on the dashboard as they already were in Settings — so a client never sees the account's plan or how many databases are in it.

New

Share one database with a client

Every database now has a Client access section: invite someone by email and they get a login that reaches that database and nothing else — not the other databases in your account, and not the connection settings of the one they can see. They can run their own queries and refresh their own data. The Team page gained a Scope column so you can tell at a glance who is restricted to which store, and revoking access from the database page takes effect immediately.

Improved

A client login won't cost you a team seat

Members restricted to a single database no longer count against your plan's team member limit. The limit is there to price people working inside your account, and giving a client a window onto the store you already sync for them isn't that — so an agency never has to choose between hiring someone and onboarding a client. Ordinary team members count exactly as before.

August 14, 2026

Fixed

Second databases are reachable again

A team's second (and third, and fourth) database was being refused by the safety check that validates database names, because that check predates the multi-database feature and never learned the newer naming. Querying one came back with an error about an invalid name, its table sizes were missing from the Tables tab, and its storage went uncounted in the nightly usage snapshot. Teams with a single database were never affected.

Improved

Per-person database access is enforced in the database itself

The rule about which databases a person can read is now applied inside PostgreSQL, not only in the app. Anyone connecting straight to the data API with their own credentials is held to exactly the same limits as someone using BeQuery in the browser: for a member restricted to specific databases, asking for one they weren't given is refused outright. Nothing changes for an ordinary team, where every member reaches every database.

Improved

Which databases you can reach is now decided per person

Every screen and endpoint that turns a request into "which database do I read" now asks who is asking, instead of asking only which team they belong to. Nothing changes for existing teams — every member still reaches every database in their team. It is the groundwork for the agency package, where a client gets access to their own store and nothing else, and where asking for a database you weren't given has to come back empty rather than quietly falling back to the team's first one.

August 13, 2026

Improved

A straight answer on PostgreSQL and Looker Studio

The Looker Studio page now answers the question people actually arrive with: there is no export step, because Looker Studio reads PostgreSQL natively. It compares the three real routes, says plainly when connecting directly is the right call and you don't need us, and explains the one that matters — that a shared report means Google's servers querying whichever database you named.

Fixed

Re-authorizing a Shopify store no longer leaves a duplicate behind

Coming back from Shopify always dropped you on the new-database screen, even when you had started from a store you already had — so saving there created a second copy of the same store. You now return to the store you were editing.

Fixed

Shopify: we were asking for the wrong discount permission

The first sync against a real store failed on its last table: we asked Shopify for read_discounts, but the price rules we read are gated on read_price_rules, so authorization succeeded and then the sync stopped with a permissions error. We now request the right one. Re-authorizing also does what the screen always said it did — until now a store that re-approved permissions kept using its old credential, so nothing actually changed.

Fixed

Connect Shopify by clicking a button, not by pasting a token

Shopify stopped letting merchants create custom apps from their admin on 1 January 2026, which quietly broke the instructions we shipped yesterday: they sent you to a menu that no longer exists. Connecting a store is now one click — you approve four read-only permissions on Shopify and come straight back, with no token to copy. Stores that still have a custom app from before the cutoff can keep pasting their token; that path is still there, just tucked away. We also found our connector was pinned to an API version Shopify retired last October, so it wouldn't have worked even with a valid token.

August 12, 2026

New

Connect a Shopify store (beta)

Shopify is now a source you can connect from the app, not just read guides about. Add a store with its .myshopify.com address and a read-only Admin API token, and BeQuery clones orders, line items, refunds, fulfillments, products, variants, customers and price rules into your own Postgres — eight tables, each keeping the full API object in a raw JSON column. Every sync is a complete refresh, so there is no partial state to reconcile. It's marked beta because it hasn't yet been run against a real store's full order history; if you try it, tell us what breaks.

New

Shopify guides — including where we can't help yet

Three guides for getting Shopify data into BigQuery, Google Sheets and Looker Studio. Shopify is API-only, so BeQuery can't clone it the way it clones a MySQL store — the connector is still in development, and the guides say so plainly while explaining the routes that do work today.

New

Magento guides for Sheets and Looker Studio

The guides now cover Magento 2 for every destination, not just BigQuery. Both new pages take the EAV catalogue seriously — why product names don't come through in a raw export, and how to write the join once instead of in every chart.

New

Google Sheets can now refresh itself

Publish any saved query as a CSV link, paste =IMPORTDATA("…") into a cell, and Sheets refetches it about once an hour — no more re-exporting to update a tab. Find it on the Saved Queries page. The link is a password: it's shown once, it only ever exposes that one query, it's row-capped and read-only, and you can revoke it whenever you like.

New

Guides for Google Sheets and Looker Studio

Six more guides covering the two places store data actually ends up: Google Sheets and Looker Studio, for WooCommerce, PrestaShop and plain MySQL. The Looker Studio ones are worth a look even if you're happy today — its PostgreSQL connector reads your clone directly, so a shared dashboard never has to query your live shop.

New

Guides: getting store data into a warehouse

A new /guides section covering WooCommerce, PrestaShop, Magento and plain MySQL into BigQuery. Each one compares the real options side by side — managed ETL, a pipeline you build yourself, or a clone you load from — including where BeQuery isn't the answer and when you don't need a warehouse at all.

Fixed

Removed an unused database function with broad privileges

A legacy helper from the early days of the clone pipeline could run administrative statements on our database. Nothing in the product had called it for months, so we removed it rather than leave it in place. No behaviour changes for you — this is one less way anything could ever go wrong.

August 11, 2026

Fixed

Hardened tenant isolation on the SQL query engine

The SQL editor now runs every query strictly inside your own cloned data — a query can no longer reference any other schema or another workspace's tables, whether named directly or not. This closes a gap in the query engine's access checks; your data was always private to your workspace and remains so.

July 30, 2026

Improved

See it working before you hand over any credentials

A brand-new workspace now leads with the demo store — a full workspace with 1,400 orders, working dashboards and a live SQL editor, in about ten seconds and with no credentials. Until something is connected, the dashboard no longer offers "New Query" as its main action: it was the one button that couldn't work yet.

Improved

"Table does not exist" now tells you which tables do

When a query hits a table that isn't in your clone, the hint now names the closest matches from your own cloned tables — so a query written against orders finds ps_orders, and a typo is caught immediately. If nothing has been cloned yet, it says so instead of blaming the table name. Every editor hint is now in English, matching the rest of the product.

Improved

The SQL editor tells you what's missing instead of erroring

Opening the editor before connecting anything used to end in a cryptic "relation does not exist" on your first query. Now it shows what to do next — connect a MySQL database, or spin up the sample store in one click. If a database is connected but has never been cloned, a banner points you at the first sync rather than letting every table name fail.

July 23, 2026

Fixed

Google sign-in flows finish cleanly on the dashboard

Signing up or signing in with Google now lands on the dashboard with the same session handling and product analytics as email sign-in. No change to what data we collect — this fixes a blind spot where Google sign-ups weren't measured, so we can keep improving onboarding where it actually matters.

July 18, 2026

Fixed

On-brand buttons on the auth pages

Sign in, create account, reset and update-password buttons now use the same brand green as every other call-to-action on the site — they were rendering in a muted default color.

Improved

A proper first impression: redesigned sign in and sign up

Sign in, sign up and password reset now share a split-screen layout — your form on the left, real production numbers on the right (108M+ rows synced, ~1 min freshness, zero production load). The sign-up page also links to the Terms and Privacy Policy, which was missing before.

Improved

Richer navigation, two new overview pages

The Product and Solutions menus now show what each item actually does, not just its name — plus new /features and /solutions overview pages tying everything together. The nav button is "Start free" everywhere now, including mobile.

New

A dedicated page for the SQL editor

The SQL editor finally gets its own feature page — Monaco, schema explorer, AI query generation, MySQL→PostgreSQL translation, and why none of it can ever touch your live store.

Improved

Consistent CTAs site-wide, trust numbers on Security

The nav button now says "Start free" everywhere instead of mixing in "Get Started". The footer moved Security next to Privacy/Terms where it belongs. The Security page now shows the same production numbers as the homepage (108M+ rows, EU-hosted, integrity-verified).

Improved

Sharper messaging on the homepage

Clarified how it works — the sync step now says what it actually does (verified, integrity-checked, near real-time on higher plans), and the final step leads with dashboards, reports, alerts and the AI digest, not just the SQL editor. The closing CTA now offers "Talk to sales" alongside the free trial.

Improved

A color per role on the Team page

Owner, Admin, Developer, Editor and Viewer badges are now each a distinct color, matching the role legend added earlier today — recognize who can do what at a glance.

Improved

Databases, stacked and ready for one more

The Databases page is now a single stacked list instead of a two-column grid, with a "Connect another database" tile at the end so adding one more is always one click away.

Improved

A tidier Insights grid

Insight cards now pack into a masonry layout instead of leaving gaps under shorter cards, and table-style cards cap at 5 rows so every card reads at a similar size.

Improved

Branded toast notifications

Success, warning and error toasts now have a colored left accent matching what they mean, and the command palette (⌘K) has a "Back to site" shortcut.

New

Top products, right on the dashboard

A new Top products · 30d panel sits next to Needs attention — your four best sellers by revenue, no click into Insights required (though it's one click away if you want more).

Improved

A dashboard that says good morning

The dashboard now greets you by team name and time of day, and the "Data verified" bar shows which platform your clone is detected as (PrestaShop, WooCommerce, Magento).

New

Revenue, orders and AOV on your dashboard

For stores with a detected PrestaShop, WooCommerce or Magento clone, the dashboard now leads with real revenue, orders and average order value — each with a genuine delta vs the previous 30 days, the same numbers already trusted on the Insights page.

New

Sync health at a glance

Clone Logs now shows 4 quick stats above the run history — runs shown, average duration, rows in the last successful sync, and success rate.

Improved

What each team role can do

A quick legend on the Team page now explains what Owner, Admin, Developer, Editor and Viewer can each do — no more guessing before you invite someone.

New

Export your customer segments

A new Export button on the Segments page downloads a CSV of every RFM segment — customers, share of base, revenue and average recency/frequency/monetary — alongside the existing per-segment customer export.

Improved

Row counts and sync frequency on every database card

The Databases page now shows tables, total rows, sync frequency and last run at a glance on each card — no more clicking in just to see how big a clone is. Added a direct "Sync logs" link per database, too.

Improved

Automations side by side

Scheduled reports and business alerts now sit next to each other on wider screens instead of stacking, so you can scan both lists at a glance.

Improved

One click from Tables to the query editor

A "Query Editor" shortcut in the Tables header, and a "Query this table" button when browsing a table's data — jumps straight to the SQL editor with a SELECT already filled in.

New

Export your profit report

Costs & Profit now has an Export button for the full margin table, and a clearer banner when products are still missing a unit cost — so you know exactly what's excluded from the totals above.

Improved

"Running on clone" in the query editor

A small reminder next to the editor toolbar: every query you run here executes on your isolated PostgreSQL clone, never on your live store.

New

Monthly view for the revenue trend

The dashboard's revenue chart now has a Weekly/Monthly toggle — 12 months of history at a glance, for PrestaShop, WooCommerce and Magento stores. Same insight cards you already trust, just a longer lens.

New

"Needs attention" on your dashboard

Recent alert triggers and scheduled report sends now surface directly on the dashboard, so you don't have to check Automations to know what fired. The revenue chart now sits next to plan usage and needs-attention in a tidier sidebar, and Quick Actions / Recent Queries got an even, full-width layout.

New

You'll know if a sync keeps failing

If a database's syncs fail three times in a row (or the data-integrity check keeps failing), we now email your team directly — not just our operators. Your dashboards keep serving the last good sync in the meantime, and the email tells you exactly what's happening and how to trigger a fresh sync yourself.

July 17, 2026

Improved

Instant Insights page

Built-in insight cards are now cached: your clone's data only changes when a sync lands, so each card recomputes once after a sync and every later page view is served instantly from cache. Big stores feel the difference most — no more re-running heavy queries on every visit.

New

Exclude tables you don't need

Include-all connections can now carve out tables that should never be cloned — one name per line, with prefix wildcards like ps_connections*. Perfect for heavy tracking and log tables that can be over 90% of your nightly sync volume without powering a single insight: exclude them and syncs get dramatically lighter. It's your call, and it's reversible — remove an entry and the tables are back on the next sync.

Improved

Magento support, proven end-to-end

We ran the full BeQuery pipeline against a real Magento 2.4 store: secure SSH-tunnel connection, verified clone of 387 tables, and every Magento insight — revenue, top products, trends, customer lifetime value, repeat rate, profit by product and RFM segments — validated on live data. If you run Magento, BeQuery is ready for you today.

New

See real data while you build queries

The schema explorer can now peek inside any table: expand it and load a few real rows to see example values next to every column — no more guessing what a column contains before you query it. The AI query generator uses the same sampled values, so it writes queries grounded in your actual data formats, not just column names.

July 7, 2026

Improved

Much faster queries on your clone

The sync now mirrors your source database indexes onto the clone, so multi-table queries (orders joined with details, discounts, loyalty, returns) run in a fraction of a second instead of minutes. Big exports that used to crawl now finish fast.

New

Make the Insights page yours

Insights is now organizable: reorder, pin, hide and group cards into sections, and add your own cards from any saved query. Built-in insights stay included; custom cards run on a refresh interval you choose and, on the Cloud plan, are metered only when they actually run (not each time you open the page).

Improved

Simpler, more reliable syncs

Every sync now does a clean full copy of your selected tables — the most reliable and predictable option. We removed the polling-based incremental mode, which could be slower and heavier than a full copy on stores whose tables lack a change-timestamp. True low-latency incremental is coming as a dedicated option for stores that enable database replication.

July 6, 2026

Improved

A sharper bequery.pro

The site now wears the same green as the integrity badge in the product: clearer calls to action, a pricing page with an obvious recommendation, and the production proof point finally shows the story behind the numbers — three generations of the sync engine, from 2h50m to ~28 minutes.

July 5, 2026

Improved

Real-time sync is now truly near real-time

Real-time connections (Scale and Enterprise) now sync about every minute instead of every 5 minutes. Real-time syncs also run in their own fast lane, so a large nightly re-clone can never delay them.

July 4, 2026

Improved

Syncs moved to dedicated infrastructure

Data syncs now run on dedicated always-on infrastructure instead of time-limited serverless functions. Large syncs complete in a single pass — no more splitting a big clone into dozens of resumed chunks — which makes them faster and more predictable.

Fixed

Sync engine: resumable copies are now self-correcting

Very large tables that resume across multiple sync windows could re-copy a small overlap of rows and get stuck cleaning up after themselves. Resumed copies now realign to the exact checkpoint before continuing, and the cleanup pass respects the sync's time budget — long syncs keep moving instead of spinning.

July 2, 2026

Improved

A real site: feature pages, platform pages, security

bequery.pro grew from a one-pager into a structured site: dedicated pages for every feature, PrestaShop and WooCommerce solution pages with the platform's own templates linked, and a concrete security page. Easier to explore, easier to share.

New

Insights: ready-made dashboards, zero SQL

BeQuery now detects your platform (PrestaShop or WooCommerce) and builds answer cards automatically: revenue and orders vs the previous period, top products, products to restock before they run out, declining products and top customers. Connect, sync, and the answers are just there.

New

Scheduled email reports

Any saved query can now land in your inbox on a schedule — daily or weekly, at the hour you choose, to the people you choose. The Monday numbers your team asks for, delivered before anyone asks.

New

Business alerts

Watch any metric and get an email when it crosses a threshold: orders today below 10, stock of a bestseller under 20, weekly revenue dropping. Checked every hour against your synced data, with a cooldown so it never spams you.

New

AI weekly digest

Every Monday morning, an AI-written summary of your store's week: what grew, what dropped, what needs restocking — in plain language with real numbers. Available on Business plans and above.

New

Data trust badge

Your dashboard now shows the integrity verification we run after every sync: data verified, how many rows across how many tables, and how fresh it is. You shouldn't have to trust us on faith — the checks are visible.

July 1, 2026

Improved

Sync engine: keyset copy — 2.6× faster nightly syncs

The table copy now pages by primary-key ranges instead of offsets, making it immune to rows changing mid-copy on a live store and dramatically faster: a 107M-row production clone dropped from ~2h50m to ~65 minutes.

Improved

Missed-schedule catch-up

If a scheduled sync tick is ever dropped by the platform, BeQuery now notices within the hour and runs it anyway. A missed nightly sync no longer means a day-old clone.

June 30, 2026

Improved

Self-healing integrity protection

A processing lease now guarantees only one sync worker touches a run at a time, and the engine detects and automatically repairs duplicate rows if anything ever slips through — with an alert to our operators. Defense in depth for your data.

June 10, 2026

New

Post-sync verification and health digest

After every sync, BeQuery verifies the clone against what was recorded as synced — catching silent data issues that a green checkmark would hide. Our operators get a daily health digest, so problems are investigated before you notice them.

June 5, 2026

New

Charts in query results

One click turns any query result into a bar, line or pie chart — auto-detected from your columns. No export, no spreadsheet.

New

Real-time sync (5-minute refresh)

Scale and Enterprise plans can now sync every 5 minutes, keeping the clone close enough to live for operational dashboards.

Improved

AI that checks its own SQL

Ask-AI now validates the SQL it generates against your real schema before returning it, and repairs it automatically when it doesn't run. Fewer copy-paste-fail loops.

June 2, 2026

Improved

Account-wide row allowance

Plan limits now apply to your total cloned rows across all tables instead of penalising any single large table — fairer for real stores where one orders table dominates.

Want these answers from your store?

Connect your MySQL database and get verified analytics, insight dashboards, scheduled reports and alerts — without touching production.

Start free