From Clock-In to Payslip: Syncing DailyBrew Attendance to Payroll
How to connect DailyBrew to BasilBook so payroll starts from what your team actually worked — and why the link is built on employee IDs rather than usernames.
Why attendance belongs next to payroll
Most small restaurants run payroll from memory and a paper roster. It works until it does not, and when it does not, it is someone's wages.
The failure is rarely dramatic. A part-timer picked up two extra shifts in week three and nobody wrote it down. Someone was off sick on a Tuesday and got paid for it anyway. The month closes, the number looks about right, and nobody can reconstruct it a fortnight later because the roster has been thrown away.
If the clock-ins already exist in DailyBrew, the honest fix is to let payroll read them rather than have a person retype them. Days worked stop being a recollection and become a record — one you can point at when someone disagrees.
Step-by-step setup
You need API access in DailyBrew and an owner or manager role in BasilBook. The one-off part is matching names; after that it runs itself.
- Create an API key in DailyBrew
DailyBrew → Settings → API. Copy the key. BasilBook encrypts it before storing it and will never show it back to you in full.
- Paste it and press Test connection
A successful test names the workspace it reached. Check that name — a key for the wrong team connects perfectly well and imports the wrong people.
- Sync a short range first
Three or four days is enough. The result tells you how many records arrived and, more usefully, which names did not match anyone in BasilBook.
- Link the unmatched people
Open Staff and match each reported name to the right person, once. The next sync picks them up — including the days that already came across.
How people get matched (and why it is not by name)
BasilBook links a DailyBrew person to a staff record by their stable employee ID, not by their username or display name.
This is a deliberate choice and it is worth understanding, because the obvious alternative looks simpler and fails silently. If you match on username, then the day someone corrects a spelling, marries, or gets re-created in DailyBrew after leaving and returning, the link breaks. Nothing errors. Attendance simply stops arriving for that person, and you find out when they query a payslip.
The practical consequence: the first sync after adding someone will list them as unmatched, and that is the moment to link them. After that you can forget they exist — which is what you want from payroll plumbing.
From days worked to a posted journal
Attendance does not touch the ledger. It feeds payroll, and payroll is what posts — with you in the middle.
- Open a payroll period — Days worked pre-fill from the attendance you synced, alongside overtime and any advances already recorded.
- Review it line by line — This is the step that stays manual on purpose. You are the one who knows that Wednesday was a public holiday, or that someone swapped a shift.
- Approve, and the journal writes itself — Approving posts a balanced entry — wages expense against what you owe staff — without anyone opening a journal screen.
Nothing reaches the ledger unattended. Automatic sync fills in the facts; deciding what to pay people stays a decision, which is not a thing to hand to a scheduler.
Keep it in sync automatically
Set a cadence and attendance is already there when you open the payroll period, rather than something you remember to fetch first.
Hourly, every six hours, or once a day. Each run re-reads the last three days, because a shift corrected the following morning is a shift that needs correcting here too. It is a Pro feature and it is off by default.
Why a three-day window rather than picking up where it left off is explained in the automatic sync post.
Troubleshooting
Three things account for nearly every surprise.
- Someone is missing from payroll — They were almost certainly listed as unmatched after the sync that first saw them. Open Staff, link the name, and re-run — the days already imported come with them.
- A name looks wrong in BasilBook — The staff record keeps its own name; the DailyBrew name is only used for reporting unmatched people. Rename the staff record and the link is unaffected.
- Someone is marked absent for today — They should not be. A day that has not finished cannot be an absence, and BasilBook does not mark one. If you see it, the workspace timezone is probably wrong — check Settings → Organization.
What syncs and what it costs is on the DailyBrew integration page.