Invoice & Stock Management – User Manual

Invoice & Stock Management

Create professional invoices linked to patient visits, automatically track stock, and manage your clinic's entire billing workflow in one place.

🧾 3-Step Invoices 📦 Live Stock Tracking 📊 Tax Invoice Support 📋 Full Audit Trail 📄 PDF Export ✨ Auto-Load from Cases
📋

Overview

Invoice & Stock Management is fully connected to Case Management, Lab Management, and Indoor Patient records. When you create an invoice you link it to a real patient visit — pet and owner details are pulled in automatically, no re-typing needed. If the visit was a case with recorded treatment items, those items are pre-loaded onto the invoice for you to review and confirm.

Stock levels update on their own whenever an invoice is saved, edited, or deleted. Every stock movement is recorded in a full audit trail so there is always a clear record of who changed what and why.

🔗

Linked to patient visits

Each invoice is tied to a Case, Lab Report, or Indoor Patient record — patient data is always accurate and read-only.

Auto-load treatment items

When linking to a Case, treatment items recorded during the visit are automatically pre-loaded as invoice line items.

📦

Live stock deduction

Stock quantities deduct on save and restore automatically if an invoice is edited or deleted.

📊

Tax Invoice support

Enable Tax Invoice mode for per-item tax calculation and a shared clinic-wide invoice numbering format.

📄

PDF with branding

Download or share a professional invoice PDF with your clinic's letterhead and banking details included.

📋

Complete audit trail

Every stock movement — automatic or manual — is logged with name, timestamp, reason, and invoice link.

👥

User Roles & Permissions

Four roles can access Invoice & Stock Management. Permissions vary by page and by action.

Clinic Director

Full access to all pages and all actions — settings, catalog, invoices, stock, and audit log. Can delete any invoice.

Veterinarian

Can view the catalog, create and edit invoices, view and adjust stock. Can delete only invoices they created.

Para Vet

Can create and edit invoices, view and adjust stock. Cannot delete invoices or access the catalog page.

Receptionist

Can create and edit invoices, view and adjust stock. Cannot delete invoices or access the catalog page.

PermissionDirectorVeterinarianPara VetReceptionist
Create invoices
Edit any invoice
Delete invoices✅ any✅ own only
PDF & Share
Bookmark invoices
Invoice Settings page
View Services & Items Catalog page✅ (view only)
Add / Edit services & catalog items
Delete catalog items
View Current Stock
Manually adjust stock
Audit Log tab
⚠️

Veterinarians and the catalog: Veterinarians can navigate to the Services & Items Catalog page, but only the Clinic Director can actually add, edit, or delete entries. The save actions are restricted to Directors at the server level.

🗂️

The Four Pages

Invoice & Stock Management is spread across four dedicated pages, each with its own access rules.

PagePurposeWho can access
📃 InvoicesCreate, search, filter, view, edit, delete, PDF, and share invoicesDirector, Veterinarian, Para Vet, Receptionist
⚙️ Invoice SettingsConfigure clinic details, currency, tax toggle, default Terms & Conditions, and banking info printed on PDFsDirector only
🗃️ Services & Items CatalogPre-configure services and stock items searchable when building invoice line itemsDirector (full); Veterinarian (view only)
📦 Stock ManagementView live stock levels, manually adjust quantities, and review the complete audit trailDirector, Veterinarian, Para Vet, Receptionist
🆔

Invoice Number Format

Invoice numbers are generated automatically following one of two formats, depending on whether Tax Invoice mode is enabled in your clinic settings.

Tax Invoice enabled
Format: {DirectorID} – GI – {Sequence}  ·  Example: 5-GI-001
One shared sequence for the whole clinic, regardless of who creates the invoice.

Tax Invoice disabled
Format: {UserID} – I – {Sequence}  ·  Example: 12-I-001
Each staff member has their own independent sequence counter.
💡

When Tax Invoice is disabled you can type a custom invoice number in Step 2, or leave the field blank to auto-generate. When Tax Invoice is enabled, the number is always auto-generated and the field is locked — custom numbers are not permitted.

⚠️

Invoice numbers are never reused. Once assigned — even if that invoice was later deleted — the number is permanently retired. The sequence always moves forward, leaving a visible gap where deleted invoices existed.

⚙️

Invoice Settings Page

