Beyond financial data, Lupa's analytics tables let you report on your client base, patient population, and product inventory. Need to find all active clients on a health plan? Export a list of deceased patients for records? Check stock levels and margins across your product catalogue? The Clients, Pets, and Products (Inventory) data sources in Analytics β Tables give you direct access to these records with full filtering, grouping, and export capabilities.
π‘ In short: Use Clients for client contact and account data, Pets for patient records and demographics, and Products (Inventory) for stock levels, pricing, and margins. All three are live snapshots β no time range needed.
Choosing the Right Data Source
"I want to know..." | Use this source | Why |
How many active clients do we have? | Clients | Filter out archived clients and count the remainder |
Which clients have an outstanding balance? | Clients | Sort or filter by the Balance column |
How many pets are on a health plan? | Pets | Filter Health Plan Status to active plans |
What breeds do we see most? | Pets | Group by Breed and count rows |
Which products are running low? | Products | Sort by Quantity ascending to find low-stock items |
What are our highest-margin products? | Products | Sort by Margin descending |
Which clients opted out of marketing? | Clients | Filter GDPR Opt-in or Platform Comms Opt-in columns |
How many cats vs dogs do we have registered? | Pets | Group by Species and count |
π‘ Unlike the financial data sources (Payments, Invoices, Invoiced Items, Finance), these three data sources are live snapshots β they show the current state of all records, not a time-filtered window. There is no time range selector for Clients, Pets, or Products.
Clients
The Clients data source shows every client registered in your practice, with contact details, account balance, health plan status, communication preferences, and referral information.
π How to access: Go to Analytics β Tables, click Create New Table (or open an existing clients table), and select Clients as the data source.
Available columns
Column | What it shows |
ID | Unique client identifier |
Name | Client's full name |
Client ID | Numeric client reference number |
Primary email address | |
Phone | Primary phone number |
Address | Postal address |
Registered At | Date the client was first registered |
Referral Company | Which company referred this client (if applicable) |
Balance | Current account balance β positive means the client owes money, negative means they have credit |
GDPR Opt-in | Whether the client consented to marketing communications under GDPR |
Platform Comms Opt-in | Whether the client opted in to receive platform notifications (e.g. reminders, booking confirmations) |
Tags | Any tags applied to the client record |
Comms Preferences | Client's preferred communication channels |
Secondary Parent | Name, phone, and email of a secondary contact (e.g. partner, family member) |
Alternative Contacts | Additional contact names, phones, and emails |
Archived | Whether the client record has been archived |
Store | Primary practice location |
Referral Source | How the client found the practice (e.g. Google, word of mouth, walk-in) |
Health Plan / Started On / Status / Status Reason | Health plan name, start date, current status (e.g. Active, Cancelled, Pending), and reason for status changes β all subscription statuses are shown, not just active ones |
Billing Address | Separate billing address if different from main address |
Common use cases
Active client count β filter Archived to "false", count rows
Outstanding balances β filter Balance > 0, sort descending to find the biggest debtors
Health plan uptake β filter Health Plan Status to "Active" to count pets or clients on a current plan; the column also shows cancelled, pending, and other statuses so you can see the full picture of plan enrolment
Marketing compliance β filter GDPR Opt-in to "true" to see how many clients you can contact for campaigns
Referral analysis β group by Referral Source to see which channels bring in the most clients
Client export for mailshots β show Name, Email, and Phone columns, filter by tags or health plan, export to CSV
Pets
The Pets data source shows every patient registered in your practice, with species, breed, microchip, health plan, primary vet, and owner information.
Available columns
Column | What it shows |
ID | Unique pet identifier |
Name | Pet's name |
Pet ID | Numeric pet reference number |
Client / Client ID | Owner's name and numeric ID |
Owner's email address | |
Species | Animal species (e.g. Dog, Cat, Rabbit) |
Breed | Breed name |
Sex | Male, Female, or Unknown |
Microchip / Microchip Location | Microchip number and where it's implanted |
Neutered / Neutered Date | Whether the pet is neutered and when |
Deceased / Deceased Date | Whether the pet is marked as deceased and the date |
Date of Birth | Pet's date of birth |
Registered At | When the pet was first registered |
Insurer / Policy Holder Number | Insurance company and policy number |
Height | Pet's height (for equine or large animal practices) |
Food Producing Animal | Whether the animal is a food-producing species (compliance flag) |
Tags | Tags applied to the pet record |
Archived | Whether the pet record has been archived |
Address | Address associated with the pet |
Store | Practice location |
Health Plan / Started On / Status / Status Reason | Health plan details β name, enrolment date, current status (e.g. Active, Cancelled, Pending), and reason for any changes β all subscription statuses are shown, not just active ones |
Primary Vet | Referring vet's name, practice name, email, and phone |
Common use cases
Species breakdown β group by Species, count rows to see your patient mix (e.g. 60% dogs, 30% cats, 10% other)
Breed popularity β group by Breed, count and sort descending
Health plan enrolment β filter Health Plan Status to "Active" to see how many pets are currently covered; use other status values (e.g. Cancelled) to review lapsed enrolments
Microchip compliance β filter Microchip to empty/null to find pets without a recorded microchip
Deceased patient records β filter Deceased to "true" for end-of-life record keeping
Insurance coverage β filter Insurer to non-empty to see which pets have insurance and with whom
Neutering rates β group by Species, then filter Neutered to see the percentage neutered per species
Products (Inventory)
The Products data source shows your complete product catalogue with pricing, stock levels, margins, supplier information, and discount tiers. This is the data source to use for inventory analysis and procurement planning.
π This data source appears as "Inventory" in the Data Source dropdown.
Available columns
Column | What it shows |
Name | Product name |
Price | Selling price per unit |
Quantity | Current stock quantity on hand |
Measure Unit | Unit of measurement (e.g. ml, tablets, vials, each) |
Stock Value | Total value of stock on hand at selling price (Price Γ Quantity) |
Stock Cost | Total cost of stock on hand at procurement price |
Procurement Cost | What you pay the supplier per unit |
Margin | Profit margin β the difference between selling price and procurement cost |
Category | Product category (e.g. Medication, Vaccine, Consumable, Food) |
Dispensing Fee | Additional dispensing fee charged on top of the product price |
VAT Percentage | VAT rate applied to this product |
Discount 1 / Discount 2 / Discount 3 | Up to three discount tiers configured for this product |
Archived | Whether the product is archived (no longer in active use) |
Tags | Tags applied to the product |
Supplier / Supplier Code | Linked supplier name and their product code |
Store | Practice location where this stock is held |
Common use cases
Low stock alert β sort by Quantity ascending, filter Archived to "false" to find items running low
High-margin products β sort by Margin descending to identify your most profitable items
Stock valuation β sum the Stock Value column for a total inventory value, or group by Category for a breakdown
Supplier analysis β group by Supplier to see how many products you source from each and their total stock value
Price review β show Price, Procurement Cost, and Margin side by side to spot products with thin margins that may need repricing
VAT audit β group by VAT Percentage to verify the correct rate is applied to each category
Procurement planning β export low-stock items to CSV and share with your procurement team or supplier
Tips for Non-Financial Reporting
β Best practices from practices that run Lupa:
Remember that Clients, Pets, and Products are live snapshots β there's no time range to set. You always see the current state of all records
Filter out Archived records in every table unless you specifically need to see them β archived records can skew counts
Use the Tags column to create targeted reports (e.g. "VIP clients", "aggressive patients", "controlled drugs")
For health plan reporting, combine Clients (to see client-level plan status) with Pets (to see pet-level plan status) in separate tables β both now show all statuses including cancelled and pending, so filter to the status you need
Export client contact lists to CSV for campaigns, but always filter by GDPR Opt-in = true first to stay compliant
Create a saved "Low Stock" table with Products sorted by Quantity β check it weekly before placing orders
Frequently Asked Questions
Why is there no time range for Clients, Pets, and Products?
Why is there no time range for Clients, Pets, and Products?
These data sources show the current state of your records, not transactions over time. A client doesn't "happen" on a date the way a payment does β they exist as a record. The table always shows all current records. If you need to see clients registered in a specific period, show the Registered At column and filter it manually.
How do I find clients who haven't visited recently?
How do I find clients who haven't visited recently?
The Clients data source doesn't include a "last visit" column directly. For this, use the Invoices or Invoiced Items data source in a separate table, group by Client, and check the most recent Date Invoiced. See for details on those data sources.
Can I see which pets belong to which client?
Can I see which pets belong to which client?
Yes. The Pets data source includes a Client column showing the owner's name and a Client ID column. You can group by Client to see all pets for each owner.
How do I check if a product's margin is healthy?
How do I check if a product's margin is healthy?
Open a Products table and show the Price, Procurement Cost, and Margin columns side by side. Products where the margin is close to zero or negative need attention β either the selling price needs to increase or you need to find a cheaper supplier.
Can I combine client and financial data in one table?
Can I combine client and financial data in one table?
Each table uses a single data source. To cross-reference, create two tables β one from Clients and one from Invoices β and export both to CSV. You can combine them in Excel or Google Sheets using Client ID as the common key.
What does "Food Producing Animal" mean on the Pets table?
What does "Food Producing Animal" mean on the Pets table?
This flag indicates whether the animal is classified as a food-producing species (e.g. livestock on a mixed practice). It's a regulatory compliance field β certain medications cannot be used on food-producing animals, and this flag helps your vets stay compliant.


