Importing from Payroll
If you already use Xero Payroll, you can import your existing employee records into StaffBrik rather than re-entering them manually. This saves time, reduces errors, and ensures your staff data matches what your payroll provider holds.
Connecting to Xero
Before you can import employees, you need to connect your Brikly organisation to Xero.
- Go to Settings > Integrations.
- Click Connect Xero.
- You will be redirected to Xero's authorisation page. Sign in with the Xero account that has access to payroll.
- Grant Brikly permission to read your Xero payroll data.
- Once authorised, you will be returned to Brikly with a confirmation that the connection is active.
Brikly only reads your Xero payroll data. It never creates or edits employees, pay rates or timesheets in Xero. (The same Xero connection is what pushes confirmed supplier invoices into Xero accounting, if you use that.)
Starting an Import
Once connected, navigate to StaffBrik > Team and click Sync Xero. The wizard that opens is titled Sync Xero employees and runs through four steps:
Step 1: Check Availability
StaffBrik connects to your Xero payroll and retrieves the list of active employees. You will see:
- The total number of employees found in Xero.
- A summary of the data fields available (name, email, phone, pay rate, etc.).
- Any issues detected (e.g., missing email addresses or phone numbers).
If the connection fails or no employees are found, check that your Xero account has payroll enabled and that employees are marked as active. Errors read as a next step, for example "Xero refused access to this information. Reconnect Xero in Settings > Integrations, then try again." or "Xero is busy right now...".
If Xero only sent part of your team this time, an amber notice says "Xero did not send everyone this time..." with Try again. The count of people already in Brikly includes only current staff, not leavers.
Step 2: Preview Employees
A table shows every employee retrieved from Xero, with columns for:
| Column | Description |
|---|---|
| Name | First and last name from Xero |
| Email address on file in Xero | |
| Phone | Phone number on file in Xero |
| Rate | Current hourly rate (converted from a salary where needed) |
| Location | The location the employee will be assigned to (new and updated employees) |
| Match | The existing StaffBrik profile Brikly thinks this is (potential duplicates) |
Employees are grouped by what will happen to them: new, with updates, potential duplicates, and any needing a pay rate chosen. Date of birth and start date are imported but not shown in this table.
Review the list to make sure the data looks correct before proceeding.
Step 3: Map Decisions
Anyone Brikly thinks may already be in StaffBrik gets a dropdown of actions:
- Skip - do not import this person. Use this for employees you do not want in StaffBrik (e.g., office-based staff who are not involved in venue operations).
- Import as new - bring this person in as a brand-new employee in StaffBrik. Use this when they are genuinely a different person to the one suggested.
- Link to
{name}- one entry for each suggested match, naming the StaffBrik employee. Linking connects this Xero record to that person and brings in their pay and employment details from Xero. Email, phone number, date of birth and start date are only filled in where the StaffBrik profile has them blank; anything already entered is kept.
The dropdown starts on a sensible default. A match on an email address or a mobile number is treated as a strong match, so it starts on Link to {name} with that person selected. A match on name alone starts on Skip, so nothing happens to them by accident. Change either before you continue.
When someone has more than one pay line in Xero (two jobs at different rates, say), their row has a rate picker. The line you choose is remembered, and the nightly sync keeps costing them on it, including after a pay rise in Xero on that line. If Xero stops paying that line, their first line applies and shows as a pay change.
Linking a Xero record to someone already in StaffBrik is for owners and admins only, because it hands that person's pay and employment details over to payroll. Members can run the import to bring in new people, but their dropdown offers only Skip and Import as new, and a strong match starts on Skip for them. If someone needs linking, ask an owner or admin to do it.
Everyone else is a simple tick list: leave a person ticked to bring them into StaffBrik, or untick them to skip them.
For a first-time import, most employees have no match and come in as new. If you have already added some staff by hand, use Link to {name} so payroll keeps them up to date instead of creating a second profile.
Step 4: Confirm Import
Review your mapping decisions on a summary screen:
- Number of new employees to be created.
- Number of existing employees to be updated.
- Number of employees to be skipped.
Click Confirm Import to proceed. StaffBrik creates or updates the selected records.
The result screen lists anyone Not imported, with the reason, and separately a Check these list of warnings for people who were imported:
- A placeholder hourly rate was used because Xero reported none (see What Gets Imported).
- A mobile number or email was left blank because someone else in Brikly already has it. Brikly never gives two people the same mobile number or email, and later syncs do not fill it in.
Rates applied through the wizard are dated with Xero's effective date, the same as the nightly sync.
Duplicate Detection
StaffBrik automatically checks for potential duplicates during the preview step. It matches on:
- Email address - an employee in Xero who shares an email address with an existing StaffBrik profile is treated as a strong match.
- Phone number - a matching UK mobile number is treated the same way.
- Name - an exact first and last name match is shown as a possible match, and nothing more. Plenty of people share a name.
When the match is on an email address or a mobile number, the action starts on Link to {name} with that person already selected. A name match on its own is shown as a possible match and starts on Skip, so nobody is linked to the wrong profile because two people happen to share a name. You can change either.
A team member who is already linked to a different Xero record is never suggested as a match, and Brikly will not move an existing link. If someone was set up again in Xero, after a rehire for example, unlink them from their old Xero record first, then link the new one.
Always review duplicate matches carefully. In hospitality, it is common to have employees with similar names - do not blindly accept all suggested matches.
Location Assignment
Employees imported from Xero are not automatically assigned to a location. After the import completes, you will be prompted to assign each new employee to one or more of your locations.
If you operate a single location, all imported employees are assigned to it automatically.
For multi-location businesses:
- You can bulk-assign employees to a location during the post-import step.
- Alternatively, assign locations individually by editing each employee profile.
- An employee can be assigned to multiple locations if they work across sites.
Selective Import
You are not required to import all employees from Xero. The mapping step lets you pick and choose:
- Import only front-of-house staff for now and add kitchen staff next week.
- Skip head-office employees who do not need rota scheduling.
- Import employees for one location at a time.
You can re-run the import at any time to bring in additional employees. StaffBrik remembers which Xero records have already been imported and marks them accordingly in the preview.
What Gets Imported
The following fields are pulled from Xero when available:
| Field | Imported? | Notes |
|---|---|---|
| First name | Yes | |
| Last name | Yes | |
| Yes | For an employee you link to an existing profile, only filled in where StaffBrik has it blank | |
| Phone number | If available | Only UK mobile numbers are filled in on a linked profile; not all Xero records include one, so you may need to add it by hand |
| Start date | Yes | For a linked profile, only filled in where StaffBrik has it blank, which only happens when the profile came from an earlier import and Xero had no start date then |
| Hourly rate | Yes | Converted to hourly if Xero stores a salary figure. When Xero reports no rate, a placeholder is used (see below) |
| Date of birth | If available | For a linked profile, only filled in where StaffBrik has it blank |
| Gender | If available |
When Xero reports no hourly rate, the placeholder is your baseline rate or the minimum wage for the person's age, whichever is higher. The rate's reason says "No hourly rate was reported, so a placeholder was used. Check it.", and the person is listed under Check these.
NI category, contracted hours, qualifying days and employment type are also taken from Xero where it holds them. Xero only distinguishes zero-hours contracts, so full-time and part-time staff both arrive as contracted, and when Xero has no working pattern for an employee, or only an all-zero one, Brikly treats their hours as unknown rather than as 0: an employee already in StaffBrik keeps the contracted hours and qualifying days you set, and a new profile starts with no qualifying days and contracted hours at 0 for you to fill in. Pension opt-in, access level and role are not available from Xero Payroll and need setting by hand.
After importing, open each employee's profile to set their access level, role and pension opt-in, and check the employment type, contracted hours and NI category that came from Xero, so that rota costing and compliance features work correctly.
Ongoing Sync
Once you have linked employees from Xero, Brikly keeps their pay and employment details up to date automatically, and fills in an email, phone number, date of birth or start date you have not entered yet. You do not need to re-run the import every time a pay rate changes in payroll.
What it does
Each night, Brikly checks Xero for changes to employees who have already been linked through the import wizard. If anything has changed, the matching StaffBrik record is updated. Changes picked up by the sync include:
- Pay rate changes (e.g., a pay rise processed in Xero).
- NI category changes.
- Contracted hours and qualifying days (left as they are when Xero has no working pattern, or an all-zero one, for the employee). A rotating pattern over several weeks gives their average weekly hours, with every day they work as a qualifying day. A change to hours, working days, employment type or start date also updates the employee's holiday allowance, exactly as an edit in StaffBrik would (see When Someone's Hours Change), and a change of contracted hours re-costs their rota weeks from today.
- Employment type and gender. Zero-hours and casual staff from payroll hold 0 contracted hours. Moving someone between contracted and zero-hours or casual moves holiday pay in or out of their hourly cost, but if you have set that choice yourself on their pay rate, a rise from payroll keeps it.
- Email address, phone number, date of birth and start date, but only where the StaffBrik profile has them blank. A value already entered in StaffBrik is never overwritten, even if Xero holds something different. Only a UK mobile number is filled in, and never one another employee already uses. A start date arriving this way also feeds the SSP average-earnings calculation, so an SSP estimate for that employee may change.
- Employees whose Xero end date has passed, who are archived in StaffBrik. This does the same tidy-up as archiving someone by hand: their shifts from tomorrow onwards come off the rota, pending time off is rejected, approved time off starting after today is cancelled, open shift requests are declined, and a clock entry still open is flagged for you to close (see Archiving an Employee). They also leave their site's chat channel straight away.
If an employee is no longer in Xero payroll at all (deleted, or moved to a different organisation), the link is removed and the employee stays active in StaffBrik. Archive them by hand if they have left.
When it runs
The sync runs once a night, at around 03:30 UK time. Only one sync runs per Xero connection per night, so there is nothing to schedule or manage yourself.
How you find out
You only hear about a sync when it did something, or when it found somebody new in Xero who is not yet linked to a team member. If a nightly sync has news, you get:
- An in-app notification summarising what changed (for example, "pay rate for 2 employees") with a Review changes link to the Payroll changes tab on the Team page.
- An entry in the Needs attention panel on the StaffBrik home page until you have marked the changes as reviewed.
- A number badge next to StaffBrik in the sidebar counting the people waiting on you: employees with unreviewed changes, plus employees in Xero not yet linked to a team member.
These are shown to owners and admins, who are the people able to mark changes as reviewed. Syncs that find nothing to change stay silent. If the sync fails twice in a row (the first attempt and the automatic retry an hour later), you get one notification asking you to check the Xero connection; it is not repeated every night while the problem persists, but you will get another after the sync has recovered and fails again.
Turning the sync on or off
The ongoing sync is on by default once you connect Xero. Only owners and admins can turn it on or off.
To change it:
- Go to StaffBrik > Settings.
- Scroll to the Integrations section.
- Toggle Keep in sync with Xero on or off.
When the toggle is off, linked employees stay exactly as they are in StaffBrik until you turn the sync back on or run a fresh import.
What stays in scope
The nightly sync only updates employees that are already linked to a Xero record. Nobody is created in StaffBrik automatically, so you stay in control of who appears on the rota.
What each sync does do is note the active employees in Xero who are not yet linked to a team member in Brikly. They are listed under Not yet linked on the Payroll changes tab, so a new starter added in Xero waits there for you rather than going unnoticed. See Employees not yet linked for what you can do with them.
How conflicts are handled
If a pay rate, NI category, contracted hours, qualifying days, employment type or gender is changed in both Brikly and Xero between syncs, Xero wins. For example, if you adjust a pay rate in Brikly and someone else adjusts it in Xero, the Xero value will overwrite the Brikly value on the next nightly run.
A pay rise you have scheduled in Brikly never hides an earlier rise made in Xero: Xero's rise is recorded on its own date, and yours still applies from its date. If a rate already starts on the same date as Xero's (a starter added today with a rate, say), Xero's terms overwrite it.
For most cafes this is the safer default, payroll is usually the system of record for pay. If you want a Brikly-side change to stick, make the matching change in Xero too, or turn the sync off temporarily.
Personal details work the other way round. Email, phone number, date of birth and start date are only ever filled in when StaffBrik has them blank, so a value you entered or corrected in Brikly stays put whatever Xero holds. To replace an email address or date of birth with the Xero value, clear it in the employee's profile and the next sync fills it in. A phone number or start date cannot be cleared in the profile, so type the correct value in over it instead.
Effective dates
When a new pay rate is applied through the sync, Brikly records it against the effective date held in Xero, so the rate history in the employee profile matches payroll. A backdated rate re-costs the current rota week and every week ahead: if Xero records a pay rise as effective from the 1st and the sync picks it up on the 5th, shifts from the 1st use the new rate as long as the 1st falls in the current rota week. Only weeks that have already ended keep the costs they had. See Shift Costs and Pay Changes.
Two special cases:
- If Xero's effective date is on or before the date of the rate you currently have in Brikly, the new rate is applied from the day of the sync instead, so it takes effect straight away rather than being hidden behind your existing rate.
- If Xero holds a rate with a future effective date (a pay rise entered in advance), Brikly records it once and applies it on that date. You are notified when it is first picked up, not again when it comes into effect.
If Xero does not provide an effective date, Brikly uses the date of the sync.
Reviewing What Changed
There are two places to look: the Payroll changes tab on the Team page shows what still needs your attention, grouped by person, and the Recent sync activity panel in Settings keeps the full run-by-run history.
The Payroll changes tab
Go to StaffBrik > Team and open the Payroll changes tab. The Review changes link in the notification and the home page alert takes you straight there. The tab only appears for owners and admins with a connected payroll provider, and it shows a count of the people waiting on you: employees with changes you have not reviewed yet, plus employees in Xero not yet linked to a team member.
Each person gets one card, and the cards are ordered by how much they matter:
- Left - the employee was marked as having left in payroll and has been archived in StaffBrik. Their future shifts have been removed from the rota. The name links to their profile if you need to restore them. Restoring someone the sync archived unlinks them from Xero payroll, so the next sync does not archive them again: update their record in Xero, then link them again through the import wizard. Restoring someone you archived by hand who is still linked keeps the link, and warns you that if Xero lists them as having left, its next sync will archive them again.
- Unlinked - payroll no longer has a record for this employee, so the link was removed. They are still active in StaffBrik but will not receive pay updates until you re-link them through the import wizard.
- Pay - the hourly rate changed. Shift costs on the rota move with it.
- Details - anything else, such as NI category, pension opt-in, contracted hours or qualifying days, or an email, phone number, date of birth or start date filled in from Xero.
Within a card, each change shows the field, the old value struck through, the new value, and the date of the sync that applied it. A detail that was filled in because StaffBrik had none shows "filled in" and the new value instead of an old value. Pay rates are shown in pounds per hour.
When you have looked through the list, click Mark as reviewed. This records who reviewed the changes and clears them from the badge, the tab count and the home page alert together. Anyone under Not yet linked stays where they are. Nothing is marked as reviewed automatically: opening the tab, or scrolling past the history in Settings, leaves the badge in place until you press the button. If a new sync lands while you have the tab open, its changes stay unreviewed.
If you have never marked anything as reviewed, the tab shows changes from the last 90 days.
Employees not yet linked
Below the cards, the Payroll changes tab has a Not yet linked section. It lists the active employees in Xero who have no team member in Brikly, taken from the most recent successful sync. It is a standing list rather than a change feed, so it sits there until you have dealt with each person, and it is shown even when there are no changes to review.
Each person has three ways out of the list:
- Link - connect them to a team member you already have. Where Brikly can see a likely candidate it offers one. A matching email address or mobile number counts as a strong match and is selected for you; an exact name match is shown as a possible match and is never selected for you, so check the name before you press Link. Brikly then reads that person from Xero and brings their pay and employment details across, exactly as a nightly sync would.
- Add as new - create a new team member from the Xero record. This opens the wizard for that one person, so you can choose their location and, where Xero holds more than one pay rate for them, which rate to use.
- Ignore - for people on payroll who never work shifts, such as office staff or a director. They move to an Ignored list at the foot of the section, out of the way but not forgotten. Restore brings anyone back.
A team member who is already linked to a different Xero record is never offered here, and Brikly will not move an existing link. If someone was set up again in Xero, after a rehire for example, unlink them from their old Xero record first, then link the new one.
Mark as reviewed does not clear this section: reviewing changes and linking people are two different jobs. A person drops off the list as soon as they are linked, whether you linked them here, through the wizard, or by importing them.
The count on the badge, the tab and the home page Needs attention entry covers both kinds of work, so it does not fall to zero while somebody is still unlinked. The nightly notification is quieter: it mentions these employees only when somebody new turns up, so a backlog you have not got to yet does not nag you every morning.
Two things worth knowing:
- The list is taken at the moment the sync runs, so someone added to Xero during the day appears after the next nightly sync rather than straight away.
- The nightly check only runs for businesses that have linked at least one employee. If you have connected Xero but never linked anybody, start with Sync Xero on the Team page and the list takes over from there.
Recent sync activity
Go to StaffBrik > Settings and scroll to Recent sync activity in the Integrations section. This is the audit trail: it stays there after you have marked changes as reviewed.
The panel lists the last 20 syncs for your Xero connection, with one row per sync:
- When it ran (date and time).
- Status (success or failed).
- Source (Scheduled for the nightly sync, or Manual if you triggered it from the wizard).
- Counts showing how many employees were checked and how many had changes applied.
Expanding a row
Click a row to expand it. You will see a per-employee breakdown showing each field that changed, with the old value and the new value side by side, or just the value for a detail that was filled in because StaffBrik had none. This makes it easy to spot a pay rate update or a newly filled-in phone number at a glance.
The StaffBrik badge
A small number badge appears next to StaffBrik in the sidebar when there is payroll work waiting for you. The number counts employees with changes you have not yet reviewed plus employees not yet linked, and it matches the count on the Payroll changes tab and the home page Needs attention entry. Mark as reviewed on the Team page clears the changes part of it; the rest goes once you have linked or ignored the people left over.
Failed syncs
If a sync fails, the row shows the reason. Most transient failures retry automatically once, about an hour after the first attempt. If both attempts fail, you get a notification, the failed row stays in the list, and the next attempt is the following night's run.
Brikly also refuses to apply a sync that would remove links from a large share of your team in one go, or when Xero returned an empty or incomplete employee list (for example after a timeout part-way through). Rather than unlinking people on bad data, that shows as a failed sync and usually means the Xero connection or its payroll permissions need attention. If Xero genuinely no longer holds a lot of your linked staff, re-run the import wizard to review the links.
One person's problem never stops the rest of the sync. A sync can still include a line "Some employees could not be updated" when one or two people could not be read from Xero or saved. Those employees keep their existing StaffBrik details until the next sync. Each of them is listed under the run in Recent sync activity, with the reason in plain words, and changes are only reported once they have actually saved.
Failures, and the notification about them, say what to do next rather than showing a raw error. Common causes:
- Your Xero connection has expired or been revoked: "Xero refused access to this information. Reconnect Xero in Settings > Integrations, then try again."
- Xero is busy or did not answer in time. These usually clear on the next run, no action needed.
If failures keep happening night after night, reconnecting Xero almost always resolves it.
Re-importing
Sync Xero on the Team page is still the right tool for adding new employees from Xero into StaffBrik, or for linking employees you originally added by hand. Run it whenever:
- You have hired someone new in Xero and want them in StaffBrik.
- You added a member of staff manually and now want to link them to their Xero record so the ongoing sync can keep them up to date.
For existing linked employees, you no longer need to re-import to pick up changes, the ongoing sync handles that for you. And for someone who is in Xero but not yet in StaffBrik, the Not yet linked section on the Payroll changes tab is usually quicker than a trip through the wizard.