The Invoice Settings page is where the Clinic Director configures how invoices look and behave across the entire clinic. The settings here become the default for every new invoice. The page has five sections. After editing any section, click 💾 Save Settings at the bottom of the page to apply all changes.

⚠️

This page is accessible to the Clinic Director only. All other roles will see an access-denied message.

🏥

Clinic Information

These details are printed on every invoice PDF.

FieldRequired?Notes
Clinic NameRequiredDisplay name shown on invoices, e.g. Happy Paws Veterinary Clinic
Legal NameRequiredFormal legal entity name for official invoices — may differ from the display name
Mobile NumberOptionalContact number printed on the invoice
AddressOptionalFull clinic address printed on the PDF
💱

Currency Settings

Choose the currency used throughout the system and on all invoice PDFs. A live preview shows how amounts will be displayed as you make selections.

FieldNotes
CurrencySelect from: USD, EUR, GBP, INR, AUD, CAD, SGD, AED, JPY, CNY, CHF, MYR, SAR, ZAR, BRL, or Other (Custom). The symbol is set automatically when you pick a preset.
Custom Currency CodeShown only when Other (Custom) is selected. Enter the code, e.g. THB.
Custom Currency SymbolShown only when Other (Custom) is selected. Enter the symbol, e.g. ฿.
PreviewLive sample of how amounts display, e.g. ₹ 1,234.00. Updates as you change settings.
📊

Tax Settings

SettingWhat changes when enabled
Enable Tax Invoice toggleTax is calculated per line item using each item's configured rate. A Tax total row appears in the invoice summary. Invoice numbers switch to the {DirectorID}-GI-{seq} format. The Tax ID field becomes visible and required.
Tax ID / Registration NumberVisible only when Tax Invoice is on. Enter your VAT, GSTIN, or TIN — printed on every invoice PDF.
ℹ️

Tax rates are configured per item in the Services & Items Catalog. Items with a 0% tax rate produce no tax charge even when Tax Invoice mode is active.

📝

Terms & Conditions

Text saved here is automatically pre-filled in the Terms & Conditions field on every new invoice. Staff can edit it per invoice if needed — that edit only affects the single invoice and never changes the saved default.

💡

Useful content to add here: payment due date policy, late fee terms, consent statements, or standard clinic disclaimer language.

🏦

Banking Details

Banking details are printed on invoice PDFs so clients can make payments. All fields are optional.

FieldExample
Bank NameHDFC Bank
Account Number1234567890
IFSC CodeHDFC0001234
BranchAhmedabad Main
UPI IDclinicname@upi
🗃️

Services & Items Catalog

The Services & Items Catalog page is where you pre-configure everything your clinic bills for. When staff create invoices they can search this catalog and select items — rates, discounts, and tax rates all auto-fill instantly.

The page has two tabs: Services for medical and clinical services, and Stock Items for medicines, consumables, and equipment whose inventory is tracked live.

💡

Set up your catalog before creating your first invoices. Every item you configure here can be found with a quick keyword search during invoice creation, making billing much faster.

🩺

Managing Services

The Services tab holds medical procedures, consultations, and clinical services. Services are grouped by type in the display list.

⚠️

Only the Clinic Director can add, edit, or delete services. Veterinarians can view this page but cannot make changes — save actions are blocked at the server level.

Adding a service

1

Click "+ Add Service"

The inline form expands above the list.

2

Fill in the service details

Choose a type, enter a name, and optionally set rate, discount, and tax rate.

3

Click "Save Service"

The service is added to the grouped list and is now searchable when creating invoices.

Service fields

FieldRequired?Notes
Service TypeRequiredBlood Report, X-Ray, Sonography / USG, Consulting, Vaccine, Fluid Therapy, Injectable, Minor Surgery, Major Surgery, IPD, OPD, Other
Service NameRequiredSpecific name, e.g. CBC Report or Chest X-Ray
RateOptionalDefault price per unit — auto-fills when added to an invoice, always editable
Default Discount (%)OptionalPre-filled discount when this service is added to an invoice
Tax Rate (%)OptionalApplied per item only when Tax Invoice mode is active

To edit: click Edit on any row — the form opens pre-filled. To remove: click Delete (Director only).

📦

Managing Stock Items (Catalog)

