Tutorial: Taking Sales and Processing Quotes

This comprehensive tutorial guides you through the complete sales workflow, from creating quotes to payment reconciliation. This is the primary revenue-generating process in the system.

Important

Critical Requirement: Every sale MUST have a valid charge code. Have your charge code ready before starting!

What You’ll Learn

By the end of this tutorial, you’ll understand:

  • The three-tier quote system (draft/saved/completed)

  • How to browse and add items to quotes

  • Charge code validation (critical accounting gate)

  • The difference between saving and processing quotes

  • How to process quotes into completed sales

  • Payment vs reconciliation (isPaid flag)

  • How to mark sales as paid for accounting

  • How to view and export sales reports

Prerequisites

Before You Start

Required:
  • Any user role (User, Manager, or Admin)

  • Valid charge code you’re authorized to use

  • Items in inventory to sell

What You’ll Need:
  • Charge code: MUST be valid (check with your department)

  • Customer information (name, email, department) - if saving quote

  • List of items and quantities needed

Important for Basic Users:
  • You can only use charge codes assigned to you

  • Check with admin which codes you’re authorized for

  • Cannot access Reports page (managers/admins only)

Estimated Time: 5-10 minutes per sale

Understanding the Sales Lifecycle

Before We Start: The Three-Tier System

The system has THREE types of quotes/sales:

1. Draft Quote (Temporary Shopping Cart)
  • Automatically created when you add first item

  • Tied to your browser session

  • Expires after 4 hours of inactivity

  • Items NOT reserved (stock can change)

  • Quick transactions, no saving needed

2. Saved Quote (Persistent, Named)
  • Explicitly saved with a name

  • Stored in database permanently

  • Can be edited, duplicated, deleted

  • Used for quotes needing approval

  • Reusable for recurring orders

3. Completed Sale (Final Transaction)
  • Result of processing a quote (draft or saved)

  • Stock immediately deducted

  • Immutable (cannot be edited)

  • Charge code validated and locked in

  • Full audit trail created

4. Paid Sale (Reconciled)
  • Completed sale marked as paid

  • isPaid flag set to true

  • Indicates accounting reconciliation complete

  • Shows in reports as paid for billing

Important

Key Distinction:

  • Completed sale = Items left stockroom (stock deducted)

  • Paid sale = Reconciled to charge code for accounting (isPaid flag)

These are SEPARATE steps!

Step 1: Navigate to Sales & Quotes

Accessing the Interface

  1. Log into LUStores

  2. Click “Sales & Quotes” in the left sidebar

  3. You’ll see the main interface with tabs: - Browse Items: Search and add items to cart - Current Quote: Manage your draft quote (shopping cart) - Saved Quotes: View persistent quotes you’ve saved - Stock Check: Overview of inventory levels

Tip

First Time? Start with the “Browse Items” tab to search for products.

Step 2: Browse and Search for Items

Finding Items to Sell

In the Browse Items tab:

  1. Search Bar: Type item name, SKU, or category - Real-time filtering as you type - Example: Type “microscope” to find all microscopes

  2. Results Show: - Item name and SKU - Current stock level (critical!) - Location (where to find it) - shown during processing - Unit price (with VAT) - Category badge - Stock status indicator:

    • 🟢 In Stock (>5 units available)

    • 🟡 Low Stock (1-5 units)

    • 🔴 Out of Stock (0 units) - cannot add to cart

Example Search Results:

Search: "microscope"

Results:
┌──────────────────────────────────────────────────────┐
│ Laboratory Microscope                                │
│ SKU: LAB-MICRO-001  |  Category: Lab Equipment      │
│ Stock: 12 pieces 🟢  |  Price: £495.00 (inc VAT)    │
│ Location: Lab Store, Shelf 3A                        │
│ [Add to Quote]                                        │
└──────────────────────────────────────────────────────┘

Understanding Stock Indicators

In Stock (Green):
  • Plenty available (>5 units or above minimum stock)

  • Safe to add to quote

Low Stock (Yellow):
  • Limited availability (1-5 units)

  • Check with manager before large orders

  • May trigger reorder

Out of Stock (Red):
  • 0 units available

  • “Add to Quote” button disabled

  • Contact manager to restock

