People → Clients (pet owners)
Purpose
Manage the pet owners your clinic serves — individuals, farms, rescues, or any other entity that owns one or more patients. The client record is the human side of the patient → client → transaction audit chain.
See Clients vs. patients first if the terminology isn't familiar.
Regulatory basis: DEA rules require dispensing records to allow identification of the recipient. The client record is the chain that runs through the patient to the transaction.
When to use it
- First-time visit: a new owner brings their pet in; create the client record
- Updating contact info: address change, new phone number, etc.
- Soft-deleting an inactive client: hide owners who haven't been to your clinic in years (history preserved)
- Restoring a previously deleted client: an old client returns after a long absence
Walkthrough
Step 1 — Open the clients list
Navigate to /home/<your-clinic>/clients.
The list shows every active client with name, email, phone, and patient count. Use the search input to filter by name. Toggle the status filter to show inactive clients.

Step 2 — Click "Add client"
You're taken to the New Client page (/clients/new) with empty fields ready for entry. A ‹ Back to clients link returns you to the list without saving.

Step 3 — Fill in client details
Required:
- First name (1-100 chars)
- Last name (1-100 chars)
- Address line 1 (1-255 chars)
- City (1-100 chars)
- State (2-letter code, e.g.,
CA) - Postal code (1-10 chars)
Recommended:
- Email (valid format if provided)
- Phone (max 20 chars; format flexible — e.g.,
(555) 123-4567,+1-555-123-4567) - Address line 2 — apartment, suite, etc.
- Date of birth — optional; included in the ASAP export layout when present
- Status — Active (default) / Inactive
- Notes — anything else worth recording (e.g., "Always pays in cash; prefers email reminders")

Click Save. The client appears in the list and is now selectable when creating patients or filing dispensed transactions.

Step 4 — Edit a client
Use the row's Actions menu → Edit to open the Edit Client page (/clients/<id>/edit). (Clicking the client name instead opens the read-only detail page.) Every field is editable except the audit trail (created_by, created_at).
Step 5 — Soft-delete or restore
Click Actions → Delete to soft-delete (the client is hidden from active lists but their patients and transaction history are preserved). The button is Restore for already-soft-deleted clients.
Hard-delete is not available through the UI — DEA records prohibit purging clients with linked transactions.
Step 6 — View patients owned by this client
Click into a client; the patient list appears as a section in the client detail view. Each row links to the patient detail page.

Field reference
Client form
| Field | Label | Type | Required | Validation |
|---|---|---|---|---|
first_name |
First name | text | ✓ | 1-100 chars |
last_name |
Last name | text | ✓ | 1-100 chars |
date_of_birth |
Date of birth | date | optional | format YYYY-MM-DD; carried in the ASAP export layout when present |
email |
text | optional | valid email format, max 320 chars | |
phone |
Phone | text | optional | max 20 chars; flexible format |
address_line1 |
Address line 1 | text | ✓ | 1-255 chars |
address_line2 |
Address line 2 | text | optional | max 255 chars |
city |
City | text | ✓ | 1-100 chars |
state |
State | text | ✓ | exactly 2 chars (US state code) |
postal_code |
Postal code | text | ✓ | 1-10 chars |
is_active |
Status | select | ✓ | Active / Inactive; default Active |
notes |
Notes | textarea | optional | no length limit enforced |
Hidden / system fields: accountId, id, created_by, created_at, updated_at, deleted_at, deleted_by, preferences (JSON).
Edge cases
Soft-delete with active patients
If you soft-delete a client, their patients are not automatically soft-deleted — they remain visible (an "orphaned" patient with a deleted owner). Best practice:
- Transfer all patients to a different active client first (if applicable — e.g., the original owner's child takes over care)
- Then soft-delete the original client
Or:
- Soft-delete each patient first (they're no longer in active care)
- Then soft-delete the client
This keeps the active patient list clean.
Restoring a soft-deleted client with deleted patients
When you restore a client, their soft-deleted patients are not auto-restored. You'll need to restore each patient separately if you want them back in the active list. This is intentional — restoration is opt-in per record.
Email uniqueness
The form does not enforce email uniqueness across clients (two family members may share one email). If duplicate emails cause confusion, use the email as a search field — it'll show all matches.
Address PII
Pet-owner addresses are Personal Information protected by state veterinary practice acts (animal-record confidentiality) and state consumer-privacy law (CCPA/CPRA and equivalents) — not HIPAA, which does not apply to veterinary practices (see ADR-007). CS Logbook stores this data with access RLS-gated to your clinic. Don't share client lists outside your clinic without consent.
Date of birth and exports
The ASAP export layout carries a client date-of-birth field, so if you capture DOB it travels with the export and if you don't the field exports blank. The form keeps it optional and CS Logbook never blocks on it.
Whether any program you deal with needs that field is yours to confirm with the program or your own counsel. CS Logbook does not track per-state requirements and makes no claim about what any program expects.
Common mistakes
- Using a single placeholder client like "Walk-in". Don't aggregate clients. Every owner should be their own record so the audit chain is meaningful. If a true walk-in (cash payer, no follow-up) requires recordkeeping, capture their actual name and a way to contact them.
- Skipping the address. Address is required for a reason — it's part of the dispensing record per DEA rules. Don't put a placeholder like "n/a"; ask the owner.
- Confusing client and patient. The client is the human (Jane Smith). The patient is the animal (Bella). See Clients vs. patients.
- Hard-deleting via direct DB access. Don't. Use soft-delete. Hard-deleting clients with linked transactions corrupts your audit trail.
Related
- Clients vs. patients — domain model
- Patients — animals owned by clients
- Inventory → Transactions — how dispensed transactions trace through patients to clients
- Glossary § Client