The Stock Items tab defines medicines, consumables, and equipment. Each item has a live stock quantity that is tracked automatically.

⚠️

Only the Clinic Director can add, edit, or delete stock items from the catalog.

Stock item fields

FieldRequired?Notes
Item NameRequirede.g. Amoxicillin 500mg
Item TypeRequiredDrug, Surgical, Equipment, Food / Nutrition, Other
RateOptionalDefault price per unit
Default Discount (%)OptionalPre-filled discount when added to an invoice
Tax Rate (%)OptionalApplied per item when Tax Invoice mode is on
Opening Stock QtyOptionalStarting quantity when the item is first created. Defaults to 0.
Reorder LevelOptionalWhen live stock falls to or below this number, the item is flagged visually as low stock. Defaults to 0.

A search bar at the top of the tab filters items by name. Click Edit to update an item, or Delete to remove it (Director only). Deletion removes it from the catalog but preserves historical references in past invoices.

3-Step Invoice Form

Click + Add New Invoice on the Invoices page to open the full-screen 3-step form. A progress bar at the top tracks your position across steps. Each step must be completed before you can advance.

1

Step 1 — Link an ID

Enter a Case, Lab Report, or Indoor Patient ID. Pet and owner details load automatically.

2

Step 2 — Invoice Details

Set the date, confirm or type an invoice number, and review the Terms & Conditions.

3

Step 3 — Line Items & Payment

Add all billed items, review the live totals, set the status, and choose a payment method.

4

Click "Save Invoice"

The invoice is saved with a unique number. Any catalog stock items included are automatically deducted from inventory.

🔗

Step 1 – Link an ID

Every invoice must be linked to an existing patient record. Use the universal ID input — enter any supported ID and the system detects its type automatically.

Supported ID formats

2-001
Case ID
Links to a case from Case Management
2-L-001
Lab Report ID
Links to a lab report from Lab Management
2-IP-001
Indoor Patient ID
Links to an indoor patient (IPD) admission
1

Type the ID into the input field

Hyphens are optional — 2001 is automatically understood as 2-001. The system cleans and formats it for you.

2

Click "Fetch"

The system identifies the ID type and retrieves the record. Pet and owner details appear in read-only cards below.

3

Review the displayed information and click "Next →"

Cards show: Pet ID, Name, Species, Breed, Age, Sex, Weight; Owner Name, Phone, Email, Address; and the Case/Lab/Indoor Reference with Visit Date.

ℹ️

All patient and owner data on Step 1 is read-only. It is pulled directly from the source record and cannot be edited from the invoice form.

⚠️

If the ID format is not recognised, an error appears. Check that you are using the correct format for the type of record — Case ID uses 2-001, Lab uses 2-L-001, and Indoor uses 2-IP-001.

Auto-Load from Case

When you link a Case ID in Step 1, any treatment items recorded on that case during the visit are automatically retrieved and pre-loaded as line items in Step 3. This removes the need to manually re-enter items that were already documented in the case.

Items Auto-Loaded from Case
A green banner like this appears at the top of Step 3 when treatment items were found. It tells you how many items were loaded and reminds you that you can edit quantities, adjust prices, or remove items before saving.

How auto-fill works

  • All treatment items recorded on the linked case are retrieved when you click Fetch.
  • For each item, the system searches your Services & Items Catalog for a matching entry to pull in the configured rate, discount, and tax rate.
  • If the treatment item matches a catalog stock item, the stock record is linked — saving the invoice will automatically deduct that quantity from inventory.
  • If it matches a catalog service, the service's pricing is applied.
  • If no catalog match is found, the item is still added as a line item with a rate of 0 — you can fill in the price manually before saving.
💡

Pre-loaded items are fully editable. Change quantities, adjust rates, remove items you are not billing for, or add extra items — the auto-load is a convenience starting point, not a locked list.

ℹ️

Auto-load only applies when linking a Case ID. Linking a Lab Report ID does not auto-populate line items. Indoor Patient records may carry treatment data that is also pre-loaded if the IPD record contains it.

📄

Step 2 – Invoice Details