Warning

Stock Validation: The system validates stock when you add items AND when you process the quote. Stock can change between adding and processing!

Step 3: Add Items to Your Quote

Adding Items to Draft Quote

For each item you want to sell:

  1. Enter quantity in the “Qty” field - Whole numbers for countable items (5 chairs) - Decimals for measured items (2.5 meters of cable)

  2. Click “Add to Quote” button

  3. System validates: - Is quantity available in stock? - Is quantity positive number? - Is item active?

  4. If validation passes: - Item added to your draft quote - Appears in “Current Quote” tab - Running total updates

Example Adding Item:

Item: Safety Goggles
Stock Available: 25 pieces
Price: £9.60 (inc VAT)

Enter Quantity: [10] ← Type quantity
[Add to Quote] ← Click button

✓ Item added to quote
Subtotal: £96.00 (10 × £9.60)

If Insufficient Stock:

❌ Cannot add to quote
Requested: 30 pieces
Available: 25 pieces

Please reduce quantity or contact inventory manager
What Happens:
  • Draft quote auto-created (if first item)

  • Item added with quantity and current price

  • Price snapshot taken (won’t change if item price changes later)

  • VAT calculated automatically

Continue Adding Items

Repeat Step 3 for each item:

  1. Search for next item

  2. Enter quantity

  3. Click “Add to Quote”

  4. Item appears in list

Your draft quote builds up like a shopping cart.

Step 4: Review Your Current Quote

Viewing the Quote

Click “Current Quote” tab to see:

Quote Details:
  • List of all items

  • Quantities

  • Individual prices

  • Subtotals per item

  • Running total (updates automatically)

Example Current Quote:

Current Draft Quote
═══════════════════
Created: 29/01/2025 10:30

Items (3):
┌────────────────────────┬─────────┬───────────┬────────────┐
│ Item                   │ Qty     │ Price     │ Subtotal   │
├────────────────────────┼─────────┼───────────┼────────────┤
│ Laboratory Microscope  │ 2       │ £495.00   │ £990.00    │
│ Safety Goggles         │ 10      │ £9.60     │ £96.00     │
│ Lab Coat Size M        │ 5       │ £24.00    │ £120.00    │
└────────────────────────┴─────────┴───────────┴────────────┘

Total: £1,206.00 (inc VAT)

Modifying Quantities

To change quantities:

  1. Click in quantity field

  2. Type new quantity

  3. Press Enter or click outside field

  4. Subtotal updates automatically

System re-validates against current stock.

Removing Items

To remove item from quote:

  1. Click “Remove” button next to item

  2. Item removed immediately

  3. Total recalculates

Note

Draft Quote Auto-Save: Changes are saved automatically. No need to click “Save” unless you want to create a persistent saved quote.

Step 5: Understanding Charge Codes

Why Charge Codes Matter

Danger

STOP! Before processing your quote, you MUST have a valid charge code.

Every sale requires a charge code - this is the accounting gate that links the sale to departmental budgets.

What is a Charge Code?

A charge code is an alphanumeric code that links your sale to:

  • Departmental budget: Which department is paying

  • Grant funding: Research project or sponsored work

  • Cost center: Internal cost allocation

  • Financial account: For accounting and billing

Examples:
  • “CS-2025-Q1” - Computer Science dept, Q1 budget

  • “BIO-LAB-SPRING” - Biology lab supplies, Spring semester

  • “GRANT-NHS-2024-001” - NHS research grant

Getting Your Charge Code

Basic Users:
  • You can ONLY use charge codes assigned to you

  • Contact your administrator to see which codes you have

  • Cannot use unauthorized codes (system will reject)

Managers/Admins:
  • Can use ANY charge code in the system

  • No restrictions

How to Find Your Codes:
  1. Ask your department administrator

  2. Check previous sales you’ve made (Reports page)

  3. Department finance office will have list

Charge Code Validation

When you enter a charge code, the system checks:

1. Exists: Code must be in database 2. Time Valid: Not expired (validUntil date) or not yet active (validFrom date) 3. Not on Hold: Code not temporarily frozen (budget freeze, overspent, etc.) 4. Category OK: Code allowed for item categories in your quote 5. User Authorized: You’re authorized to use this code (basic users only) 6. PIN (if required): Some codes need PIN entry

