Merchant tools

Set up your whole team
from one spreadsheet.

Thirty shops, two hundred terminals, two hundred staff — you don't have to type them in one at a time. Fill in our template, upload it, and Safewire checks every line before anything is saved. Nothing changes until you press Confirm.

Before you start

Set up your tax profile

Every shop needs a tax profile. Create at least one in Settings → Tax first — the spreadsheet refers to it by name.

Sheet 1

Shops & locations

Your physical places. Terminals and staff are linked to these by name, so name them the way your team already talks about them.

Sheet 2

Terminals

Each payment device. Give it a name and, if it lives in one shop, the shop's name. Leave the shop blank for a device that moves around.

Sheet 3

People

Everyone who works for you. Each row becomes an invitation — they join when they accept it on their phone.

Upload in this order, or all three sheets at once in one file — Safewire processes them top to bottom.

The template

Three sheets. That's the whole file.

Sheet · Locations

One row per shop

The address is what puts you on the map for customers — please fill in every part of it.

  • nameWhat you call this shoprequired
  • street_addressNumber and streetrequired
  • address_line_2Unit, floor, buildingoptional
  • cityrequired
  • state_provinceState, province or regionrequired
  • postal_coderequired
  • countryTwo-letter code, e.g. CA, SX, NLrequired
  • tax_profileName of a tax profile you already createdrequired
  • phoneShop phone with country codeoptional
  • show_in_directoryyes / no — list it for customersoptional
Typo in the region? The check step flags it. A wrong region is the one thing that can hide a shop from customers, so we don't let it through.

Sheet · Terminals

One row per device

Short and simple. Setup codes are created for you afterwards — they're never in the spreadsheet.

  • namee.g. “Front till”, “Bar 2”required
  • locationShop name from Sheet 1 — blank = roams between shopsoptional
  • tax_profileOnly if different from the shop'soptional
Where's the setup code? After you confirm, open each terminal in the portal to see its one-time code. Type it into the device once — that's it.

Sheet · Employees

One row per person

Set their role and permissions here so you don't have to come back and edit each person later.

  • emailWhere the invitation goesrequired
  • full_nameoptional
  • rolepos_employee · location_manager · admin_assistant · staffrequired
  • positionJob title, e.g. “Barista”optional
  • locationsShop names, separated by ;optional
  • terminalsTerminal names they may use, separated by ;optional
  • collect_tipsyes / nodefault no
  • cash_in_remitMay take cash and send digital fundsdefault no
  • cash_outMay pay out cashdefault yes
Someone already on Safewire? Use the email on their Safewire account. They get a notification in the app and accept with a tap — no new install.

What happens when you upload

Checked first. Saved only when you say so.

Check

Upload the file. Safewire reads every row and shows you the sheet back with any problems marked on the exact cell — a missing postcode, a shop name that doesn't match, a role spelt wrong.

Nothing is saved yet. Fix the file and upload again as many times as you like.

Confirm

When the file is clean, Confirm lights up. Everything goes in together, or nothing does — you'll never end up with half a setup.

Uploading again later? Safewire matches shops and terminals by name and shows you exactly what would change before it changes anything. Imports never delete.

Your people join

Each person gets an email invitation (and an in-app notification if they're already on Safewire). They install the Safewire wallet, open the link, and accept.

Until they do, they show as Pending on your Team page. Once accepted, their shops, terminals and permissions from your sheet are already in place.

Already have the data?

Your data lives in a different system?

Most businesses already have this information somewhere — a staff rota, an HR export, a device list from a previous payments provider. It's rarely in our column layout, and we don't expect you to retype it.

The fastest route: export what you have, then ask the AI tool you already use (ChatGPT, Claude, Copilot — any of them) to reshape it into our template. Copy the prompt, paste it in along with your export, check the result, and upload. The Check step will catch anything it got wrong.

Prefer to do it by hand? Download the template from the upload page — it has the three sheets, the column headings and one example row each.

Copy this prompt

I'm onboarding onto the Safewire payment platform. Reshape the attached data into three tables with exactly these column headings:

Locations: name, street_address, address_line_2, city, state_province, postal_code, country, tax_profile, phone, show_in_directory

Terminals: name, location, tax_profile

Employees: email, full_name, role, position, locations, terminals, collect_tips, cash_in_remit, cash_out

Rules: country is a 2-letter code; yes/no for the yes-no columns; separate multiple shop or terminal names with ";"; role must be one of pos_employee, location_manager, admin_assistant, staff. Leave a cell blank if you don't know — don't guess. Give me one Excel file with three sheets named Locations, Terminals, Employees, and a single header row on each.

How it protects you

Nothing saves until you confirm

Checking is free and repeatable. Your account doesn't change until the file is clean and you press Confirm.

All or nothing

If one row fails on the way in, the whole upload is undone and you see which row. No half-finished setups.

People join on their own phone

A spreadsheet can invite someone — only they can accept. Each person sets up their own Safewire wallet; nobody else ever holds their keys.

You stay in control

Safewire staff can't upload on your behalf. If you'd like help, we'll walk through it with you, logged in as you, while you watch.

Accepted files: .xlsx with sheets named Locations / Terminals / Employees, or one .csv per sheet. One header row, no merged cells, up to 2,000 rows per sheet. Extra columns of your own are ignored. Up to 20 shops can be listed in the public directory. Invitations expire after 7 days and can be re-sent from the Team page.

Not on Safewire yet?

See exactly what you'll need to onboard — by country and business type.