Stop Pressing Sync: Scheduled POS Imports in BasilBook
Automatic sync pulls your sales and attendance on a schedule you choose — and the three design decisions behind it are the reason you can leave it running without watching it.
The problem with pressing a button every day
A manual sync is a habit, and habits fail in a pattern: they fail on the busiest days. Which are exactly the days worth having in your books.
Nobody forgets to sync on a quiet Tuesday. They forget on the Saturday that ran forty covers over, on the day the fridge broke, during the week someone was off. So the gaps in your accounting are not random — they are concentrated on your highest-revenue, highest-stress days, which is the worst possible sampling bias for a number you use to make decisions.
There is a second cost that is easier to miss. Reconciliation only works if the sales are there to match against. A week of unsynced sales is a week of bank receipts with nothing to pair with — so the backlog is not just the sync, it is everything downstream of it.
Turning it on
It is one field on the integration you already connected, and it takes about ten seconds.
- Open Settings → Integrations — Expand the card for HangPopok, Loyverse or DailyBrew. The setting only appears once the integration is connected and switched on.
- Choose a cadence — Every hour, every 6 hours, or once a day. "Manual only" is the default and keeps the current behaviour exactly.
- That is the whole setup — There is nothing to confirm and nothing to schedule. The card shows the last automatic run so you can see it working.
Why every run re-reads the last three days
The obvious design is a bookmark: remember where you stopped, and next time fetch everything since. It is obvious, and for a restaurant it is wrong.
A bookmark assumes the past is finished. In a restaurant it is not — three ordinary things change records that have already been written:
- The tab paid after midnight — Opened at 23:40, settled at 00:15. BasilBook attributes a sale to the day it was paid, so that sale belongs to a day the earlier sync had already passed.
- The corrected voucher — A wrong item removed the next morning, a discount applied after the fact. The record exists but its contents changed — a bookmark has already moved past it.
- The run that failed — Your POS was briefly unreachable, or the internet was. A fixed window heals on its own next run; a bookmark either heals or leaves a permanent hole depending on exactly when it was written.
Three days is wide enough to catch all three and narrow enough to stay cheap. It is a correction window, not a migration — which is also why switching automatic sync on does not backfill your history. Importing a year is a deliberate act, with a date range you chose and a progress bar in front of you.
What stops it going wrong while you are not looking
Anything that writes to your books unattended has to be conservative about it. Four things do that work.
- Re-importing cannot duplicate — Sales are matched on the invoice or receipt number your POS issued. Anything already in BasilBook is skipped, not imported again. This is what makes the three-day overlap free rather than reckless.
- It gives up rather than hammering — A revoked token fails the same way every time. After five consecutive failures the schedule pauses itself and the card says so. Fix the credential, run one manual sync, and it resumes — no support ticket.
- Every run is on the record — Sync history shows what arrived and whether a run was automatic or done by hand, so an unexpected number in a report can be traced to the run that produced it.
- It never reaches further back than you asked — Three days, always. Turning on automatic sync cannot silently import a year of history into a workspace you were still setting up.
Which cadence should you pick?
Match it to how often you actually look, not to how fast the data could arrive.
| Cadence | Right for |
|---|---|
| Every hour | You check takings during the day, or you reconcile bank receipts as they arrive. |
| Every 6 hours | The sensible default. Morning, afternoon and close are all covered without anything being urgent. |
| Once a day | You do a proper end-of-day and would rather review one clean import than several partial ones. |
| Manual only | You are still setting up, or you deliberately want to look at every import before it lands. |
You can change it whenever, and changing it also clears a paused schedule. Each integration is set separately — attendance daily and sales hourly is a perfectly reasonable combination. See all the integrations for what each one brings across.