Skip to content

Sales and reporting

Your numbers live in three places:

  • Transactions are the record of every payment, on the web and in the merchant app.
  • The dashboard is the at-a-glance view of how the business is trading, on the web.
  • A terminal prints its own daily reports for closing off at the till.

One thing to know up front: the dashboard is based on your transactions, which is not the same as what has settled to your bank. Your dashboard figures and your settlement statements can differ for the same period, and that is expected.

If your business does not take cards yet, its owner sees Apply for card payments at the top of the dashboard and Transactions. See Applying for card payments.

Transactions lists every payment your business has taken. On the web, if you take both card and bitcoin you get a Cards tab and a Bitcoin tab; a business on one rail sees a single list. The merchant app shows your bitcoin activity. Each row is one payment, with its time, amount, type and result, and there are running totals for the page and for the whole list.

Open a payment to see everything recorded about it. On the web this opens as a detail panel (the settlement breakdown, the card scheme, the failure reason, and the payment’s identifiers); in the app it is a full screen that also shows which staff member it was taken by, where one is recorded.

Narrow the list by date range (the default is the last month), and by amount, currency, type, result, payment channel, card number or terminal. The terminal filter is a text match on the terminal’s name or id. The bitcoin list filters by device, status, method, memo, amount and date.

On the web, Download CSV saves what you are looking at as a spreadsheet. It exports the current date range for the tab you are on (cards or bitcoin), which opens in Excel or Google Sheets. The export follows the date range rather than the in-table column filters.

The merchant app’s home screen shows a takings summary for today, this week and this month, so you can see how the business is trading without opening the web dashboard. Each figure is the value of your completed sales over that period, with the number of sales beneath it.

If you take card as well as bitcoin, each takings figure is a single amount in your currency that includes both rails, so your takings reflect everything you took rather than only the bitcoin. A business that takes bitcoin only sees the figure in bitcoin, which you can tap to switch between sats and your currency. Tapping any takings figure also hides them all, for when you do not want amounts on screen.

The Dashboard (on the web) shows your figures over a date range you choose, with a toggle to show or hide bitcoin and cards when you have both. There is no dashboard in the merchant app.

An owner or admin of a new business sees a Get started list at the top of the dashboard: apply for card payments, set up bitcoin payments, talk to us about EPOS and invite your team. The things the owner said they were interested in, when they added the business, come first. Each step ticks itself off when it is done (card payments once approved, the team once someone else has joined), and an application still being reviewed shows as in progress. Hide removes the list on that device; it also goes once every step is done. Staff never see it.

With the edit-dashboard permission, switch on edit mode to add, remove and rearrange the panels (the headline figures at the top and the widgets below). Your layout is saved to your account. A widget only appears if the business has the thing it measures.

A control in the dashboard header lets you choose how bitcoin sales are valued in your figures:

  • At the time of sale: each sale counts for what it was worth in your currency when you took it.
  • At today’s price: each sale is re-valued at the current bitcoin price.

This affects every figure that includes bitcoin. Card figures are unaffected.

The figures are deliberately defined in different ways, so some of them will not add up to each other. This is the important part to understand.

  • Balance shows the bitcoin your business is holding, read from wherever it is held (a connected wallet or exchange). A Spark wallet is self-custody and held on your phone, so its balance is not shown here; open the merchant app to see it. See Bitcoin treasury.
  • Sales is the number of sales over the period (voids are netted out). For the amount taken, see Sales value by payment method.
  • Sales value by payment method is the gross amount taken, split by card and bitcoin. Gross means before fees and refunds.
  • Revenue is the value of successful sales after card fees are taken off. Because it is net, it is lower than the gross sales value, and that is expected.
  • Net income is your sales minus refunds, valued after fees. It can go negative in a period where you refunded more than you took.
  • Average transaction value is what a typical sale is worth, overall and by payment method. It is a gross figure.
  • Refunds is how much you have refunded over the period.
  • Failed payments shows card payments that did not go through, with a companion Failure types widget that breaks them down by why (see below). Bitcoin payments either complete or are simply not taken, so failures are a card figure.
  • Your busiest times ranks your takings by hour of the day or day of the week, by number of sales or by amount.

So revenue and net income are net, while sales value, average transaction value and busiest times are gross. They measure different things and are not meant to match.

The Failure types widget breaks your failed card payments down by reason, showing each as a share of the total. A failed card payment is grouped into one of a few reasons: declined, insufficient funds, expired card, cancelled by the cardholder, extra authentication needed (the bank asked the customer to confirm and it was not completed), a network or connection problem, or unknown. The same reason is shown against the payment in your transaction list.

A terminal keeps its own running totals and prints reports at the till. These are separate from the dashboard, and there are two families: card and bitcoin.

  • End of day (the Z report) closes the day off and prints the totals: the sales, the refunds and the net total for the session. Running it starts a fresh day. It prints automatically when you generate it, and warns you if you already ran one recently.
  • Today’s running totals (the X report) shows takings so far today without closing the day. There is a card version and a bitcoin version; the bitcoin report shows both the amount in your currency and the amount in sats.
  • Reprint a past report lets you show the last end-of-day report again, or pick an earlier one from the recent list, without generating a new one.
  • Staff sales report runs the same reports scoped to one member of staff, showing what they took across their shifts. This needs staff members set up (see Team and staff).

Report access can be protected by an end-of-day password on the terminal.

The dashboard, its widgets and the CSV export are on the web; the merchant app shows transactions but no dashboard. Card figures (such as failed payments and card schemes) need card processing to be connected. Bitcoin figures need bitcoin to be switched on. If a figure you expect is not there, it usually means that rail is not set up for your business.

What you seeWhat it meansWhat to do
Revenue is lower than your salesRevenue is net of card fees; sales value is grossThis is expected; compare like with like (gross with gross)
The dashboard does not match your statementThe dashboard is based on transactions, not settlementsUse Settlements and fees for what reached your bank
Net income is negativeRefunds in the period were larger than salesCheck the Refunds figure for the same period
Bitcoin figures jumpedThe valuation is set to today’s priceSwitch the header control to value bitcoin at the time of sale
No dashboard in the appThe dashboard is on the web onlyThe app’s home screen has a takings summary; the full dashboard is on the web
App takings are higher than my bitcoinThe takings summary includes your card sales too, as one amountThis is expected when you take both rails; the figure is all your takings, not only bitcoin
A card figure is missingCard processing is not connectedSee Getting started for connecting card processing
The terminal warns a Z report was just runYou closed the day recentlyView the existing report, or generate a new one if you meant to
  • Settlements and fees for when money reaches your bank, and your statements
  • Refunds for giving a refund, which then shows in your refund figures
  • Team and staff for setting up staff, so the staff sales report has names to show