Nabu
Setup Guide

Sales & Visit History

The most important data import — your actual appointment and invoice records. This is what drives every financial calculation in Nabu.

Why this is the most important section

Sales & Visit History is the core dataset that powers Nabu. Everything else — business costs, people, services — provides context. But the actual sales records are the evidence of what happened in your business: who came in, what they received, what they paid, and who performed the service.

Without sales history, Nabu has no financial data to analyze. With it, you get:

  • Revenue by date, service, provider, and client
  • Profitability calculations based on real appointment activity
  • Client visit frequency and lifetime value
  • Provider performance metrics
  • Forecasting based on actual historical trends

What is a "sale" in Nabu?

In Nabu, a sale is any transaction or appointment. One sale is one line item — one service performed, or one product sold. An invoice with three items on it is three separate sales records.

Each sale has:

DataDescription
DateWhen the appointment or transaction happened
ClientWho received the service or made the purchase
Item typeWhat kind of transaction (service, membership, package, retail, gift card, etc.)
Service or item nameWhat was performed or sold
ProviderWho delivered the service (identified by email)
Amount paidWhat the client paid in cash/card
Benefit/discount appliedAny membership credits, package sessions, or discounts applied
StatusWhether the appointment was completed, cancelled, no-showed, etc.

Item types explained

Nabu uses specific item types to categorize each sale:

Item TypeMeaning
SERVICEA service was performed (facial, injection, laser treatment, etc.)
RETAIL_PRODUCTA product was sold (skincare, supplements, etc.)
MEMBERSHIP_SALEA client purchased or renewed a membership
MEMBERSHIP_REDEMPTIONA client used a membership credit to pay for a service
PACKAGE_SALEA client purchased a prepaid package
PACKAGE_REDEMPTIONA client used a session from their package
GIFT_CARD_SALEA gift card was purchased
GIFT_CARD_REDEMPTIONA gift card was used for payment
OTHERAnything that doesn't fit the above categories

How payment is recorded

Each sale record has a payment section:

  • Amount paid today — what the client paid in cash or card for this transaction
  • Benefit or discount applied — if any membership credit, package session, gift card, or discount was used
  • Benefit / credit source — which specific membership, package, or gift card was used (selected per-client)
  • Amount applied — the dollar value of the benefit or discount

Example: A facial costs $200. The client is a member and uses a membership credit that covers $150 of it. They pay $50 in cash. In Nabu:

  • Amount paid today: $50
  • Benefit applied: Membership credit
  • Amount applied: $150

This allows Nabu to correctly track both the cash collected and the total value delivered.

Payment types

When recording how a client paid, you can choose from:

TypeWhen to use
CARDCredit or debit card
CASHCash
ACHBank transfer
MEMBERSHIP_CREDITPayment via membership allowance
PACKAGE_SESSIONPayment via prepaid package session
GIFT_CARDPayment via gift card
STORE_CREDITPayment via account credit
DISCOUNT_PROMOA promotional or discount-based adjustment
COMPA comp or write-off (no payment collected)
OTHER_ADJUSTMENTAny other type of adjustment

Importing via CSV

The template

Download the Sales & Visit History template from Setup → Sales & Visit History. Fill it in with your historical data.

Key columns:

ColumnDescription
sale_dateDate in YYYY-MM-DD format (e.g., 2026-03-15)
client_nameClient full name
client_emailClient email — used for matching
provider_emailProvider email — must match the email in People & Payroll
item_typeOne of the item types listed above
service_nameName of the service — must match Setup → Services
statusCOMPLETED, CANCELLED, NO_SHOW, BOOKED, REFUNDED, etc.
payment_typeHow the client paid (CARD, CASH, MEMBERSHIP_CREDIT, etc.)
amount_paidDollar amount collected

Why provider_email is used (not provider_name)

Provider email is the identifier because names aren't unique — you might have two "Nicole"s. Email addresses are. When you import a sale with provider_email: nicole@glow.com, Nabu looks up that email in People & Payroll and links the sale to the matching provider.

Make sure the emails match. If the email in your CSV doesn't match any provider email in Setup, the sale will import but won't be linked to a provider. You'll see a warning during import: "Provider email not found in People & Payroll."

Import order matters

Before importing sales history, make sure these are already set up:

  1. Providers (with email addresses) — Sales reference providers by email
  2. Services — Sales reference services by name
  3. Clients — Optional, but helps with matching

If you import sales before setting up providers or services, you'll get matching warnings. You can re-import after setting those up.

Validation and warnings

When you upload a CSV, Nabu validates it before importing. You'll see:

  • Errors (red) — data that can't be imported (e.g., missing required field, invalid date format)
  • Warnings (yellow) — data that can be imported but won't be fully linked (e.g., provider not found, service not found)

Review warnings carefully. A warning doesn't stop the import, but it means some records won't have full financial attribution.

Adding sales manually

If you need to add individual sales records — for example, a recent sale you want to add without re-importing the whole history — use the "Add Sale" button in the Sales & Visit History section.

The manual form walks you through:

Sale tab

  • Date of the sale
  • Client (searched from your client list)
  • Service or item type
  • Which service was performed
  • Provider (searched from your provider list)

Payment tab

  • Amount the client paid
  • Payment method
  • Any benefit, credit, or discount applied
  • If a membership credit, package session, or gift card was used — select the specific membership/package for the client, or the gift card by card code when known

The manual form keeps memberships and packages tied to the selected client. Gift cards are different: they are transferable stored value, so the redeemer does not have to be the original purchaser. When a card code is missing or unclear, Nabu stages the row for gift card review instead of guessing.

What to do with cancelled and no-show appointments

Keep them in your data. Nabu tracks:

  • Cancellations — affect revenue projections and provider utilization
  • No-shows — can indicate retention issues for specific clients
  • Refunds — adjust revenue totals and margin calculations

Removing these records would make your data look better than it is, which makes the forecasting and retention tools less accurate.

How far back should I import?

The more history you import, the more reliable your trend analysis. Recommended:

  • Minimum: 3 months of completed appointments
  • Recommended: 12 months (full year covers seasonal patterns)
  • Ideal: 24+ months (captures year-over-year trends)

Don't worry if you can only get 3 months — Nabu works with what you have and becomes more accurate as more data comes in.

Confirming this section

Once you've imported your sales history (or connected via API), confirm this section. This is typically the last setup step.

Next: Going Live →

On this page