Example Validation:

Charge Code: CS-2025-Q1

✓ Code exists
✓ Valid from 01/01/2025 to 31/03/2025
✓ Not on hold
✓ No category restrictions
✓ User authorized (assigned to you)
✓ No PIN required

→ Charge code valid! ✓

Common Charge Code Errors

“Charge code does not exist”
  • Typo (codes are case-sensitive!)

  • Code not created yet

  • Contact admin

“Charge code has expired”
  • validUntil date passed

  • Request renewal or new code

“Charge code is on hold”
  • Budget freeze or approval pending

  • Check hold reason in error message

  • Use alternative code or wait for release

“This charge code cannot be used for these items”
  • Category exclusion rule

  • Example: Can’t use “Office Supplies” code for IT equipment

  • Use appropriate code for item category

“You are not authorized to use this charge code”
  • Code restricted to certain users

  • Contact admin to request access

Tip

Pro Tip: Keep a list of your authorized charge codes handy. Saves time and prevents errors!

Step 6: Choose Your Path

You now have TWO options:

Option A: Save Quote for Later

When to use:
  • Quote needs approval before purchase

  • Recurring order you’ll reuse

  • Not ready to complete sale yet

  • Want to keep quote for reference

What happens:
  • Quote saved to database with name

  • Can edit/delete/duplicate later

  • No stock deduction

  • Can process into sale anytime

Go to Step 7A (Saving Quotes)

Option B: Process Quote into Sale Now

When to use:
  • Ready to complete transaction immediately

  • Items leaving stockroom now

  • Have charge code and authorization

What happens:
  • Stock immediately deducted

  • Sale becomes immutable

  • Charge code validated

  • Full audit trail created

Go to Step 7B (Processing Quotes)

Important

Decide Carefully! Processing a quote is irreversible. Stock is deducted immediately and cannot be undone (only refunded).

Step 7A: Saving a Quote (Option A)

Creating a Persistent Quote

  1. In “Current Quote” tab, click “Save Quote” button

  2. Fill in quote details:

    Quote Name (required):
    • Descriptive name for easy finding

    • Example: “Biology Lab Equipment - Spring 2025”

    Customer Information:
    • Name: Customer or department name

    • Email: Contact email (optional)

    • Department: Department or project name

    Notes (optional):
    • Purpose of quote

    • Special instructions

    • Approval status

  3. Click “Save” button

Example Save Quote Form:

Save Quote
══════════
Quote Name: Biology Lab Spring Equipment

Customer Details:
Name: Dr. Sarah Smith
Email: s.smith@university.ac.uk
Department: Molecular Biology

Notes: Equipment for MB201 practical sessions
       Approved by Head of Department

[Cancel]  [Save Quote]

What Happens

  • Quote saved to database

  • Appears in “Saved Quotes” tab

  • Draft quote cleared from current session

  • Stock NOT deducted (items still available for others)

  • Can process into sale later

Viewing Saved Quotes:

  1. Click “Saved Quotes” tab

  2. See list of all your saved quotes

  3. Options for each quote: - View: See details - Edit: Modify items or details - Duplicate: Create copy - Delete: Remove quote - Process: Convert to sale (see Step 7B)

Step 7B: Processing a Quote into a Sale (Option B)

Danger

CRITICAL STEP: This is irreversible! Stock will be deducted immediately. Double-check everything before proceeding.

The Processing Workflow

Step 7B-1: Enter Charge Code

  1. In “Current Quote” tab, find “Charge Code” field

  2. Enter your charge code (example: “CS-2025-Q1”)

  3. System validates code (see Step 5)

  4. Wait for validation confirmation

Validation Feedback:

Charge Code: [CS-2025-Q1___________]

Validating... ⏳

✓ Charge code valid!
Ready to process quote.

If Validation Fails:

❌ Charge code error:
"This charge code has expired (valid until 31/12/2024)"

Please use a current charge code or contact your
department administrator.

Step 7B-2: Final Review

Before clicking “Process Quote”, verify:

