Account & Billing

Troubleshooting: sign-in, sync & import issues.

A symptom-to-fix guide for the moments Alculator doesn't behave: sign-ins that won't take, a session-expired banner, a "Save failed" indicator, an import that skipped rows, or a share link stuck on old numbers.

Most Alculator problems trace back to a handful of known causes: an email that was never confirmed, a login that used the wrong method, a session that quietly expired, or spreadsheet rows the importer was right to drop. This page works symptom by symptom — find yours, apply the fix, and get back to pricing.

The Short Answer

Sign-in failures are usually an unconfirmed email (resend the confirmation) or the wrong method (you signed up with Google — use the Google button). Save failures are usually an expired session — the banner's Sign In link returns you to the exact page. Skipped import rows are missing a SKU name or a usable FOB. Stale share links pin a snapshot — click Update to latest.

Can't sign in

Symptom: an "email not confirmed" error. New email-and-password accounts must confirm their address before signing in. Check your inbox — and your spam folder — for the confirmation email. On the Check your email screen shown right after sign-up, the "Didn't get it? Resend email" button sends a fresh one, with a 60-second cooldown between resends. Once you click the link in the email, you land back in Alculator with an "Email confirmed! You're all set." toast.

Symptom: "invalid login credentials," but you're sure the password is right. The most common cause: the account was created with Continue with Google, so there is no password to check. Use the Google button on the sign-in page instead of the email form — details in Creating an Account.

Symptom: genuinely forgotten password. On the sign-in page, enter your email in the form, then click Forgot password? A reset email goes out, with its own 60-second cooldown between requests. Clicking the link opens a set-new-password dialog.

The "session expired" banner

A dark banner at the bottom of an app page reading "Your session expired — sign in again to keep saving" means your login token lapsed in the background. It only appears when the session expired on its own — never after you deliberately clicked Sign Out (including in another tab, since signing out anywhere signs out every open tab).

The fix is the banner itself: click Sign In and it carries you to the sign-in page and then straight back to the exact page you were on. Your work is preserved — everything that saved before the expiry is already in the cloud, and once you're signed back in, saving resumes. Until then, new edits will show the save failure described next, which is your cue to look for this banner.

"Save failed" and sync errors

The brand editor's toolbar shows a live save status: Saving… while a write is in flight, Saved ✓ when it lands. If a write fails you see two things: the status flips to Save failed ✗ (it stays there until a later save succeeds), and a red toast surfaces the underlying error message. Bursts are throttled, so a flaky connection shows one toast, not twenty.

What retries: nothing retries silently on a timer — your next edit re-queues the save, so fixing the cause (usually signing back in, or getting back online) and touching any field is enough. Publishing has its own guard: it flushes all pending saves first and aborts with "Some changes haven't saved — publish aborted" rather than snapshotting a half-saved brand. How the save pipeline works when it's healthy is covered in Saving Brands.

Import skipped some rows

The portfolio importer (the Import Portfolio button on the Brands page) keeps a spreadsheet row only if it has both a SKU name and an FOB greater than zero. Everything else — header rows, blank lines, subtotal rows, products with no price yet — is dropped by design, and the preview shows exactly what will be imported before anything is written.

The full walkthrough — column mapping, existing-brand merging, and the preview step — is in Importing Portfolios.

Not a bug — a feature doing its job. A share link pins a snapshot of the published version it was created from, covering the whole brand as it stood at that moment. Editing your draft, or even republishing five more times, never changes what an existing link shows.

To move a link forward, open the Share dialog in the brand editor and click Update to latest. The URL stays the same; the link now shows your newest published version. The click applies per link, so updating one link never drags another along. The whole model — snapshots, view counts, revoking — is in Share Links.

Charts are empty

Analytics reads published snapshots, not your live draft. Publishing records a snapshot immediately; ordinary saves record at most one per hour per brand — so a brand-new account shows an empty Analytics page until a snapshot lands, and publishing is the reliable way to seed one. The fix is to publish: open the brand, click Publish, and the brand's numbers enter the analytics picture. What publishing does (and doesn't do) is in Publishing.

History also takes time to accumulate: time-series metrics are recorded when you publish and as you save (save-triggered points are throttled to roughly one per hour, so typing all afternoon doesn't spam your own trend line). A chart with one data point is a dot, not a line — keep working and the trends fill in. How to read each chart is covered in Analytics Overview.

Where to get help

If your symptom isn't here, email hello@alculator.io — the same address listed in our privacy policy and terms. Include what you were doing, the exact text of any error or toast you saw, and the page you were on (for example, the brand editor at /app/brand); that's usually enough to reproduce the problem on the first try. For billing-specific questions — charges, receipts, plan changes — start with Billing, which covers the flows self-service handles.

Fixed? Back to work.

Your brands, markets, and share links are waiting where you left them.

Open the Calculator →