FieldRequired?Notes
Invoice NumberOptionalLeave blank to auto-generate. Custom numbers are allowed only when Tax Invoice mode is off. When Tax Invoice is on, this field is locked — the number is always auto-generated.
Invoice DateRequiredDefaults to today's date. Change it if needed.
Visit DateAuto-filledRead-only. Pulled from the linked Case, Lab Report, or Indoor Patient record.
Terms & ConditionsOptionalPre-filled from the clinic default in Invoice Settings. Editable for this invoice only — changes here do not update the saved default.
💰

Step 3 – Line Items & Payment

Step 3 is where you add all services and items being billed, review the live calculated totals, set the invoice status, and record the payment method.

FieldRequired?Notes
Line ItemsRequiredAt least one item must be added before you can save
Invoice StatusRequiredDraft, Pending, Paid, or Cancelled. Defaults to Draft.
Payment MethodOptionalCash, UPI, Net Banking, Card, Cheque, or Other
📋

Adding & Editing Line Items

The first row is added automatically when you reach Step 3 (or pre-populated if treatment items were auto-loaded from a case). Click + Add Another Item to add more rows. Click × on any row to remove it.

Fields per line item row

FieldNotes
TypeSelect the category: Vaccine, Pharmacy, Fluid Therapy, Injectable, Blood Report, Consulting, Sonography, X-Ray, Minor Surgery, Major Surgery, IPD, OPD, or Other
Item NameType to search your catalog — results appear after 2 characters. Select a result to auto-fill rate, discount, and tax rate. Or type freely for any item not in the catalog.
QtyNumber of units. Defaults to 1.
RatePrice per unit. Auto-filled from catalog when an item is selected; always editable.
Discount (%)Percentage discount for this line. Auto-filled from catalog default; editable per row.
Tax Rate (%)Visible only when Tax Invoice mode is enabled. Auto-filled from catalog; editable per row.
NotesOptional free-text note for this line item — printed on the invoice.
💡

Selecting a catalog stock item from the search dropdown links the stock record to this line. Saving the invoice will automatically deduct that quantity from the live stock count.

ℹ️

Typing a custom item name (not selected from the catalog) is perfectly valid but creates no stock link. No automatic deduction or audit entry will be generated for it.

🧮

Totals & Tax Calculation

The Summary box in Step 3 updates live as you add, edit, or remove line items.

RowFormula
SubtotalSum of (Qty × Rate) across all line items — before discount or tax
Total DiscountSum of all line item discount amounts
Total TaxShown only when Tax Invoice is enabled. Sum of (Qty × Rate − Discount) × Tax Rate % per item.
Net TotalSubtotal − Total Discount + Total Tax
📃

Invoice List

The Invoices page is your main working screen. It shows a card grid of all invoices belonging to your clinic. Each card displays: invoice number, pet name, owner name, invoice date, status badge, net total amount, and action buttons.

The page has two tabs: All Invoices (the full list) and Bookmarks (your personally starred invoices, with a count badge on the tab).

🏷️

Invoice Statuses

StatusMeaning
DraftWork in progress — not yet finalised or shared with the client
PendingInvoice issued and awaiting payment
PaidPayment received — invoice is fully settled
CancelledInvoice voided. Any stock that was deducted for this invoice is automatically restored when the status is changed to Cancelled.
✏️

View, Edit & Delete

ButtonWhat it doesWho can use it
👁 ViewRead-only popup showing the complete invoice — all line items, totals, tax breakdown, Terms & Conditions, and payment infoAll roles
✏️ EditRe-opens the 3-step form pre-filled with the invoice's existing data. All fields are editable. Stock is automatically reconciled when changes are saved.All roles
🗑 DeletePermanently removes the invoice after a confirmation prompt. Stock deducted by this invoice is restored automatically. The invoice number is permanently retired.Director (any); Veterinarian (own only); Para Vet & Receptionist: ❌
📄 PDFDownloads the invoice as a PDF to your deviceAll roles
🔗 ShareOpens the invoice PDF as a shareable link in a new browser tabAll roles
⭐ StarBookmarks the invoice to your personal Bookmarks tabAll roles
⚠️

Invoice deletion is permanent and irreversible. A confirmation prompt appears before deletion is processed. The invoice number will be permanently retired regardless.

🔽

Search & Filters

Search bar

Type to filter invoices by invoice number, owner name, or pet name. Results update 400 ms after you stop typing.

Filter popup

Click the filter button to open the filter panel. All three filters can be combined freely:

FilterOptions
StatusAll Status / Draft / Pending / Paid / Cancelled
Payment MethodAll Methods / Cash / UPI / Net Banking / Card / Cheque / Other
Date RangeFrom date → To date (filters by invoice date)

A numbered badge on the filter button shows how many filters are active. Click Clear All to reset all filters at once.

Bookmarks

Any invoice can be starred for quick personal access. Bookmarked invoices appear in the Bookmarks tab at the top of the Invoices page.

1

Click the ⭐ icon on any invoice card

The star fills and the Bookmarks tab count increases immediately.

2

Click the star again to remove the bookmark

If you are on the Bookmarks tab the card fades out and disappears. The invoice remains in All Invoices.

3

Switch to the Bookmarks tab to see all your starred invoices

All bookmarked cards appear with the full set of action buttons.

ℹ️

Bookmarks are personal per user — other staff members cannot see your bookmarks. Removing a bookmark does not affect the invoice.

📄

PDF & Share

Every saved invoice can be exported as a professional PDF. The PDF uses your clinic's branding — if a letterhead or background template has been configured, it is applied automatically.

ButtonWhat it does
📄 PDFDownloads the complete invoice as a PDF. Includes all line items, totals, tax breakdown (if applicable), Terms & Conditions, and banking details.
🔗 ShareGenerates the PDF and opens it in a new browser tab as a shareable link. The button shows a loading state (⏳) while generating. Copy the link to share with clients or colleagues.
📦

Stock Management Page

The Stock Management page is where all clinic roles can monitor live inventory levels and make manual adjustments. It has two tabs:

  • Current Stock — visible to all roles. Shows live quantities and allows manual adjustments.
  • Audit Log — visible to Clinic Director only. Complete history of every stock movement.
📊

Current Stock View

The Current Stock tab lists all active stock items with their live quantities. A search bar at the top filters by item name.

ColumnDescription
Item NameName of the stock item
TypeDrug, Surgical, Equipment, Food / Nutrition, or Other
Current Stock QtyLive quantity in stock — updates after every invoice action or manual adjustment
Reorder LevelAlert threshold. Items at or below this level are flagged as low stock.
Adjust buttonOpens the stock adjustment popup for that item
🔧

Manual Stock Adjustments

All roles can manually adjust stock — for example when a new delivery arrives or items are disposed of. Click Adjust on any row in the Current Stock table.

FieldNotes
Item (read-only)Shown for confirmation — the item being adjusted
Current Stock (read-only)Live quantity before this adjustment
Action➕ Add Stock — increases quantity (new delivery received)
➖ Subtract Stock — decreases quantity (expired or damaged items removed)
QuantityUnits to add or subtract. Minimum 1.
ReasonOptional explanation recorded in the Audit Log, e.g. "New stock received"
Preview (read-only)Shows the resulting stock level before you confirm
1

Select Add or Subtract, enter the quantity

The Preview updates to show the new stock level after the adjustment.

2

Optionally enter a reason

This note is stored in the Audit Log for full traceability.

3

Click "Confirm Adjustment"

The stock quantity updates immediately in the table. The change is logged with your name, action type, change amount, and reason.

⬇️

Automatic Stock Deduction & Restoration

Stock updates automatically in response to invoice actions — no manual adjustment needed for invoiced catalog items.

Invoice saved with stock items
Stock qty deducted
Logged as "Deduct (Invoice)"
Invoice deleted
Stock qty restored
Logged as "Restore (Delete/Update)"
Invoice edited (items changed)
Old qty restored, new qty deducted
Net change logged
ℹ️

Only line items linked to a catalog stock item trigger automatic stock changes. Free-text items typed manually without selecting from the catalog have no stock link and do not affect inventory.

📋

Audit Log

The Audit Log tab is visible only to the Clinic Director. It records every stock movement — automatic (from invoice actions) and manual (from adjustments) — with a full paper trail.

What each log entry records

ColumnWhat it shows
ItemThe stock item that was changed
Action TypeDeduct (Invoice) · Restore (Delete/Update) · Manual Add · Manual Subtract
Qty BeforeStock level immediately before the change
ChangeUnits added or removed
Qty AfterStock level immediately after the change
Changed ByName of the staff member who triggered the change
Invoice NoInvoice that triggered the change (for automatic actions)
ReasonReason text entered during a manual adjustment
Date / TimeWhen the change occurred