Pre-Process Checklist:
☐ All items correct?
☐ Quantities accurate?
☐ Charge code valid?
☐ Ready for stock deduction?
☐ Customer details (if needed) entered?

Step 7B-3: Click “Process Quote”

  1. Click “Process Quote” button

  2. Confirmation dialog appears:

⚠ Confirm Sale Processing

This will:
- Create completed sale (immutable)
- Deduct stock immediately
- Charge to: CS-2025-Q1
- Total: £1,206.00

This action cannot be undone.

[Cancel]  [Confirm Process]
  1. Click “Confirm Process”

Step 7B-4: Processing Happens (Atomic Transaction)

The system performs (all or nothing):

1. Creates Sale Record:
  • Generates unique sale ID: S202501291345

  • Status: completed

  • isPaid: false (payment reconciliation comes later)

  • Charge code: Locked in

  • Processed by: Your user ID

  • Timestamp: Current date/time

2. Creates Sale Item Snapshots:
  • Each item captured with: * Item name, SKU (immutable snapshot) * Unit price at time of sale * VAT rate at time of sale * Quantity sold * Location (for picking list) * Unit (measurement type)

3. Deducts Stock:
  • Each item’s currentStock reduced

  • Example: 12 pieces → 10 pieces (sold 2)

4. Creates Stock Movement Records (Audit Trail):
  • Type: ‘out’ (stock leaving)

  • Previous stock → New stock

  • Reason: “Sale #S202501291345”

  • Performed by: Your user ID

  • Timestamp: Exact time

5. Clears Draft Quote:
  • Draft quote removed from session

  • Ready for next transaction

Example Stock Movement Created:

Item: Laboratory Microscope (SKU: LAB-MICRO-001)

Stock Movement Record:
───────────────────────
Type: out
Previous Stock: 12 pieces
New Stock: 10 pieces
Quantity Sold: 2 pieces
Reason: "Sale #S202501291345"
Performed By: user@university.ac.uk
Timestamp: 29/01/2025 13:45:32

Step 7B-5: Confirmation

Understanding Location and Unit Information

When you process a quote, the system captures location and unit information for each item:

Location Field:
  • Shows where item is physically stored

  • Example: “Lab Store, Shelf 3A, Bin 12”

  • Included in picking lists (printable)

  • Helps staff locate items quickly

Unit Field:
  • Shows measurement type

  • Example: “pieces”, “meters”, “kilograms”

  • Prevents quantity confusion

  • Example: “2.5 meters” vs “2.5 pieces”

Printing Picking List:

  1. Click “Print Picking List” after processing

  2. PDF generated with: - Sale ID and date - Customer details - Item list WITH locations - Quantities and units - Instructions for staff

Example Picking List:

╔════════════════════════════════════════════════════╗
║        PICKING LIST - SALE #S202501291345          ║
╠════════════════════════════════════════════════════╣
║ Date: 29/01/2025 13:45                             ║
║ Processed By: user@university.ac.uk                ║
║ Charge Code: CS-2025-Q1                            ║
╠════════════════════════════════════════════════════╣
║                                                    ║
║ ITEMS TO PICK:                                     ║
║                                                    ║
║ ☐ Laboratory Microscope (SKU: LAB-MICRO-001)       ║
║   Quantity: 2 pieces                               ║
║   Location: Lab Store, Shelf 3A, Bin 05           ║
║                                                    ║
║ ☐ Safety Goggles (SKU: SAFE-GOGG-001)             ║
║   Quantity: 10 pieces                              ║
║   Location: Safety Equipment Room, Shelf 1B        ║
║                                                    ║
║ ☐ Lab Coat Size M (SKU: LAB-COAT-M)               ║
║   Quantity: 5 pieces                               ║
║   Location: Clothing Storage, Rack 3               ║
║                                                    ║
║ Total Value: £1,206.00                             ║
╚════════════════════════════════════════════════════╝

Tip

For Staff: Use the picking list to collect items from storage. Check off each item as you pick it.

Step 8: Understanding Payment Reconciliation

Sale Completed vs Sale Paid

After processing (Step 7B), your sale is completed but not yet paid.

What This Means:

Completed Sale (status = 'completed', isPaid = false):
  • ✓ Items have physically left the stockroom

  • ✓ Stock deducted from inventory

  • ✓ Charge code recorded

  • ❌ NOT yet reconciled for accounting/billing

Paid Sale (isPaid = true):
  • ✓ All of the above

  • PLUS: Accounting reconciliation complete

  • ✓ Charge code billing finalized

  • ✓ Shows in “Paid” reports for invoicing

Why Separate?:

  1. Workflow: Physical distribution happens immediately, accounting reconciliation happens later (days/weeks)

  2. Approval: Sales may need management approval before marking as paid

  3. Billing Cycle: Month-end reconciliation, inter-departmental billing

  4. Audit Trail: Clear separation between inventory movement and financial settlement

Who Marks Sales as Paid?

Basic Users: Cannot mark as paid (no access to Reports page)

Managers/Admins: Mark sales as paid during reconciliation

Typical Workflow:
  1. Day 1: User processes sale (completed, unpaid)

  2. Day 5: Manager reviews sales in Reports

  3. Day 7: Manager marks sale as paid after reconciliation

Step 9: Marking a Sale as Paid (Managers/Admins Only)

Note

Basic users: Skip this step. Only managers and admins can mark sales as paid.

When to Mark as Paid

Mark a sale as paid when:
  • You’ve reconciled it to the charge code budget

  • Accounting has approved the transaction

  • Ready for inter-departmental billing

  • Month-end reconciliation complete

Accessing Sales Reports

  1. Navigate to Reports page (sidebar)

  2. You’ll see sales report interface

Filtering for Unpaid Sales

To find sales needing reconciliation:

  1. Set filter: “Payment Status: Unpaid Only”

  2. Optional filters: - Charge Code: Specific code - Date Range: Start and end dates - User: Who created the sale

  3. Click “Apply Filters”

Example Filter:

Filters:
├─ Payment Status: Unpaid Only ✓
├─ Charge Code: CS-2025-Q1
├─ Date Range: 01/01/2025 - 31/01/2025
└─ User: All users

Results: 8 unpaid sales

Marking Individual Sale as Paid

For each sale to reconcile:

  1. Locate sale in the list

  2. Click “Mark as Paid” button next to sale

  3. Confirmation dialog appears:

Mark Sale as Paid

Sale ID: S202501291345
Date: 29/01/2025
Total: £1,206.00
Charge Code: CS-2025-Q1

This marks the sale as reconciled for accounting.

[Cancel]  [Confirm Mark as Paid]
  1. Click “Confirm Mark as Paid”

What Happens:
  • isPaid flag set to true

  • Sale shows in “Paid” filter

  • Available for billing reports

  • Stock NOT affected (already deducted when sale was completed)

Bulk Marking as Paid

To mark multiple sales as paid at once:

  1. Select checkboxes next to sales

  2. Click “Mark Selected as Paid” button (top of list)

  3. Confirm bulk action

Useful for: Month-end reconciliation of all sales for a charge code

Step 10: Viewing and Exporting Sales Reports

Sales Report Features

The Reports page provides:

Filters:
  • Charge code

  • Date range

  • Payment status (all, paid, unpaid)

  • User who created sale

Grouping:
  • By Charge Code: See totals per charge code

  • By Date: Daily/weekly/monthly summaries

  • By User: Who’s creating sales

Export Options:
  • CSV: For spreadsheet analysis

  • Excel (XLSX): Formatted with totals

  • PDF: Printable reports

Viewing Charge Code Summaries

To see spending by charge code:

  1. Select “Group by Charge Code” option

  2. Report shows totals per code

Example Output:

Sales Report - Grouped by Charge Code
Period: 01/01/2025 - 31/01/2025

Charge Code: CS-2025-Q1
─────────────────────────
Total Sales: 15
Total Amount: £12,450.00
Paid: 12 sales (£10,200.00)
Unpaid: 3 sales (£2,250.00)

Charge Code: BIO-LAB-SPRING
────────────────────────────
Total Sales: 8
Total Amount: £8,930.00
Paid: 8 sales (£8,930.00)
Unpaid: 0 sales (£0.00)