Filtering the Audit Log

A search bar above the table filters by item name, invoice number, or reason text. The filter button opens the log filter panel:

FilterOptions
Action TypeAll Actions / Deduct (Invoice) / Restore (Delete/Update) / Manual Add / Manual Subtract
Changed ByDropdown of all clinic staff — filter to a specific person's changes
Invoice NoEnter an invoice number to see all stock movements tied to it
Date RangeFrom date → To date

A numbered badge on the filter button shows active filter count. Click Clear All to reset all log filters at once.

FAQ

What IDs can I use when creating an invoice?

You can enter a Case ID (e.g. 2-001), a Lab Report ID (e.g. 2-L-001), or an Indoor Patient ID (e.g. 2-IP-001). The system detects the type automatically. Hyphens are optional — 2001 is understood as 2-001.

Why did line items appear automatically when I entered a Case ID?

This is the Auto-Load from Case feature. When you link a Case ID in Step 1, all treatment items recorded on that case are retrieved and pre-loaded as line items in Step 3. A green banner at the top of Step 3 confirms how many items were loaded. You can freely edit, remove, or add to these items before saving the invoice.

What is the difference between a standard invoice and a Tax Invoice?

With Tax Invoice enabled, each line item shows a tax rate column and a tax amount is calculated per item. A Tax total row appears in the invoice summary, and invoice numbers switch to the shared clinic-wide GI format (e.g. 5-GI-001). The Tax ID is also printed on the PDF. Standard invoices (Tax off) have no tax column or row and use the per-user I format.

Can I enter a custom invoice number?

Yes — but only when Tax Invoice mode is disabled. In Step 2, leave the Invoice Number field blank to auto-generate, or type your own reference. When Tax Invoice is on, the field is locked and the number is always auto-generated.

Why is the stock quantity not decreasing after I save an invoice?

Automatic deduction only happens when a line item is linked to a catalog stock item — meaning you selected it from the item search dropdown rather than typing a custom name. Free-text items have no stock link. Go to the Services & Items Catalog to confirm the item exists as a stock entry, then search for it by name in the line item field and select it from the dropdown results.

I deleted an invoice. Will the stock be restored?

Yes — automatically. Deleting an invoice immediately restores all stock quantities that were deducted when it was saved. The restoration is recorded in the Audit Log as "Restore (Delete/Update)". No manual adjustment is needed.

I cannot see the Audit Log tab on the Stock Management page. Why?

The Audit Log tab is only shown to Clinic Directors. All other roles can use the Current Stock tab and make manual adjustments, but cannot view the audit history. This is by design.

Can a Veterinarian add or edit services in the catalog?

No. Veterinarians can view the Services & Items Catalog page but only the Clinic Director can add, edit, or delete entries. The save actions are restricted to Directors and this is enforced at the server level — it cannot be bypassed from the interface.

Can I edit the Terms & Conditions on one invoice without changing the default?

Yes. The Terms & Conditions field in Step 2 is pre-filled from the default but is fully editable per invoice. Changes there only apply to that invoice. To update the default that pre-fills on all future invoices, a Director must go to Invoice Settings and update the Terms & Conditions section there.

What happens to an invoice number after that invoice is deleted?

The number is permanently retired — it will never be assigned to a new invoice. The sequence always moves forward, leaving a visible gap where the deleted invoice was. This is intentional for audit integrity.

How do I set a low stock alert for an item?

Go to the Services & Items Catalog page → Stock Items tab, and edit the item. Set the Reorder Level to the quantity at which you want to be alerted. When live stock falls to or below that number, the item is flagged visually in the Current Stock view.

My currency is not in the list. Can I use a custom one?

Yes. In Invoice Settings → Currency Settings, select Other (Custom) from the currency dropdown. Two extra fields appear: Custom Currency Code (e.g. THB) and Custom Currency Symbol (e.g. ฿). A live preview shows how amounts will display. Save settings to apply.

Can a Para Vet or Receptionist delete invoices?

No. Only Directors and Veterinarians can delete invoices — and Veterinarians can only delete invoices they personally created. Para Vets and Receptionists cannot see the delete button, and the restriction is enforced server-side so it cannot be bypassed.