Exporting to Excel

  1. Apply desired filters

  2. Click “Export to Excel” button

  3. File downloads: sales-report-20250129.xlsx

Excel File Contains:
  • Sale ID, Date, User

  • Customer details

  • Items with quantities and prices

  • Subtotals and VAT

  • Charge code

  • Payment status

  • Totals by charge code (if grouped)

Use For:
  • Charge code billing

  • Financial reconciliation

  • Department budget tracking

  • Inter-departmental invoicing

Common Scenarios and Tips

Scenario 1: Customer Changed Mind

Before Processing:
  • Just remove items from draft quote or delete saved quote

  • No impact on stock

After Processing (sale completed):
  • Cannot “undo” a sale

  • Use refund workflow (contact admin)

  • Refund returns items to stock with note

Scenario 2: Wrong Charge Code Used

Problem: Processed sale with wrong charge code

Solution:
  • Cannot change charge code after processing

  • Contact admin to: * Refund original sale * Create new sale with correct charge code

  • Add notes explaining the correction

Prevention: Always double-check charge code before clicking “Process Quote”!

Scenario 3: Recurring Monthly Sales

Best Practice: Save quote as template

  1. Create quote with all items

  2. Save quote with name: “Monthly Lab Supplies - Template”

  3. Each month: - Find saved quote - Click “Duplicate” - Modify quantities if needed - Process with current month’s charge code

Scenario 4: Large Orders Need Approval

Workflow:

  1. Create quote and add all items

  2. Save quote (don’t process yet!)

  3. Name it clearly: “Large Order - Pending Approval - £5,000”

  4. Email manager: “Quote saved, please review”

  5. Manager reviews saved quote

  6. When approved, manager processes quote with charge code

Troubleshooting

Common Issues

“Cannot add item - insufficient stock”
  • Check current stock level

  • Reduce quantity or wait for restock

  • Contact manager to create purchase order

“Charge code validation failed”
  • See “Common Charge Code Errors” in Step 5

  • Verify code spelling (case-sensitive!)

  • Check code validity dates

  • Contact admin if authorized user issue

“Cannot process quote - items no longer in stock”
  • Stock changed since you added items

  • Someone else sold same items

  • Review quote and remove out-of-stock items

  • Or reduce quantities to available amounts

“Cannot access Reports page”
  • Basic users don’t have access to Reports

  • Only managers and admins can mark sales as paid

  • Contact manager for sales reporting needs

“Draft quote disappeared”
  • Draft quotes expire after 4 hours

  • Session ended (logged out)

  • Use “Save Quote” feature for persistent quotes

Next Steps

After Completing This Tutorial

You now know:
  • ✓ Three-tier quote system (draft/saved/completed)

  • ✓ How to browse and add items

  • ✓ Charge code validation (critical!)

  • ✓ Difference between saving and processing

  • ✓ How to process quotes into sales

  • ✓ Payment vs reconciliation (isPaid)

  • ✓ How to mark sales as paid (managers/admins)

  • ✓ How to export sales reports

Related Tutorials:
Related Guides:
Need Help?

Quick Reference Card

Sales Workflow Checklist

CREATING A SALE:
□ Navigate to Sales & Quotes
□ Browse and search for items
□ Add items to quote (draft cart)
□ Review quantities and totals
□ Have charge code ready!
□ Enter and validate charge code
□ Review pre-process checklist
□ Click "Process Quote"
□ Confirm processing
□ Print picking list (if needed)

RECONCILIATION (Managers/Admins):
□ Navigate to Reports page
□ Filter for unpaid sales
□ Review sale details
□ Click "Mark as Paid"
□ Confirm action
□ Export reports for billing

Key Reminders

Concept

Remember

Draft Quote

Expires in 4 hours, use for quick sales

Saved Quote

Persistent, reusable, no stock impact

Completed Sale

Stock deducted, immutable, charge code locked

Paid Sale

Accounting reconciled (isPaid = true)

Charge Code

REQUIRED for all sales, validated 6 ways

Processing

Irreversible! Double-check first

Location/Unit

Shown on picking lists for staff

Reconciliation

Managers/admins mark as paid in Reports